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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageUtilsTest.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/OfflinePageUtilsTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageUtilsTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageUtilsTest.java
index 307e7e94198a8a63dfa62f4efed70387be731171..fa4c93ea64c6530b21af1be72cfcf730de6e13f8 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageUtilsTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageUtilsTest.java
@@ -5,19 +5,29 @@
package org.chromium.chrome.browser.offlinepages;
import android.content.Context;
+import android.support.test.InstrumentationRegistry;
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.Callback;
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.snackbar.SnackbarManager.SnackbarController;
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.content.browser.test.util.Criteria;
import org.chromium.content.browser.test.util.CriteriaHelper;
@@ -32,8 +42,15 @@ import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
/** Unit tests for {@link OfflinePageUtils}. */
-@CommandLineFlags.Add({"enable-features=OfflineBookmarks", "enable-features=OfflinePagesSharing"})
-public class OfflinePageUtilsTest extends ChromeActivityTestCaseBase<ChromeActivity> {
+@RunWith(ChromeJUnit4ClassRunner.class)
+@CommandLineFlags.Add({"enable-features=OfflineBookmarks", "enable-features=OfflinePagesSharing",
+ ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE,
+ ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG})
+public class OfflinePageUtilsTest {
+ @Rule
+ public ChromeActivityTestRule<ChromeActivity> mActivityTestRule =
+ new ChromeActivityTestRule<>(ChromeActivity.class);
+
private static final String TEST_PAGE = "/chrome/test/data/android/about.html";
private static final int TIMEOUT_MS = 5000;
private static final ClientId BOOKMARK_ID =
@@ -42,13 +59,9 @@ public class OfflinePageUtilsTest extends ChromeActivityTestCaseBase<ChromeActiv
private OfflinePageBridge mOfflinePageBridge;
private EmbeddedTestServer mTestServer;
- public OfflinePageUtilsTest() {
- 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
@@ -74,15 +87,15 @@ public class OfflinePageUtilsTest extends ChromeActivityTestCaseBase<ChromeActiv
}
}
});
- assertTrue(semaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS));
+ Assert.assertTrue(semaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS));
- mTestServer = EmbeddedTestServer.createAndStartServer(getInstrumentation().getContext());
+ mTestServer = EmbeddedTestServer.createAndStartServer(
+ InstrumentationRegistry.getInstrumentation().getContext());
}
- @Override
- protected void tearDown() throws Exception {
+ @After
+ public void tearDown() throws Exception {
mTestServer.stopAndDestroyServer();
- super.tearDown();
}
/**
@@ -132,11 +145,7 @@ public class OfflinePageUtilsTest extends ChromeActivityTestCaseBase<ChromeActiv
}
}
- @Override
- public void startMainActivity() throws InterruptedException {
- startMainActivityOnBlankPage();
- }
-
+ @Test
@SmallTest
@RetryOnFailure
public void testShowOfflineSnackbarIfNecessary() throws Exception {
@@ -158,19 +167,22 @@ public class OfflinePageUtilsTest extends ChromeActivityTestCaseBase<ChromeActiv
}
});
String testUrl = mTestServer.getURL(TEST_PAGE);
- loadUrl(testUrl);
+ mActivityTestRule.loadUrl(testUrl);
- int tabId = getActivity().getActivityTab().getId();
+ int tabId = mActivityTestRule.getActivity().getActivityTab().getId();
// Act. This needs to be called from the UI thread.
ThreadUtils.runOnUiThread(new Runnable() {
@Override
public void run() {
- OfflinePageTabObserver offlineObserver =
- new OfflinePageTabObserver(getActivity().getTabModelSelector(),
- getActivity().getSnackbarManager(), mockSnackbarController);
- OfflinePageTabObserver.setObserverForTesting(getActivity(), offlineObserver);
- OfflinePageUtils.showOfflineSnackbarIfNecessary(getActivity().getActivityTab());
+ OfflinePageTabObserver offlineObserver = new OfflinePageTabObserver(
+ mActivityTestRule.getActivity().getTabModelSelector(),
+ mActivityTestRule.getActivity().getSnackbarManager(),
+ mockSnackbarController);
+ OfflinePageTabObserver.setObserverForTesting(
+ mActivityTestRule.getActivity(), offlineObserver);
+ OfflinePageUtils.showOfflineSnackbarIfNecessary(
+ mActivityTestRule.getActivity().getActivityTab());
// Pretend that we went online, this should cause the snackbar to show.
// This call will set the isConnected call to return true.
@@ -185,13 +197,13 @@ public class OfflinePageUtilsTest extends ChromeActivityTestCaseBase<ChromeActiv
mockSnackbarController.waitForSnackbarControllerToFinish();
// Assert snackbar was shown.
- assertEquals(tabId, mockSnackbarController.getLastTabId());
- assertTrue(mockSnackbarController.getDismissed());
+ Assert.assertEquals(tabId, mockSnackbarController.getLastTabId());
+ Assert.assertTrue(mockSnackbarController.getDismissed());
}
private void loadPageAndSave() throws Exception {
String testUrl = mTestServer.getURL(TEST_PAGE);
- loadUrl(testUrl);
+ mActivityTestRule.loadUrl(testUrl);
savePage(SavePageResult.SUCCESS, testUrl);
}
@@ -203,21 +215,22 @@ public class OfflinePageUtilsTest extends ChromeActivityTestCaseBase<ChromeActiv
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
- mOfflinePageBridge.savePage(getActivity().getActivityTab().getWebContents(),
+ mOfflinePageBridge.savePage(
+ mActivityTestRule.getActivity().getActivityTab().getWebContents(),
BOOKMARK_ID, new SavePageCallback() {
@Override
public void onSavePageDone(
int savePageResult, String url, long offlineId) {
- assertEquals(
+ Assert.assertEquals(
"Requested and returned URLs differ.", expectedUrl, url);
- assertEquals(
+ Assert.assertEquals(
"Save result incorrect.", expectedResult, savePageResult);
semaphore.release();
}
});
}
});
- assertTrue(semaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS));
+ Assert.assertTrue(semaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS));
}
private List<OfflinePageItem> getAllPages() throws InterruptedException {
@@ -235,10 +248,11 @@ public class OfflinePageUtilsTest extends ChromeActivityTestCaseBase<ChromeActiv
});
}
});
- assertTrue(semaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS));
+ Assert.assertTrue(semaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS));
return result;
}
+ @Test
@SmallTest
@RetryOnFailure
public void testCopyToShareableLocation() throws Exception {
@@ -255,21 +269,23 @@ public class OfflinePageUtilsTest extends ChromeActivityTestCaseBase<ChromeActiv
// Clear the directory before copying the file.
clearSharedOfflineFilesAndWait();
- File offlineSharingDir =
- OfflinePageUtils.getDirectoryForOfflineSharing(getActivity().getBaseContext());
- assertTrue("Offline sharing directory should exist.", offlineSharingDir != null);
+ File offlineSharingDir = OfflinePageUtils.getDirectoryForOfflineSharing(
+ mActivityTestRule.getActivity().getBaseContext());
+ Assert.assertTrue("Offline sharing directory should exist.", offlineSharingDir != null);
File offlinePageShareable = new File(offlineSharingDir, offlinePageOriginal.getName());
- assertFalse("File with the same name should not exist.", offlinePageShareable.exists());
+ Assert.assertFalse(
+ "File with the same name should not exist.", offlinePageShareable.exists());
- assertTrue("Should be able to copy file to shareable location.",
+ Assert.assertTrue("Should be able to copy file to shareable location.",
OfflinePageUtils.copyToShareableLocation(
offlinePageOriginal, offlinePageShareable));
- assertEquals("File copy result incorrect", offlinePageOriginal.length(),
+ Assert.assertEquals("File copy result incorrect", offlinePageOriginal.length(),
offlinePageShareable.length());
}
+ @Test
@SmallTest
public void testDeleteSharedOfflineFiles() throws Exception {
// Save an offline page.
@@ -282,15 +298,15 @@ public class OfflinePageUtilsTest extends ChromeActivityTestCaseBase<ChromeActiv
File offlinePageOriginal = new File(offlinePageFilePath);
- final Context context = getActivity().getBaseContext();
+ final Context context = mActivityTestRule.getActivity().getBaseContext();
final File offlineSharingDir = OfflinePageUtils.getDirectoryForOfflineSharing(context);
- assertTrue("Should be able to create subdirectory in shareable directory.",
+ Assert.assertTrue("Should be able to create subdirectory in shareable directory.",
(offlineSharingDir != null));
File offlinePageShareable = new File(offlineSharingDir, offlinePageOriginal.getName());
if (!offlinePageShareable.exists()) {
- assertTrue("Should be able to copy file to shareable location.",
+ Assert.assertTrue("Should be able to copy file to shareable location.",
OfflinePageUtils.copyToShareableLocation(
offlinePageOriginal, offlinePageShareable));
}
@@ -300,7 +316,7 @@ public class OfflinePageUtilsTest extends ChromeActivityTestCaseBase<ChromeActiv
}
private void clearSharedOfflineFilesAndWait() {
- final Context context = getActivity().getBaseContext();
+ final Context context = mActivityTestRule.getActivity().getBaseContext();
final File offlineSharingDir = OfflinePageUtils.getDirectoryForOfflineSharing(context);
ThreadUtils.runOnUiThread(new Runnable() {
@Override

Powered by Google App Engine
This is Rietveld 408576698