| 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() {
|
|
|