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)); |
} |
}); |
} |