Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4699)

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/ChromeActivityTest.java

Issue 2840933004: Add ChromeTabbedActivityTestRules for JUnit4 instrumentation tests (Closed)
Patch Set: add TODO Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/android/javatests/src/org/chromium/chrome/browser/compositor/CompositorVisibilityTest.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/javatests/src/org/chromium/chrome/browser/ChromeActivityTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/ChromeActivityTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/ChromeActivityTest.java
index 075956f7a8c75d9e4cd34f41c278d1821427c4af..90962a2fe3bfb34a570cffa91a3aa889b418f09d 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/ChromeActivityTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/ChromeActivityTest.java
@@ -4,16 +4,27 @@
package org.chromium.chrome.browser;
+import android.support.test.InstrumentationRegistry;
import android.support.test.filters.MediumTest;
import android.support.test.filters.SmallTest;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
import org.chromium.base.ThreadUtils;
+import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.RetryOnFailure;
import org.chromium.chrome.browser.device.DeviceClassManager;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tabmodel.ChromeTabCreator;
import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType;
-import org.chromium.chrome.test.ChromeTabbedActivityTestBase;
+import org.chromium.chrome.test.ChromeActivityTestRule;
+import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
+import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.net.test.EmbeddedTestServer;
@@ -22,21 +33,27 @@ import java.util.concurrent.Callable;
/**
* Instrumentation tests for ChromeActivity.
*/
-public class ChromeActivityTest extends ChromeTabbedActivityTestBase {
+@RunWith(ChromeJUnit4ClassRunner.class)
+@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE,
+ ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG})
+public class ChromeActivityTest {
+ @Rule
+ public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule();
+
private static final String FILE_PATH = "/chrome/test/data/android/test.html";
private EmbeddedTestServer mTestServer;
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- mTestServer = EmbeddedTestServer.createAndStartServer(getInstrumentation().getContext());
+ @Before
+ public void setUp() throws Exception {
+ mActivityTestRule.startMainActivityOnBlankPage();
+ mTestServer = EmbeddedTestServer.createAndStartServer(
+ InstrumentationRegistry.getInstrumentation().getContext());
}
- @Override
- protected void tearDown() throws Exception {
- mTestServer.stopAndDestroyServer();
- super.tearDown();
+ @After
+ public void tearDown() throws Exception {
+ if (mTestServer != null) mTestServer.stopAndDestroyServer();
}
/**
@@ -44,6 +61,7 @@ public class ChromeActivityTest extends ChromeTabbedActivityTestBase {
* and that it receives the show() call when the activity is started again. This is a regression
* test for http://crbug.com/319804 .
*/
+ @Test
@MediumTest
@RetryOnFailure
public void testTabVisibility() {
@@ -53,7 +71,8 @@ public class ChromeActivityTest extends ChromeTabbedActivityTestBase {
@Override
public void run() {
// Foreground tab.
- ChromeTabCreator tabCreator = getActivity().getCurrentTabCreator();
+ ChromeTabCreator tabCreator =
+ mActivityTestRule.getActivity().getCurrentTabCreator();
tabs[0] = tabCreator.createNewTab(
new LoadUrlParams(mTestServer.getURL(FILE_PATH)),
TabLaunchType.FROM_CHROME_UI, null);
@@ -65,70 +84,68 @@ public class ChromeActivityTest extends ChromeTabbedActivityTestBase {
});
// Verify that the front tab is in the 'visible' state.
- assertFalse(tabs[0].isHidden());
- assertTrue(tabs[1].isHidden());
+ Assert.assertFalse(tabs[0].isHidden());
+ Assert.assertTrue(tabs[1].isHidden());
// Fake sending the activity to background.
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
- getActivity().onPause();
+ mActivityTestRule.getActivity().onPause();
}
});
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
- getActivity().onStop();
+ mActivityTestRule.getActivity().onStop();
}
});
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
- getActivity().onWindowFocusChanged(false);
+ mActivityTestRule.getActivity().onWindowFocusChanged(false);
}
});
// Verify that both Tabs are hidden.
- assertTrue(tabs[0].isHidden());
- assertTrue(tabs[1].isHidden());
+ Assert.assertTrue(tabs[0].isHidden());
+ Assert.assertTrue(tabs[1].isHidden());
// Fake bringing the activity back to foreground.
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
- getActivity().onWindowFocusChanged(true);
+ mActivityTestRule.getActivity().onWindowFocusChanged(true);
}
});
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
- getActivity().onStart();
+ mActivityTestRule.getActivity().onStart();
}
});
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
- getActivity().onResume();
+ mActivityTestRule.getActivity().onResume();
}
});
// Verify that the front tab is in the 'visible' state.
- assertFalse(tabs[0].isHidden());
- assertTrue(tabs[1].isHidden());
+ Assert.assertFalse(tabs[0].isHidden());
+ Assert.assertTrue(tabs[1].isHidden());
}
+ @Test
@SmallTest
public void testTabAnimationsCorrectlyEnabled() {
boolean animationsEnabled = ThreadUtils.runOnUiThreadBlockingNoException(
new Callable<Boolean>() {
@Override
public Boolean call() throws Exception {
- return getActivity().getLayoutManager().animationsEnabled();
+ return mActivityTestRule.getActivity()
+ .getLayoutManager()
+ .animationsEnabled();
}
});
- assertEquals(animationsEnabled, DeviceClassManager.enableAnimations());
- }
-
- @Override
- public void startMainActivity() throws InterruptedException {
- startMainActivityOnBlankPage();
+ Assert.assertEquals(animationsEnabled, DeviceClassManager.enableAnimations());
}
}
« no previous file with comments | « no previous file | chrome/android/javatests/src/org/chromium/chrome/browser/compositor/CompositorVisibilityTest.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698