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

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

Issue 2244223002: Determine whether to show "Add to Homescreen" dialog or WebAPK infobar (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merge branch 'master' into webapk_dialog_detector Created 4 years, 4 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/webapps/AddToHomescreenDialogTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenDialogTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenDialogTest.java
index 24485e8c5fa0f281d388545adc7fd8a905d762a0..75a4e00b448419539f176cc2f6e8ff3a630e5645 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenDialogTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenDialogTest.java
@@ -4,6 +4,7 @@
package org.chromium.chrome.browser.webapps;
+import android.app.Activity;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.test.suitebuilder.annotation.SmallTest;
@@ -12,6 +13,7 @@ import org.chromium.base.ThreadUtils;
import org.chromium.base.test.util.Feature;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeActivity;
+import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.test.ChromeActivityTestCaseBase;
/**
@@ -19,10 +21,20 @@ import org.chromium.chrome.test.ChromeActivityTestCaseBase;
* that the calling the show() method actually shows the dialog and checks that
* some expected elements inside the dialog are present.
*
- * This is mostly intended as a smoke test because the dialog isn't used in
- * Chromium for the moment.
+ * This is mostly intended as a smoke test.
*/
public class AddToHomescreenDialogTest extends ChromeActivityTestCaseBase<ChromeActivity> {
+ private static class MockAddToHomescreenManager extends AddToHomescreenManager {
+ public MockAddToHomescreenManager(Activity activity, Tab tab) {
+ super(activity, tab);
+ }
+
+ @Override
+ public void addShortcut(String userRequestedTitle) {}
+ @Override
+ public void onDismissed() {}
+ }
+
public AddToHomescreenDialogTest() {
super(ChromeActivity.class);
}
@@ -38,19 +50,21 @@ public class AddToHomescreenDialogTest extends ChromeActivityTestCaseBase<Chrome
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
- assertNull(AddToHomescreenDialog.getCurrentDialogForTest());
+ AddToHomescreenDialog dialog =
+ new AddToHomescreenDialog(new MockAddToHomescreenManager(
+ getActivity(), getActivity().getActivityTab()));
+ dialog.show(getActivity());
- AddToHomescreenDialog.show(getActivity(), getActivity().getActivityTab());
- AlertDialog dialog = AddToHomescreenDialog.getCurrentDialogForTest();
- assertNotNull(dialog);
+ AlertDialog alertDialog = dialog.getAlertDialogForTesting();
+ assertNotNull(alertDialog);
- assertTrue(dialog.isShowing());
+ assertTrue(alertDialog.isShowing());
- assertNotNull(dialog.findViewById(R.id.spinny));
- assertNotNull(dialog.findViewById(R.id.icon));
- assertNotNull(dialog.findViewById(R.id.text));
- assertNotNull(dialog.getButton(DialogInterface.BUTTON_POSITIVE));
- assertNotNull(dialog.getButton(DialogInterface.BUTTON_NEGATIVE));
+ assertNotNull(alertDialog.findViewById(R.id.spinny));
+ assertNotNull(alertDialog.findViewById(R.id.icon));
+ assertNotNull(alertDialog.findViewById(R.id.text));
+ assertNotNull(alertDialog.getButton(DialogInterface.BUTTON_POSITIVE));
+ assertNotNull(alertDialog.getButton(DialogInterface.BUTTON_NEGATIVE));
}
});
}

Powered by Google App Engine
This is Rietveld 408576698