Index: chrome/browser/search/search_test_utils.cc |
diff --git a/chrome/browser/search/search_test_utils.cc b/chrome/browser/search/search_test_utils.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c63ab9fbb931a1c23b1af0a53df8c08aa1238cb3 |
--- /dev/null |
+++ b/chrome/browser/search/search_test_utils.cc |
@@ -0,0 +1,60 @@ |
+// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "base/logging.h" |
+#include "base/strings/utf_string_conversions.h" |
+#include "chrome/browser/search/search_test_utils.h" |
+#include "chrome/browser/search_engines/template_url.h" |
+#include "chrome/browser/search_engines/template_url_service.h" |
+#include "chrome/browser/search_engines/template_url_service_factory.h" |
+#include "chrome/test/base/ui_test_utils.h" |
+ |
+namespace search_test_utils { |
samarth
2013/08/02 21:51:15
In general, I'm all for sharing code. But given ho
Anuj
2013/08/09 07:22:00
I have introduced instant_unittest_base. The Insta
|
+ |
+void SetSearchProvider(Profile* profile) { |
+ TemplateURLService* template_url_service = |
+ TemplateURLServiceFactory::GetForProfile(profile); |
+ ui_test_utils::WaitForTemplateURLServiceToLoad(template_url_service); |
+ TemplateURLData data; |
+ data.SetURL("http://foo.com/url?bar={searchTerms}"); |
+ data.instant_url = |
+ "http://foo.com/instant?" |
+ "{google:omniboxStartMarginParameter}foo=foo#foo=foo&strk"; |
+ data.alternate_urls.push_back("http://foo.com/alt#quux={searchTerms}"); |
+ data.search_terms_replacement_key = "strk"; |
+ |
+ TemplateURL* template_url = new TemplateURL(profile, data); |
+ // Takes ownership of |template_url|. |
+ template_url_service->Add(template_url); |
+ template_url_service->SetDefaultSearchProvider(template_url); |
+} |
+ |
+// Build an Instant URL with or without a valid search terms replacement key |
+// as per |has_search_term_replacement_key|. Set that URL as the instant URL |
+// for the default search provider. |
+void SetDefaultInstantTemplateUrl(Profile* profile, |
+ bool has_search_term_replacement_key) { |
+ TemplateURLService* template_url_service = |
+ TemplateURLServiceFactory::GetForProfile(profile); |
+ ui_test_utils::WaitForTemplateURLServiceToLoad(template_url_service); |
+ |
+ static const char kInstantURLWithStrk[] = |
+ "http://foo.com/instant?foo=foo#foo=foo&strk"; |
+ static const char kInstantURLNoStrk[] = |
+ "http://foo.com/instant?foo=foo#foo=foo"; |
+ |
+ TemplateURLData data; |
+ data.short_name = ASCIIToUTF16("instafoo"); |
+ data.SetURL("http://foo.com/url?bar={searchTerms}"); |
+ data.suggestions_url = "http://foo.com/url?sug={searchTerms}"; |
+ data.instant_url = (has_search_term_replacement_key ? kInstantURLWithStrk |
+ : kInstantURLNoStrk); |
+ data.search_terms_replacement_key = "strk"; |
+ |
+ TemplateURL* template_url = new TemplateURL(profile, data); |
+ // Takes ownership of |template_url|. |
+ template_url_service->Add(template_url); |
+ template_url_service->SetDefaultSearchProvider(template_url); |
+} |
+} // namespace search_test_utils |