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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/banners/AppBannerManagerTest.java

Issue 1473173004: Change the test tab load observer to print a clearer error message. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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/banners/AppBannerManagerTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/banners/AppBannerManagerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/banners/AppBannerManagerTest.java
index 1c6f37be979eff73f6518b5d0628143da0ef8a95..6daf7c15071331d0c054f6b9b73f937e2f070e67 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/banners/AppBannerManagerTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/banners/AppBannerManagerTest.java
@@ -23,6 +23,7 @@ import android.widget.TextView;
import org.chromium.base.ThreadUtils;
import org.chromium.base.test.util.Feature;
import org.chromium.chrome.R;
+import org.chromium.chrome.browser.ShortcutHelper;
import org.chromium.chrome.browser.infobar.AnimationHelper;
import org.chromium.chrome.browser.infobar.AppBannerInfoBarAndroid;
import org.chromium.chrome.browser.infobar.AppBannerInfoBarDelegateAndroid;
@@ -161,6 +162,12 @@ public class AppBannerManagerTest extends ChromeTabbedActivityTestBase {
mPackageManager = new TestPackageManager();
AppBannerManager.setIsEnabledForTesting(true);
AppBannerInfoBarDelegateAndroid.setPackageManagerForTesting(mPackageManager);
+ ShortcutHelper.setDelegateForTests(new ShortcutHelper.Delegate() {
+ @Override
+ public void sendBroadcast(Context context, Intent intent) {
+ // Ignore to prevent adding homescreen shortcuts.
+ }
+ });
super.setUp();
@@ -221,8 +228,7 @@ public class AppBannerManagerTest extends ChromeTabbedActivityTestBase {
private void runFullNativeInstallPathway(String url, String expectedReferrer) throws Exception {
// Visit a site that requests a banner.
- assertTrue(CriteriaHelper.pollForUIThreadCriteria(
- new TabLoadObserver(getActivity().getActivityTab(), url)));
+ new TabLoadObserver(getActivity().getActivityTab(), url).assertLoaded();
assertTrue(waitUntilAppDetailsRetrieved(1));
assertEquals(mDetailsDelegate.mReferrer, expectedReferrer);
assertTrue(waitUntilNoInfoBarsExist());
@@ -232,8 +238,7 @@ public class AppBannerManagerTest extends ChromeTabbedActivityTestBase {
final InfobarListener listener = new InfobarListener();
container.setAnimationListener(listener);
AppBannerManager.setTimeDeltaForTesting(1);
- assertTrue(CriteriaHelper.pollForUIThreadCriteria(
- new TabLoadObserver(getActivity().getActivityTab(), url)));
+ new TabLoadObserver(getActivity().getActivityTab(), url).assertLoaded();
assertTrue(waitUntilAppDetailsRetrieved(2));
assertTrue(waitUntilAppBannerInfoBarAppears(NATIVE_APP_TITLE));
assertTrue(CriteriaHelper.pollForUIThreadCriteria(new Criteria() {
@@ -295,48 +300,41 @@ public class AppBannerManagerTest extends ChromeTabbedActivityTestBase {
@Feature({"AppBanners"})
public void testBannerAppearsThenDoesNotAppearAgainForMonths() throws Exception {
// Visit a site that requests a banner.
- assertTrue(CriteriaHelper.pollForUIThreadCriteria(
- new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL)));
+ new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL).assertLoaded();
assertTrue(waitUntilAppDetailsRetrieved(1));
assertTrue(waitUntilNoInfoBarsExist());
// Indicate a day has passed, then revisit the page.
AppBannerManager.setTimeDeltaForTesting(1);
- assertTrue(CriteriaHelper.pollForUIThreadCriteria(
- new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL)));
+ new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL).assertLoaded();
assertTrue(waitUntilAppDetailsRetrieved(2));
assertTrue(waitUntilAppBannerInfoBarAppears(NATIVE_APP_TITLE));
// Revisit the page to make the banner go away, but don't explicitly dismiss it.
// This hides the banner for a few months.
- assertTrue(CriteriaHelper.pollForUIThreadCriteria(
- new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL)));
+ new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL).assertLoaded();
assertTrue(waitUntilAppDetailsRetrieved(3));
assertTrue(waitUntilNoInfoBarsExist());
// Wait a month until revisiting the page.
AppBannerManager.setTimeDeltaForTesting(31);
- assertTrue(CriteriaHelper.pollForUIThreadCriteria(
- new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL)));
+ new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL).assertLoaded();
assertTrue(waitUntilAppDetailsRetrieved(4));
assertTrue(waitUntilNoInfoBarsExist());
AppBannerManager.setTimeDeltaForTesting(32);
- assertTrue(CriteriaHelper.pollForUIThreadCriteria(
- new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL)));
+ new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL).assertLoaded();
assertTrue(waitUntilAppDetailsRetrieved(5));
assertTrue(waitUntilNoInfoBarsExist());
// Wait two months until revisiting the page, which should pop up the banner.
AppBannerManager.setTimeDeltaForTesting(61);
- assertTrue(CriteriaHelper.pollForUIThreadCriteria(
- new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL)));
+ new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL).assertLoaded();
assertTrue(waitUntilAppDetailsRetrieved(6));
assertTrue(waitUntilNoInfoBarsExist());
AppBannerManager.setTimeDeltaForTesting(62);
- assertTrue(CriteriaHelper.pollForUIThreadCriteria(
- new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL)));
+ new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL).assertLoaded();
assertTrue(waitUntilAppDetailsRetrieved(7));
assertTrue(waitUntilAppBannerInfoBarAppears(NATIVE_APP_TITLE));
}
@@ -345,8 +343,7 @@ public class AppBannerManagerTest extends ChromeTabbedActivityTestBase {
@Feature({"AppBanners"})
public void testBlockedBannerDoesNotAppearAgainForMonths() throws Exception {
// Visit a site that requests a banner.
- assertTrue(CriteriaHelper.pollForUIThreadCriteria(
- new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL)));
+ new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL).assertLoaded();
assertTrue(waitUntilAppDetailsRetrieved(1));
assertTrue(waitUntilNoInfoBarsExist());
@@ -355,8 +352,7 @@ public class AppBannerManagerTest extends ChromeTabbedActivityTestBase {
final InfobarListener listener = new InfobarListener();
container.setAnimationListener(listener);
AppBannerManager.setTimeDeltaForTesting(1);
- assertTrue(CriteriaHelper.pollForUIThreadCriteria(
- new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL)));
+ new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL).assertLoaded();
assertTrue(waitUntilAppDetailsRetrieved(2));
assertTrue(waitUntilAppBannerInfoBarAppears(NATIVE_APP_TITLE));
@@ -374,27 +370,23 @@ public class AppBannerManagerTest extends ChromeTabbedActivityTestBase {
// Waiting two months shouldn't be long enough.
AppBannerManager.setTimeDeltaForTesting(61);
- assertTrue(CriteriaHelper.pollForUIThreadCriteria(
- new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL)));
+ new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL).assertLoaded();
assertTrue(waitUntilAppDetailsRetrieved(3));
assertTrue(waitUntilNoInfoBarsExist());
AppBannerManager.setTimeDeltaForTesting(62);
- assertTrue(CriteriaHelper.pollForUIThreadCriteria(
- new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL)));
+ new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL).assertLoaded();
assertTrue(waitUntilAppDetailsRetrieved(4));
assertTrue(waitUntilNoInfoBarsExist());
// Waiting three months should allow banners to reappear.
AppBannerManager.setTimeDeltaForTesting(91);
- assertTrue(CriteriaHelper.pollForUIThreadCriteria(
- new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL)));
+ new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL).assertLoaded();
assertTrue(waitUntilAppDetailsRetrieved(5));
assertTrue(waitUntilNoInfoBarsExist());
AppBannerManager.setTimeDeltaForTesting(92);
- assertTrue(CriteriaHelper.pollForUIThreadCriteria(
- new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL)));
+ new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL).assertLoaded();
assertTrue(waitUntilAppDetailsRetrieved(6));
assertTrue(waitUntilAppBannerInfoBarAppears(NATIVE_APP_TITLE));
}
@@ -404,8 +396,7 @@ public class AppBannerManagerTest extends ChromeTabbedActivityTestBase {
public void testBitmapFetchersCanOverlapWithoutCrashing() throws Exception {
// Visit a site that requests a banner rapidly and repeatedly.
for (int i = 1; i <= 10; i++) {
- assertTrue(CriteriaHelper.pollForUIThreadCriteria(
- new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL)));
+ new TabLoadObserver(getActivity().getActivityTab(), NATIVE_APP_URL).assertLoaded();
final Integer iteration = Integer.valueOf(i);
assertTrue(CriteriaHelper.pollForUIThreadCriteria(new Criteria() {
@@ -422,8 +413,7 @@ public class AppBannerManagerTest extends ChromeTabbedActivityTestBase {
public void testWebAppBannerAppears() throws Exception {
// Visit the site in a new tab.
loadUrlInNewTab("about:blank");
- assertTrue(CriteriaHelper.pollForUIThreadCriteria(
- new TabLoadObserver(getActivity().getActivityTab(), WEB_APP_URL)));
+ new TabLoadObserver(getActivity().getActivityTab(), WEB_APP_URL).assertLoaded();
assertTrue(CriteriaHelper.pollForUIThreadCriteria(new Criteria() {
@Override
@@ -437,8 +427,7 @@ public class AppBannerManagerTest extends ChromeTabbedActivityTestBase {
// Indicate a day has passed, then revisit the page to show the banner.
AppBannerManager.setTimeDeltaForTesting(1);
- assertTrue(CriteriaHelper.pollForUIThreadCriteria(
- new TabLoadObserver(getActivity().getActivityTab(), WEB_APP_URL)));
+ new TabLoadObserver(getActivity().getActivityTab(), WEB_APP_URL).assertLoaded();
assertTrue(CriteriaHelper.pollForUIThreadCriteria(new Criteria() {
@Override
public boolean isSatisfied() {
@@ -459,8 +448,7 @@ public class AppBannerManagerTest extends ChromeTabbedActivityTestBase {
// Visit the site in a new tab.
loadUrlInNewTab("about:blank");
- assertTrue(CriteriaHelper.pollForUIThreadCriteria(
- new TabLoadObserver(getActivity().getActivityTab(), WEB_APP_URL)));
+ new TabLoadObserver(getActivity().getActivityTab(), WEB_APP_URL).assertLoaded();
assertTrue(CriteriaHelper.pollForUIThreadCriteria(new Criteria() {
@Override
@@ -479,8 +467,7 @@ public class AppBannerManagerTest extends ChromeTabbedActivityTestBase {
// Indicate a day has passed, then revisit the page to show the banner.
AppBannerManager.setTimeDeltaForTesting(1);
- assertTrue(CriteriaHelper.pollForUIThreadCriteria(
- new TabLoadObserver(getActivity().getActivityTab(), WEB_APP_URL)));
+ new TabLoadObserver(getActivity().getActivityTab(), WEB_APP_URL).assertLoaded();
assertTrue(CriteriaHelper.pollForUIThreadCriteria(new Criteria() {
@Override
public boolean isSatisfied() {

Powered by Google App Engine
This is Rietveld 408576698