Index: chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManagerTest.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManagerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManagerTest.java |
index 00512bd2e073ecbeaaa087bcb1ba531f7272d7fc..9da48f099fdcb4340870c62f22711f2a4dfc4f7e 100644 |
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManagerTest.java |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManagerTest.java |
@@ -25,7 +25,6 @@ import android.view.ViewConfiguration; |
import org.chromium.base.ThreadUtils; |
import org.chromium.base.test.util.CommandLineFlags; |
-import org.chromium.base.test.util.DisabledTest; |
import org.chromium.base.test.util.Feature; |
import org.chromium.base.test.util.Restriction; |
import org.chromium.chrome.R; |
@@ -201,6 +200,21 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro |
} |
/** |
+ * Waits for the requested search term to match, and asserts. |
+ * @param searchTerm A given search term. |
+ */ |
+ public void waitForSearchTermToMatch( |
+ final String searchTerm) throws InterruptedException { |
+ CriteriaHelper.pollForCriteria(new Criteria("Search term never matched.") { |
+ @Override |
+ public boolean isSatisfied() { |
+ String url = mFakeServer.getLoadedUrl(); |
+ return !TextUtils.isEmpty(url) && url.contains("q=" + searchTerm); |
+ } |
+ }, TEST_TIMEOUT, DEFAULT_POLLING_INTERVAL); |
+ } |
+ |
+ /** |
* Runs the given Runnable in the main thread. |
* @param runnable The Runnable. |
*/ |
@@ -242,7 +256,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro |
private void simulateTapSearch(String nodeId) throws InterruptedException, TimeoutException { |
ContextualSearchFakeServer.FakeTapSearch search = mFakeServer.getFakeTapSearch(nodeId); |
search.simulate(); |
- assertLoadedSearchTermMatches(search.getSearchTerm()); |
+ waitForSearchTermToMatch(search.getSearchTerm()); |
waitForPanelToPeek(); |
} |
@@ -483,7 +497,8 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro |
boolean doesMatch = false; |
String message = "but there was no loaded URL!"; |
if (mFakeServer != null) { |
- doesMatch = mFakeServer.getLoadedUrl().contains("q=" + searchTerm); |
+ String url = mFakeServer.getLoadedUrl(); |
+ doesMatch = !TextUtils.isEmpty(url) && url.contains("q=" + searchTerm); |
message = "in URL: " + mFakeServer.getLoadedUrl(); |
} |
assertTrue("Expected to find searchTerm " + searchTerm + ", " + message, doesMatch); |
@@ -2287,7 +2302,6 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro |
/** |
* Tests that chained searches load correctly. |
*/ |
- @DisabledTest // https://crbug.com/551711 |
@SmallTest |
@Feature({"ContextualSearch"}) |
@Restriction({ChromeRestriction.RESTRICTION_TYPE_PHONE, RESTRICTION_TYPE_NON_LOW_END_DEVICE}) |