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

Unified Diff: chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/OfflinePageTabObserverTest.java

Issue 2836333004: [Offline pages] Update of OfflinePageUtils for better testability (Closed)
Patch Set: Rebasing and addressing feedback 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/junit/src/org/chromium/chrome/browser/offlinepages/OfflinePageTabObserverTest.java
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/OfflinePageTabObserverTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/OfflinePageTabObserverTest.java
index a901d2506b28b84786cb2baa46662514e68fa721..40a7c419d7849c3f4675d46ca8a752f03688b51f 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/OfflinePageTabObserverTest.java
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/OfflinePageTabObserverTest.java
@@ -7,6 +7,7 @@ package org.chromium.chrome.browser.offlinepages;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
@@ -14,6 +15,8 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
+import android.content.Context;
+
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -48,6 +51,8 @@ public class OfflinePageTabObserverTest {
@Mock private SnackbarManager mSnackbarManager;
@Mock private SnackbarController mSnackbarController;
@Mock private Tab mTab;
+ @Mock
+ private OfflinePageUtils.Internal mOfflinePageUtils;
private OfflinePageTabObserver createObserver() {
OfflinePageTabObserver observer = spy(new OfflinePageTabObserver(
@@ -56,13 +61,7 @@ public class OfflinePageTabObserverTest {
// directly mock out.
doNothing().when(observer).startObservingNetworkChanges();
doNothing().when(observer).stopObservingNetworkChanges();
- // TODO(fgorski): This call has to be mocked out until we update OfflinePageUtils.
- // It also goes to NetworkChangeNotifier from there.
- doReturn(false).when(observer).isConnected();
- doReturn(false).when(observer).isShowingOfflinePreview(any(Tab.class));
- // TODO(fgorski): This call has to be mocked out until we update OfflinePageUtils.
- doNothing().when(observer).showReloadSnackbar(any(Tab.class));
- doReturn(true).when(observer).isOfflinePage(any(Tab.class));
+
// Assert tab model observer was created.
assertTrue(observer.getTabModelObserver() != null);
return observer;
@@ -81,6 +80,16 @@ public class OfflinePageTabObserverTest {
// Setting up mock snackbar manager.
doNothing().when(mSnackbarManager).dismissSnackbars(eq(mSnackbarController));
+
+ // Setting up offline page utils.
+ OfflinePageUtils.setInstanceForTesting(mOfflinePageUtils);
+ doReturn(false).when(mOfflinePageUtils).isConnected();
+ doReturn(false).when(mOfflinePageUtils).isShowingOfflinePreview(any(Tab.class));
+ doReturn(true).when(mOfflinePageUtils).isOfflinePage(any(Tab.class));
+ doNothing()
+ .when(mOfflinePageUtils)
+ .showReloadSnackbar(any(Context.class), any(SnackbarManager.class),
+ any(SnackbarController.class), anyInt());
}
private void showTab(OfflinePageTabObserver observer) {
@@ -104,14 +113,14 @@ public class OfflinePageTabObserverTest {
}
private void connect(OfflinePageTabObserver observer, boolean notify) {
- doReturn(true).when(observer).isConnected();
+ doReturn(true).when(mOfflinePageUtils).isConnected();
if (notify) {
observer.onConnectionTypeChanged(0);
}
}
private void disconnect(OfflinePageTabObserver observer, boolean notify) {
- doReturn(false).when(observer).isConnected();
+ doReturn(false).when(mOfflinePageUtils).isConnected();
if (notify) {
observer.onConnectionTypeChanged(0);
}
@@ -130,14 +139,14 @@ public class OfflinePageTabObserverTest {
public void testStartObservingTab() {
OfflinePageTabObserver observer = createObserver();
- doReturn(false).when(observer).isOfflinePage(any(Tab.class));
+ doReturn(false).when(mOfflinePageUtils).isOfflinePage(any(Tab.class));
observer.startObservingTab(mTab);
assertFalse(observer.isObservingNetworkChanges());
assertFalse(observer.isObservingTab(mTab));
verify(observer, times(0)).showReloadSnackbar(any(Tab.class));
- doReturn(true).when(observer).isOfflinePage(any(Tab.class));
+ doReturn(true).when(mOfflinePageUtils).isOfflinePage(any(Tab.class));
observer.startObservingTab(mTab);
assertTrue(observer.isObservingNetworkChanges());
@@ -171,7 +180,7 @@ public class OfflinePageTabObserverTest {
OfflinePageTabObserver observer = createObserver();
observer.startObservingTab(mTab);
- doReturn(true).when(observer).isConnected();
+ doReturn(true).when(mOfflinePageUtils).isConnected();
observer.onPageLoadFinished(mTab);
verify(observer, times(1)).showReloadSnackbar(any(Tab.class));
@@ -267,7 +276,7 @@ public class OfflinePageTabObserverTest {
hideTab(null);
observer.startObservingTab(mTab);
- doReturn(true).when(observer).isShowingOfflinePreview(mTab);
+ doReturn(true).when(mOfflinePageUtils).isShowingOfflinePreview(mTab);
observer.onPageLoadFinished(mTab);
verify(observer, times(0)).showReloadSnackbar(any(Tab.class));
@@ -400,7 +409,7 @@ public class OfflinePageTabObserverTest {
verify(mSnackbarManager, times(1)).dismissSnackbars(eq(mSnackbarController));
// URL updated and tab no longer shows offline page.
- doReturn(false).when(observer).isOfflinePage(any(Tab.class));
+ doReturn(false).when(mOfflinePageUtils).isOfflinePage(any(Tab.class));
observer.onUrlUpdated(mTab);
assertFalse(observer.isObservingTab(mTab));
@@ -432,7 +441,7 @@ public class OfflinePageTabObserverTest {
observer.onPageLoadFinished(mTab);
// URL updated and tab no longer shows offline page.
- doReturn(false).when(observer).isOfflinePage(any(Tab.class));
+ doReturn(false).when(mOfflinePageUtils).isOfflinePage(any(Tab.class));
observer.onUrlUpdated(mTab);
assertFalse(observer.isObservingTab(mTab));

Powered by Google App Engine
This is Rietveld 408576698