Index: chrome/android/javatests/src/org/chromium/chrome/browser/TabThemeTest.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/TabThemeTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/TabThemeTest.java |
index 7115e4b35c4f7fdf2ceabb2e1582ae1853520c5a..4842e1ef182a4eb0b8762496ad657ebe4c473691 100644 |
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/TabThemeTest.java |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/TabThemeTest.java |
@@ -4,16 +4,25 @@ |
package org.chromium.chrome.browser; |
+import android.support.test.InstrumentationRegistry; |
import android.support.test.filters.MediumTest; |
+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.CallbackHelper; |
+import org.chromium.base.test.util.CommandLineFlags; |
import org.chromium.base.test.util.Feature; |
import org.chromium.base.test.util.Restriction; |
import org.chromium.base.test.util.RetryOnFailure; |
import org.chromium.chrome.browser.tab.EmptyTabObserver; |
import org.chromium.chrome.browser.tab.Tab; |
-import org.chromium.chrome.test.ChromeActivityTestCaseBase; |
+import org.chromium.chrome.test.ChromeActivityTestRule; |
+import org.chromium.chrome.test.ChromeJUnit4ClassRunner; |
import org.chromium.chrome.test.util.ChromeRestriction; |
import org.chromium.net.test.EmbeddedTestServer; |
@@ -24,7 +33,13 @@ import java.util.concurrent.TimeoutException; |
/** |
* Tests related to the Tab's theme color. |
*/ |
-public class TabThemeTest extends ChromeActivityTestCaseBase<ChromeTabbedActivity> { |
+@RunWith(ChromeJUnit4ClassRunner.class) |
+@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE, |
+ ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG}) |
+public class TabThemeTest { |
+ @Rule |
+ public ChromeActivityTestRule<ChromeActivity> mActivityTestRule = |
+ new ChromeActivityTestRule<>(ChromeActivity.class); |
private static final String TEST_PAGE = "/chrome/test/data/android/simple.html"; |
private static final String THEMED_TEST_PAGE = |
@@ -59,36 +74,32 @@ public class TabThemeTest extends ChromeActivityTestCaseBase<ChromeTabbedActivit |
} |
} |
- public TabThemeTest() { |
- super(ChromeTabbedActivity.class); |
- } |
- |
- @Override |
- public void startMainActivity() throws InterruptedException { |
- startMainActivityOnBlankPage(); |
+ @Before |
+ public void setUp() throws InterruptedException { |
+ mActivityTestRule.startMainActivityOnBlankPage(); |
} |
/** |
* AssertEquals two colors as strings so the text output shows their hex value. |
*/ |
private void assertColorsEqual(int color1, int color2) { |
- assertEquals(Integer.toHexString(color1), Integer.toHexString(color2)); |
+ Assert.assertEquals(Integer.toHexString(color1), Integer.toHexString(color2)); |
} |
/** |
* Test that the toolbar has the correct color set. |
*/ |
+ @Test |
@Feature({"Toolbar-Theme-Color"}) |
@MediumTest |
@Restriction(ChromeRestriction.RESTRICTION_TYPE_PHONE) |
@RetryOnFailure |
public void testThemeColorIsCorrect() |
throws ExecutionException, InterruptedException, TimeoutException { |
- |
EmbeddedTestServer testServer = EmbeddedTestServer.createAndStartServer( |
- getInstrumentation().getContext()); |
+ InstrumentationRegistry.getInstrumentation().getContext()); |
- final Tab tab = getActivity().getActivityTab(); |
+ final Tab tab = mActivityTestRule.getActivity().getActivityTab(); |
ThemeColorWebContentsObserver colorObserver = new ThemeColorWebContentsObserver(); |
CallbackHelper themeColorHelper = colorObserver.getCallbackHelper(); |
@@ -96,12 +107,12 @@ public class TabThemeTest extends ChromeActivityTestCaseBase<ChromeTabbedActivit |
// Navigate to a themed page. |
int curCallCount = themeColorHelper.getCallCount(); |
- loadUrl(testServer.getURL(THEMED_TEST_PAGE)); |
+ mActivityTestRule.loadUrl(testServer.getURL(THEMED_TEST_PAGE)); |
themeColorHelper.waitForCallback(curCallCount, 1); |
assertColorsEqual(THEME_COLOR, tab.getThemeColor()); |
// Navigate to a native page from a themed page. |
- loadUrl("chrome://newtab"); |
+ mActivityTestRule.loadUrl("chrome://newtab"); |
// WebContents does not set theme color for native pages, so don't wait for the call. |
int nativePageThemeColor = ThreadUtils.runOnUiThreadBlocking(new Callable<Integer>() { |
@Override |
@@ -113,21 +124,21 @@ public class TabThemeTest extends ChromeActivityTestCaseBase<ChromeTabbedActivit |
// Navigate to a themed page from a native page. |
curCallCount = themeColorHelper.getCallCount(); |
- loadUrl(testServer.getURL(THEMED_TEST_PAGE)); |
+ mActivityTestRule.loadUrl(testServer.getURL(THEMED_TEST_PAGE)); |
themeColorHelper.waitForCallback(curCallCount, 1); |
assertColorsEqual(THEME_COLOR, colorObserver.getColor()); |
assertColorsEqual(THEME_COLOR, tab.getThemeColor()); |
// Navigate to a non-native non-themed page. |
curCallCount = themeColorHelper.getCallCount(); |
- loadUrl(testServer.getURL(TEST_PAGE)); |
+ mActivityTestRule.loadUrl(testServer.getURL(TEST_PAGE)); |
themeColorHelper.waitForCallback(curCallCount, 1); |
assertColorsEqual(tab.getDefaultThemeColor(), colorObserver.getColor()); |
assertColorsEqual(tab.getDefaultThemeColor(), tab.getThemeColor()); |
// Navigate to a themed page from a non-native page. |
curCallCount = themeColorHelper.getCallCount(); |
- loadUrl(testServer.getURL(THEMED_TEST_PAGE)); |
+ mActivityTestRule.loadUrl(testServer.getURL(THEMED_TEST_PAGE)); |
themeColorHelper.waitForCallback(curCallCount, 1); |
assertColorsEqual(THEME_COLOR, colorObserver.getColor()); |
assertColorsEqual(THEME_COLOR, tab.getThemeColor()); |