Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9788fbda authored by Vadim Tryshev's avatar Vadim Tryshev Committed by android-build-merger
Browse files

Merge "Test: using RuleChain to create a correct order of rules." into ub-launcher3-qt-dev

am: 8278148e

Change-Id: I764fef9315039c1272b63495c261a5ec83839220
parents 9c078a6b 8278148e
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -18,13 +18,17 @@ package com.android.quickstep;

import com.android.launcher3.ui.AbstractLauncherUiTest;

import org.junit.Rule;
import org.junit.rules.RuleChain;
import org.junit.rules.TestRule;

/**
 * Base class for all instrumentation tests that deal with Quickstep.
 */
public abstract class AbstractQuickStepTest extends AbstractLauncherUiTest {
    @Rule
    public TestRule mNavigationModeSwitcher = new NavigationModeSwitchRule(mLauncher);
    @Override
    protected TestRule getRulesInsideActivityMonitor() {
        return RuleChain.
                outerRule(new NavigationModeSwitchRule(mLauncher)).
                around(super.getRulesInsideActivityMonitor());
    }
}
+11 −6
Original line number Diff line number Diff line
@@ -65,8 +65,8 @@ import com.android.launcher3.util.rule.ShellCommandRule;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.rules.RuleChain;
import org.junit.rules.TestRule;
import org.junit.rules.TestWatcher;
import org.junit.runners.model.Statement;

import java.io.IOException;
@@ -94,7 +94,8 @@ public abstract class AbstractLauncherUiTest {

    protected MainThreadExecutor mMainThreadExecutor = new MainThreadExecutor();
    protected final UiDevice mDevice = UiDevice.getInstance(getInstrumentation());
    protected final LauncherInstrumentation mLauncher;
    protected final LauncherInstrumentation mLauncher =
            new LauncherInstrumentation(getInstrumentation());
    protected Context mTargetContext;
    protected String mTargetPackage;

@@ -105,11 +106,9 @@ public abstract class AbstractLauncherUiTest {
            throw new RuntimeException(e);
        }
        if (TestHelpers.isInLauncherProcess()) Utilities.enableRunningInTestHarnessForTests();
        mLauncher = new LauncherInstrumentation(getInstrumentation());
    }

    @Rule
    public LauncherActivityRule mActivityMonitor = new LauncherActivityRule();
    protected final LauncherActivityRule mActivityMonitor = new LauncherActivityRule();

    @Rule
    public ShellCommandRule mDefaultLauncherRule =
@@ -163,8 +162,14 @@ public abstract class AbstractLauncherUiTest {
                }
            } : base;

    protected TestRule getRulesInsideActivityMonitor() {
        return new FailureWatcher(this);
    }

    @Rule
    public TestWatcher mFailureWatcher = new FailureWatcher(this);
    public TestRule mOrderSensitiveRules = RuleChain.
            outerRule(mActivityMonitor).
            around(getRulesInsideActivityMonitor());

    public UiDevice getDevice() {
        return mDevice;