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

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

Issue 2354363007: Add unit tests for AddToHomescreenDataFetcher (Closed)
Patch Set: Merge branch 'master' into remove_unneeded_var2.9 Created 4 years, 3 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
« no previous file with comments | « no previous file | chrome/browser/android/webapps/DEPS » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenManagerTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenManagerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenManagerTest.java
index 9583be96c83350648c0abe92cf607df165272e82..cf7ccd1718fb6ea79619f4fb77e534308af6bc13 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenManagerTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenManagerTest.java
@@ -9,7 +9,6 @@ import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Environment;
-import android.test.suitebuilder.annotation.MediumTest;
import android.test.suitebuilder.annotation.SmallTest;
import org.chromium.base.ThreadUtils;
@@ -25,15 +24,12 @@ import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tabmodel.TabModel;
import org.chromium.chrome.test.ChromeActivityTestCaseBase;
import org.chromium.chrome.test.util.browser.TabLoadObserver;
-import org.chromium.chrome.test.util.browser.WebappTestPage;
-import org.chromium.content.browser.test.util.CallbackHelper;
import org.chromium.content.browser.test.util.Criteria;
import org.chromium.content.browser.test.util.CriteriaHelper;
import org.chromium.content.common.ContentSwitches;
import org.chromium.net.test.EmbeddedTestServer;
import java.util.concurrent.Callable;
-import java.util.concurrent.TimeUnit;
/**
* Tests org.chromium.chrome.browser.webapps.AddToHomescreenManager and its C++ counterpart.
@@ -120,49 +116,6 @@ public class AddToHomescreenManagerTest extends ChromeActivityTestCaseBase<Chrom
}
}
}
-
- /**
- * Test AddToHomescreenManager subclass which tracks whether the native callbacks
- * (a proxy for the AddToHomescreenDataFetcher::Observer callbacks) have been called.
- */
- private static class AddToHomescreenManagerCallbackTracker extends AddToHomescreenManager {
- public CallbackHelper mCallbackHelper;
- public boolean mDialogShown = false;
- public boolean mGotUserTitle = false;
- public boolean mReadyToAdd = false;
-
- public AddToHomescreenManagerCallbackTracker(Activity activity, Tab tab) {
- super(activity, tab);
-
- mCallbackHelper = new CallbackHelper();
-
- AddToHomescreenManager.Observer observer = new AddToHomescreenManager.Observer() {
- @Override
- public void onUserTitleAvailable(String title) {
- mGotUserTitle = true;
- mCallbackHelper.notifyCalled();
- }
-
- @Override
- public void onReadyToAdd(Bitmap icon) {
- mReadyToAdd = true;
- mCallbackHelper.notifyCalled();
- }
- };
- setObserver(observer);
- }
-
- public void waitForCallbacks(int numCallbacks, int numSecondsTimeout) throws Exception {
- mCallbackHelper.waitForCallback(0, numCallbacks, numSecondsTimeout, TimeUnit.SECONDS);
- }
-
- @Override
- public void showDialog() {
- mDialogShown = true;
- mCallbackHelper.notifyCalled();
- }
- }
-
/**
* Test AddToHomescreenManager subclass which mocks showing the add-to-homescreen dialog and
* adds the shortcut to the home screen once it is ready.
@@ -334,52 +287,6 @@ public class AddToHomescreenManagerTest extends ChromeActivityTestCaseBase<Chrom
}
}
- @MediumTest
- @Feature("{Webapp}")
- public void testAddShortcutManifestFetchTimesOutWhenWebApkEnabled() throws Exception {
- ChromeWebApkHost.initForTesting(true);
- WebappTestPage.navigateToPageWithServiceWorkerAndManifest(
- mTestServer, mTab, mTestServer.getURL("/slow?10000"));
- checkCallbacksCalledWhenAddShortcutManifestFetchTimesOut();
- }
-
- @MediumTest
- @Feature("{Webapp}")
- public void testAddShortcutManifestFetchTimesOutWhenWebApkDisabled() throws Exception {
- WebappTestPage.navigateToPageWithServiceWorkerAndManifest(
- mTestServer, mTab, mTestServer.getURL("/slow?10000"));
- checkCallbacksCalledWhenAddShortcutManifestFetchTimesOut();
- }
-
- @MediumTest
- @Feature("{Webapp}")
- public void testAddShortcutManifestFetchTimesOutWhenNotPwa() throws Exception {
- loadUrl(MANIFEST_TIMES_OUT_NO_SERVICE_WORKER_HTML, MANIFEST_TITLE);
- checkCallbacksCalledWhenAddShortcutManifestFetchTimesOut();
- }
-
- /**
- * Checks that the add-to-homescreen native callbacks are called when the Web Manifest fetch
- * times out.
- */
- public void checkCallbacksCalledWhenAddShortcutManifestFetchTimesOut() throws Exception {
- AddToHomescreenManagerCallbackTracker manager =
- new AddToHomescreenManagerCallbackTracker(mActivity, mTab);
- startManagerOnUiThread(manager);
-
- // The AddToHomescreenDataFetcher timeout fires after 4 seconds. Wait 10 seconds to ensure
- // that we do not miss the AddToHomescreenDataFetcher timeout timer firing.
- manager.waitForCallbacks(3, 10);
-
- assertTrue(manager.mDialogShown);
- // This callback enables the text field in the add-to-homescreen dialog.
- assertTrue(manager.mGotUserTitle);
- // This callback enables the "Add" button in the add-to-homescreen dialog.
- assertTrue(manager.mReadyToAdd);
-
- destroyManagerOnUiThread(manager);
- }
-
private void loadUrl(String url, String expectedPageTitle) throws Exception {
new TabLoadObserver(mTab, expectedPageTitle, null).fullyLoadUrl(url);
}
« no previous file with comments | « no previous file | chrome/browser/android/webapps/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698