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

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

Issue 2853573002: Convert ChromeTabbedActivityTestCaseBase children to JUnit4 (Closed)
Patch Set: rebase Created 3 years, 7 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
Index: chrome/android/javatests/src/org/chromium/chrome/browser/PrerenderTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/PrerenderTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/PrerenderTest.java
index 0b317f4539bac7134af72a927f1908025a39317f..45278b4606b049b9a09cfc6a581f58573bbe19c8 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/PrerenderTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/PrerenderTest.java
@@ -6,10 +6,19 @@ package org.chromium.chrome.browser;
import static org.chromium.base.test.util.Restriction.RESTRICTION_TYPE_NON_LOW_END_DEVICE;
+import android.support.test.InstrumentationRegistry;
import android.support.test.filters.LargeTest;
import android.test.MoreAsserts;
+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.DisabledTest;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.FlakyTest;
@@ -17,7 +26,9 @@ import org.chromium.base.test.util.Restriction;
import org.chromium.base.test.util.RetryOnFailure;
import org.chromium.chrome.browser.prerender.ExternalPrerenderHandler;
import org.chromium.chrome.browser.tab.Tab;
-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.chrome.test.util.PrerenderTestHelper;
import org.chromium.chrome.test.util.browser.TabTitleObserver;
import org.chromium.net.test.EmbeddedTestServer;
@@ -30,45 +41,54 @@ import java.util.concurrent.TimeoutException;
*
* Tests are disabled on low-end devices. These only support one renderer for performance reasons.
*/
-public class PrerenderTest extends ChromeTabbedActivityTestBase {
+@RunWith(ChromeJUnit4ClassRunner.class)
+@CommandLineFlags.Add({
+ ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE,
+ ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG,
+})
+public class PrerenderTest {
+ @Rule
+ public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule();
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 {
+ @After
+ public void tearDown() throws Exception {
mTestServer.stopAndDestroyServer();
- super.tearDown();
}
/**
* We are using Autocomplete Action Predictor to decide whether or not to prerender.
* Without any training data the default action should be no-prerender.
*/
+ @Test
@LargeTest
@Restriction({RESTRICTION_TYPE_NON_LOW_END_DEVICE})
@Feature({"TabContents"})
public void testNoPrerender() throws InterruptedException {
String testUrl = mTestServer.getURL(
"/chrome/test/data/android/prerender/google.html");
- final Tab tab = getActivity().getActivityTab();
+ final Tab tab = mActivityTestRule.getActivity().getActivityTab();
// Mimic user behavior: touch to focus then type some URL.
// Since this is a URL, it should be prerendered.
// Type one character at a time to properly simulate input
// to the action predictor.
- typeInOmnibox(testUrl, true);
+ mActivityTestRule.typeInOmnibox(testUrl, true);
- assertFalse("URL should not have been prerendered.",
+ Assert.assertFalse("URL should not have been prerendered.",
PrerenderTestHelper.waitForPrerenderUrl(tab, testUrl, true));
// Navigate should not use the prerendered version.
- assertEquals(TabLoadStatus.DEFAULT_PAGE_LOAD,
- loadUrlInTab(testUrl, PageTransition.TYPED | PageTransition.FROM_ADDRESS_BAR, tab));
+ Assert.assertEquals(TabLoadStatus.DEFAULT_PAGE_LOAD,
+ mActivityTestRule.loadUrlInTab(
+ testUrl, PageTransition.TYPED | PageTransition.FROM_ADDRESS_BAR, tab));
}
/*
@@ -76,14 +96,16 @@ public class PrerenderTest extends ChromeTabbedActivityTestBase {
@Restriction({RESTRICTION_TYPE_NON_LOW_END_DEVICE})
@Feature({"TabContents"})
*/
+ @Test
@FlakyTest(message = "crbug.com/339668")
public void testPrerenderNotDead() throws InterruptedException, TimeoutException {
String testUrl = mTestServer.getURL(
"/chrome/test/data/android/prerender/google.html");
- final Tab tab = getActivity().getActivityTab();
+ final Tab tab = mActivityTestRule.getActivity().getActivityTab();
PrerenderTestHelper.prerenderUrl(testUrl, tab);
// Navigate should use the prerendered version.
- assertEquals(TabLoadStatus.FULL_PRERENDERED_PAGE_LOAD, loadUrl(testUrl));
+ Assert.assertEquals(
+ TabLoadStatus.FULL_PRERENDERED_PAGE_LOAD, mActivityTestRule.loadUrl(testUrl));
// Prerender again with new text; make sure we get something different.
String newTitle = "Welcome to the YouTube";
@@ -96,24 +118,25 @@ public class PrerenderTest extends ChromeTabbedActivityTestBase {
TabTitleObserver observer = new TabTitleObserver(tab, newTitle);
// Now commit and see the new title.
- loadUrl(testUrl);
+ mActivityTestRule.loadUrl(testUrl);
observer.waitForTitleUpdate(5);
- assertEquals(newTitle, tab.getTitle());
+ Assert.assertEquals(newTitle, tab.getTitle());
}
/**
* Tests that we do get the page load finished notification even when a page has been fully
* prerendered.
*/
+ @Test
@LargeTest
@Restriction({RESTRICTION_TYPE_NON_LOW_END_DEVICE})
@Feature({"TabContents"})
@RetryOnFailure
public void testPageLoadFinishNotification() throws InterruptedException {
String url = mTestServer.getURL("/chrome/test/data/android/prerender/google.html");
- PrerenderTestHelper.prerenderUrl(url, getActivity().getActivityTab());
- loadUrl(url);
+ PrerenderTestHelper.prerenderUrl(url, mActivityTestRule.getActivity().getActivityTab());
+ mActivityTestRule.loadUrl(url);
}
/**
@@ -127,12 +150,13 @@ public class PrerenderTest extends ChromeTabbedActivityTestBase {
@Restriction({RESTRICTION_TYPE_NON_LOW_END_DEVICE})
@Feature({"TabContents"})
*/
+ @Test
@DisabledTest(message = "Prerenderer disables infobars. crbug.com/588808")
public void testInfoBarDismissed() throws InterruptedException {
final String url = mTestServer.getURL(
"/chrome/test/data/geolocation/geolocation_on_load.html");
- final ExternalPrerenderHandler handler =
- PrerenderTestHelper.prerenderUrl(url, getActivity().getActivityTab());
+ final ExternalPrerenderHandler handler = PrerenderTestHelper.prerenderUrl(
+ url, mActivityTestRule.getActivity().getActivityTab());
// Cancel the prerender. This will discard the prerendered WebContents and close the
// infobars.
@@ -143,9 +167,4 @@ public class PrerenderTest extends ChromeTabbedActivityTestBase {
}
});
}
-
- @Override
- public void startMainActivity() throws InterruptedException {
- startMainActivityOnBlankPage();
- }
}

Powered by Google App Engine
This is Rietveld 408576698