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

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

Issue 2831823003: Convert ChromeActivityTestCaseBase direct children to JUnit4 (Closed)
Patch Set: rebase and convert newly added test 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
Index: chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageRequestTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageRequestTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageRequestTest.java
index 6283b7556a9587090e917b2ebd852fd3ccee222e..da04976d8fb75c2f3e8edc38a9a9887133ff1d04 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageRequestTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageRequestTest.java
@@ -4,17 +4,26 @@
package org.chromium.chrome.browser.offlinepages;
+import android.support.test.InstrumentationRegistry;
import android.support.test.filters.SmallTest;
+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.ChromeActivity;
+import org.chromium.chrome.browser.ChromeSwitches;
import org.chromium.chrome.browser.offlinepages.OfflinePageBridge.OfflinePageModelObserver;
import org.chromium.chrome.browser.offlinepages.OfflinePageBridge.SavePageCallback;
import org.chromium.chrome.browser.profiles.Profile;
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.components.offlinepages.SavePageResult;
import org.chromium.net.NetworkChangeNotifier;
import org.chromium.net.test.EmbeddedTestServer;
@@ -23,8 +32,15 @@ import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
/** Unit tests for offline page request handling. */
-@CommandLineFlags.Add("enable-features=OfflineBookmarks")
-public class OfflinePageRequestTest extends ChromeActivityTestCaseBase<ChromeActivity> {
+@RunWith(ChromeJUnit4ClassRunner.class)
+@CommandLineFlags.Add({"enable-features=OfflineBookmarks",
+ ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE,
+ ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG})
+public class OfflinePageRequestTest {
+ @Rule
+ public ChromeActivityTestRule<ChromeActivity> mActivityTestRule =
+ new ChromeActivityTestRule<>(ChromeActivity.class);
+
private static final String TEST_PAGE = "/chrome/test/data/android/test.html";
private static final String ABOUT_PAGE = "/chrome/test/data/android/about.html";
private static final int TIMEOUT_MS = 5000;
@@ -33,13 +49,9 @@ public class OfflinePageRequestTest extends ChromeActivityTestCaseBase<ChromeAct
private OfflinePageBridge mOfflinePageBridge;
- public OfflinePageRequestTest() {
- super(ChromeActivity.class);
- }
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
+ @Before
+ public void setUp() throws Exception {
+ mActivityTestRule.startMainActivityOnBlankPage();
final Semaphore semaphore = new Semaphore(0);
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
@@ -64,38 +76,29 @@ public class OfflinePageRequestTest extends ChromeActivityTestCaseBase<ChromeAct
}
}
});
- assertTrue(semaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS));
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
- @Override
- public void startMainActivity() throws InterruptedException {
- startMainActivityOnBlankPage();
+ Assert.assertTrue(semaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS));
}
+ @Test
@SmallTest
@RetryOnFailure
public void testLoadOfflinePageOnDisconnectedNetwork() throws Exception {
EmbeddedTestServer testServer = EmbeddedTestServer.createAndStartServer(
- getInstrumentation().getContext());
+ InstrumentationRegistry.getInstrumentation().getContext());
String testUrl = testServer.getURL(TEST_PAGE);
String aboutUrl = testServer.getURL(ABOUT_PAGE);
- Tab tab = getActivity().getActivityTab();
+ Tab tab = mActivityTestRule.getActivity().getActivityTab();
// Load and save an offline page.
savePage(testUrl);
- assertFalse(isErrorPage(tab));
- assertFalse(isOfflinePage(tab));
+ Assert.assertFalse(isErrorPage(tab));
+ Assert.assertFalse(isOfflinePage(tab));
// Load another page.
- loadUrl(aboutUrl);
- assertFalse(isErrorPage(tab));
- assertFalse(isOfflinePage(tab));
+ mActivityTestRule.loadUrl(aboutUrl);
+ Assert.assertFalse(isErrorPage(tab));
+ Assert.assertFalse(isOfflinePage(tab));
// Stop the server and also disconnect the network.
testServer.stopAndDestroyServer();
@@ -107,25 +110,26 @@ public class OfflinePageRequestTest extends ChromeActivityTestCaseBase<ChromeAct
});
// Load the page that has an offline copy. The offline page should be shown.
- loadUrl(testUrl);
- assertFalse(isErrorPage(tab));
- assertTrue(isOfflinePage(tab));
+ mActivityTestRule.loadUrl(testUrl);
+ Assert.assertFalse(isErrorPage(tab));
+ Assert.assertTrue(isOfflinePage(tab));
}
+ @Test
@SmallTest
@RetryOnFailure
public void testLoadOfflinePageWithFragmentOnDisconnectedNetwork() throws Exception {
- EmbeddedTestServer testServer =
- EmbeddedTestServer.createAndStartServer(getInstrumentation().getContext());
+ EmbeddedTestServer testServer = EmbeddedTestServer.createAndStartServer(
+ InstrumentationRegistry.getInstrumentation().getContext());
String testUrl = testServer.getURL(TEST_PAGE);
String testUrlWithFragment = testUrl + "#ref";
- Tab tab = getActivity().getActivityTab();
+ Tab tab = mActivityTestRule.getActivity().getActivityTab();
// Load and save an offline page for the url with a fragment.
savePage(testUrlWithFragment);
- assertFalse(isErrorPage(tab));
- assertFalse(isOfflinePage(tab));
+ Assert.assertFalse(isErrorPage(tab));
+ Assert.assertFalse(isOfflinePage(tab));
// Stop the server and also disconnect the network.
testServer.stopAndDestroyServer();
@@ -137,31 +141,32 @@ public class OfflinePageRequestTest extends ChromeActivityTestCaseBase<ChromeAct
});
// Load the URL without the fragment. The offline page should be shown.
- loadUrl(testUrl);
- assertFalse(isErrorPage(tab));
- assertTrue(isOfflinePage(tab));
+ mActivityTestRule.loadUrl(testUrl);
+ Assert.assertFalse(isErrorPage(tab));
+ Assert.assertTrue(isOfflinePage(tab));
}
private void savePage(String url) throws InterruptedException {
- loadUrl(url);
+ mActivityTestRule.loadUrl(url);
final Semaphore semaphore = new Semaphore(0);
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
- mOfflinePageBridge.savePage(getActivity().getActivityTab().getWebContents(),
+ mOfflinePageBridge.savePage(
+ mActivityTestRule.getActivity().getActivityTab().getWebContents(),
CLIENT_ID, new SavePageCallback() {
@Override
public void onSavePageDone(
int savePageResult, String url, long offlineId) {
- assertEquals(
+ Assert.assertEquals(
"Save failed.", SavePageResult.SUCCESS, savePageResult);
semaphore.release();
}
});
}
});
- assertTrue(semaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS));
+ Assert.assertTrue(semaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS));
}
private boolean isOfflinePage(final Tab tab) {

Powered by Google App Engine
This is Rietveld 408576698