Chromium Code Reviews| Index: chrome/browser/search_engines/template_url_unittest.cc |
| diff --git a/chrome/browser/search_engines/template_url_unittest.cc b/chrome/browser/search_engines/template_url_unittest.cc |
| index 5882e5dc0212425cca145b54d301530a14a84381..9f17c550af9c2559c4f06a86c927c6c5b0c1afd7 100644 |
| --- a/chrome/browser/search_engines/template_url_unittest.cc |
| +++ b/chrome/browser/search_engines/template_url_unittest.cc |
| @@ -4,6 +4,7 @@ |
| #include "base/base_paths.h" |
| #include "base/command_line.h" |
| +#include "base/metrics/field_trial.h" |
| #include "base/strings/string_number_conversions.h" |
| #include "base/strings/string_util.h" |
| #include "base/strings/utf_string_conversions.h" |
| @@ -11,8 +12,10 @@ |
| #include "chrome/browser/rlz/rlz.h" |
| #include "chrome/browser/search_engines/search_terms_data.h" |
| #include "chrome/browser/search_engines/template_url.h" |
| +#include "chrome/browser/search/search.h" |
| #include "chrome/common/chrome_switches.h" |
| #include "chrome/common/chrome_version_info.h" |
| +#include "components/variations/entropy_provider.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| #if defined(ENABLE_RLZ) |
| @@ -50,8 +53,16 @@ std::string TestSearchTermsData::GoogleBaseURLValue() const { |
| class TemplateURLTest : public testing::Test { |
| public: |
| + virtual void SetUp() OVERRIDE { |
| + field_trial_list_.reset(new base::FieldTrialList( |
|
Peter Kasting
2013/10/01 01:03:31
I'm not thrilled about going through the field tri
Jered
2013/10/01 18:46:15
This state is field trial state, so going through
|
| + new metrics::SHA1EntropyProvider("42"))); |
| + } |
| + |
| void CheckSuggestBaseURL(const std::string& base_url, |
| const std::string& base_suggest_url) const; |
| + |
| + private: |
| + scoped_ptr<base::FieldTrialList> field_trial_list_; |
| }; |
| void TemplateURLTest::CheckSuggestBaseURL( |
| @@ -1233,3 +1244,45 @@ TEST_F(TemplateURLTest, IsSearchResults) { |
| search_provider.IsSearchURL(GURL(url_data[i].url))); |
| } |
| } |
| + |
| +TEST_F(TemplateURLTest, BookmarkBarPinnedArgNotReplaced) { |
| + chrome::EnableInstantExtendedAPIForTesting(); |
| + TemplateURLData data; |
| + data.input_encodings.push_back("UTF-8"); |
| + data.SetURL("{google:baseURL}?{google:bookmarkBarPinned}q={searchTerms}"); |
| + TemplateURL url(NULL, data); |
| + EXPECT_TRUE(url.url_ref().IsValid()); |
| + ASSERT_TRUE(url.url_ref().SupportsReplacement()); |
| + TemplateURLRef::SearchTermsArgs search_terms_args(ASCIIToUTF16("foo")); |
| + |
| + // Do not add the param when InstantExtended is suppressed on SRPs. |
| + ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial( |
| + "InstantExtended", "Group1 espv:2 suppress_on_srp:1")); |
| + ASSERT_TRUE(chrome::ShouldSuppressInstantExtendedOnSRP()); |
| + std::string result = url.url_ref().ReplaceSearchTerms(search_terms_args); |
| + EXPECT_EQ("http://www.google.com/?q=foo", result); |
| +} |
| + |
| +TEST_F(TemplateURLTest, BookmarkBarPinnedArgReplaced) { |
|
Peter Kasting
2013/10/01 01:03:31
Nit: Again, I'd make this all one test, since it's
Jered
2013/10/01 18:46:15
Done.
|
| + chrome::EnableInstantExtendedAPIForTesting(); |
| + TemplateURLData data; |
| + data.input_encodings.push_back("UTF-8"); |
| + data.SetURL("{google:baseURL}?{google:bookmarkBarPinned}q={searchTerms}"); |
| + TemplateURL url(NULL, data); |
| + EXPECT_TRUE(url.url_ref().IsValid()); |
| + ASSERT_TRUE(url.url_ref().SupportsReplacement()); |
| + TemplateURLRef::SearchTermsArgs search_terms_args(ASCIIToUTF16("foo")); |
| + |
| + // Add the param when InstantExtended is suppressed on SRPs. |
| + ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial( |
| + "InstantExtended", "Group1 espv:2 suppress_on_srp:0")); |
| + ASSERT_FALSE(chrome::ShouldSuppressInstantExtendedOnSRP()); |
| + |
| + search_terms_args.bookmark_bar_pinned = false; |
| + std::string result = url.url_ref().ReplaceSearchTerms(search_terms_args); |
| + EXPECT_EQ("http://www.google.com/?bmbp=0&q=foo", result); |
| + |
| + search_terms_args.bookmark_bar_pinned = true; |
| + result = url.url_ref().ReplaceSearchTerms(search_terms_args); |
| + EXPECT_EQ("http://www.google.com/?bmbp=1&q=foo", result); |
| +} |