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

Unified Diff: chrome/android/javatests_shell/src/org/chromium/chrome/browser/search_engines/TemplateUrlServiceTest.java

Issue 1156423006: Add a test for ContextualSearch Query URLs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix test to not run on UI thread Created 5 years, 6 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 | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/javatests_shell/src/org/chromium/chrome/browser/search_engines/TemplateUrlServiceTest.java
diff --git a/chrome/android/javatests_shell/src/org/chromium/chrome/browser/search_engines/TemplateUrlServiceTest.java b/chrome/android/javatests_shell/src/org/chromium/chrome/browser/search_engines/TemplateUrlServiceTest.java
index c44b620e37b9b50aeadb929099ad14b226886a6c..683faa4823e3b63024bf7909069e4e44fb896cc0 100644
--- a/chrome/android/javatests_shell/src/org/chromium/chrome/browser/search_engines/TemplateUrlServiceTest.java
+++ b/chrome/android/javatests_shell/src/org/chromium/chrome/browser/search_engines/TemplateUrlServiceTest.java
@@ -4,6 +4,7 @@
package org.chromium.chrome.browser.search_engines;
+import android.net.Uri;
import android.test.suitebuilder.annotation.SmallTest;
import org.chromium.base.ThreadUtils;
@@ -15,6 +16,8 @@ import org.chromium.content.browser.test.util.Criteria;
import org.chromium.content.browser.test.util.CriteriaHelper;
import java.util.List;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
@@ -24,6 +27,18 @@ import java.util.concurrent.atomic.AtomicReference;
*/
public class TemplateUrlServiceTest extends ChromeShellTestBase {
+ private static final String QUERY_PARAMETER = "q";
+ private static final String QUERY_VALUE = "cat";
+
+ private static final String ALTERNATIVE_PARAMETER = "ctxsl_alternate_term";
+ private static final String ALTERNATIVE_VALUE = "lion";
+
+ private static final String VERSION_PARAMETER = "ctxs";
+ private static final String VERSION_VALUE = "2";
+
+ private static final String PREFETCH_PARAMETER = "pf";
+ private static final String PREFETCH_VALUE = "c";
+
@Override
public void setUp() throws Exception {
super.setUp();
@@ -32,6 +47,48 @@ public class TemplateUrlServiceTest extends ChromeShellTestBase {
}
@SmallTest
+ @Feature({"ContextualSearch"})
+ public void testUrlForContextualSearchQueryValid()
+ throws InterruptedException, ExecutionException {
+ waitForTemplateUrlServiceToLoad();
+
+ final AtomicBoolean loadedResult = new AtomicBoolean();
+ ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+ @Override
+ public void run() {
+ loadedResult.set(TemplateUrlService.getInstance().isLoaded());
+ }
+ });
+ assertTrue(loadedResult.get());
+
+ validateQuery(QUERY_VALUE, ALTERNATIVE_VALUE, true);
+ validateQuery(QUERY_VALUE, ALTERNATIVE_VALUE, false);
+ validateQuery(QUERY_VALUE, null, true);
+ validateQuery(QUERY_VALUE, null, false);
+ }
+
+ private void validateQuery(final String query, final String alternative, final boolean prefetch)
+ throws ExecutionException {
+ String result = ThreadUtils.runOnUiThreadBlocking(new Callable<String>() {
+ @Override
+ public String call() throws Exception {
+ return TemplateUrlService.getInstance()
+ .getUrlForContextualSearchQuery(query, alternative, prefetch);
+ }
+ });
+ assertNotNull(result);
+ Uri uri = Uri.parse(result);
+ assertEquals(query, uri.getQueryParameter(QUERY_PARAMETER));
+ assertEquals(alternative, uri.getQueryParameter(ALTERNATIVE_PARAMETER));
+ assertEquals(VERSION_VALUE, uri.getQueryParameter(VERSION_PARAMETER));
+ if (prefetch) {
+ assertEquals(PREFETCH_VALUE, uri.getQueryParameter(PREFETCH_PARAMETER));
+ } else {
+ assertNull(uri.getQueryParameter(PREFETCH_PARAMETER));
+ }
+ }
+
+ @SmallTest
@Feature({"SearchEngines"})
public void testLoadUrlService() throws InterruptedException {
final AtomicBoolean loadedResult = new AtomicBoolean();
@@ -61,7 +118,7 @@ public class TemplateUrlServiceTest extends ChromeShellTestBase {
final TemplateUrlService templateUrlService = waitForTemplateUrlServiceToLoad();
final AtomicInteger searchEngineIndex = new AtomicInteger();
- // Ensure known state of default search index before running teest.
+ // Ensure known state of default search index before running test.
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698