OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/base_paths.h" | 5 #include "base/base_paths.h" |
6 #include "base/command_line.h" | 6 #include "base/command_line.h" |
7 #include "base/strings/string_number_conversions.h" | 7 #include "base/strings/string_number_conversions.h" |
8 #include "base/strings/string_util.h" | 8 #include "base/strings/string_util.h" |
9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
10 #include "chrome/browser/search_engines/template_url.h" | 10 #include "chrome/browser/search_engines/template_url.h" |
11 #include "chrome/common/chrome_switches.h" | 11 #include "chrome/common/chrome_switches.h" |
12 #include "components/metrics/proto/omnibox_input_type.pb.h" | 12 #include "components/metrics/proto/omnibox_input_type.pb.h" |
13 #include "components/search_engines/search_terms_data.h" | 13 #include "components/search_engines/search_terms_data.h" |
14 #include "testing/gtest/include/gtest/gtest.h" | 14 #include "testing/gtest/include/gtest/gtest.h" |
15 | 15 |
16 using base::ASCIIToUTF16; | 16 using base::ASCIIToUTF16; |
17 | 17 |
18 // TestSearchTermsData -------------------------------------------------------- | 18 // TestSearchTermsData -------------------------------------------------------- |
19 | 19 |
20 // Simple implementation of SearchTermsData. | 20 // Simple implementation of SearchTermsData. |
21 class TestSearchTermsData : public SearchTermsData { | 21 class TestSearchTermsData : public SearchTermsData { |
22 public: | 22 public: |
23 explicit TestSearchTermsData(const std::string& google_base_url); | 23 explicit TestSearchTermsData(const std::string& google_base_url); |
24 | 24 |
25 virtual std::string GoogleBaseURLValue() const OVERRIDE; | 25 virtual std::string GoogleBaseURLValue() const OVERRIDE; |
26 virtual base::string16 GetRlzParameterValue( | 26 virtual base::string16 GetRlzParameterValue( |
27 bool from_app_list) const OVERRIDE; | 27 bool from_app_list) const OVERRIDE; |
28 virtual std::string GetSearchClient() const OVERRIDE; | 28 virtual std::string GetSearchClient() const OVERRIDE; |
| 29 virtual std::string GoogleImageSearchSource() const OVERRIDE; |
29 | 30 |
30 void set_google_base_url(const std::string& google_base_url) { | 31 void set_google_base_url(const std::string& google_base_url) { |
31 google_base_url_ = google_base_url; | 32 google_base_url_ = google_base_url; |
32 } | 33 } |
33 void set_search_client(const std::string& search_client) { | 34 void set_search_client(const std::string& search_client) { |
34 search_client_ = search_client; | 35 search_client_ = search_client; |
35 } | 36 } |
36 | 37 |
37 private: | 38 private: |
38 std::string google_base_url_; | 39 std::string google_base_url_; |
(...skipping 13 matching lines...) Expand all Loading... |
52 base::string16 TestSearchTermsData::GetRlzParameterValue( | 53 base::string16 TestSearchTermsData::GetRlzParameterValue( |
53 bool from_app_list) const { | 54 bool from_app_list) const { |
54 return ASCIIToUTF16( | 55 return ASCIIToUTF16( |
55 from_app_list ? "rlz_parameter_from_app_list" : "rlz_parameter"); | 56 from_app_list ? "rlz_parameter_from_app_list" : "rlz_parameter"); |
56 } | 57 } |
57 | 58 |
58 std::string TestSearchTermsData::GetSearchClient() const { | 59 std::string TestSearchTermsData::GetSearchClient() const { |
59 return search_client_; | 60 return search_client_; |
60 } | 61 } |
61 | 62 |
| 63 std::string TestSearchTermsData::GoogleImageSearchSource() const { |
| 64 return "google_image_search_source"; |
| 65 } |
| 66 |
62 // TemplateURLTest ------------------------------------------------------------ | 67 // TemplateURLTest ------------------------------------------------------------ |
63 | 68 |
64 class TemplateURLTest : public testing::Test { | 69 class TemplateURLTest : public testing::Test { |
65 public: | 70 public: |
66 TemplateURLTest() : search_terms_data_("http://www.google.com/") {} | 71 TemplateURLTest() : search_terms_data_("http://www.google.com/") {} |
67 void CheckSuggestBaseURL(const std::string& base_url, | 72 void CheckSuggestBaseURL(const std::string& base_url, |
68 const std::string& base_suggest_url) const; | 73 const std::string& base_suggest_url) const; |
69 | 74 |
70 TestSearchTermsData search_terms_data_; | 75 TestSearchTermsData search_terms_data_; |
71 }; | 76 }; |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 for (; j != replacements.end(); ++j) { | 253 for (; j != replacements.end(); ++j) { |
249 if (j->is_post_param && j->index == | 254 if (j->is_post_param && j->index == |
250 static_cast<size_t>(i - post_params.begin())) { | 255 static_cast<size_t>(i - post_params.begin())) { |
251 switch (j->type) { | 256 switch (j->type) { |
252 case TemplateURLRef::GOOGLE_IMAGE_ORIGINAL_WIDTH: | 257 case TemplateURLRef::GOOGLE_IMAGE_ORIGINAL_WIDTH: |
253 EXPECT_EQ("width", i->first); | 258 EXPECT_EQ("width", i->first); |
254 EXPECT_EQ( | 259 EXPECT_EQ( |
255 base::IntToString(search_args.image_original_size.width()), | 260 base::IntToString(search_args.image_original_size.width()), |
256 i->second); | 261 i->second); |
257 break; | 262 break; |
| 263 case TemplateURLRef::GOOGLE_IMAGE_SEARCH_SOURCE: |
| 264 EXPECT_EQ("sbisrc", i->first); |
| 265 EXPECT_EQ(search_terms_data.GoogleImageSearchSource(), i->second); |
| 266 break; |
258 case TemplateURLRef::GOOGLE_IMAGE_THUMBNAIL: | 267 case TemplateURLRef::GOOGLE_IMAGE_THUMBNAIL: |
259 EXPECT_EQ("image_content", i->first); | 268 EXPECT_EQ("image_content", i->first); |
260 EXPECT_EQ(search_args.image_thumbnail_content, i->second); | 269 EXPECT_EQ(search_args.image_thumbnail_content, i->second); |
261 break; | 270 break; |
262 case TemplateURLRef::GOOGLE_IMAGE_URL: | 271 case TemplateURLRef::GOOGLE_IMAGE_URL: |
263 EXPECT_EQ("image_url", i->first); | 272 EXPECT_EQ("image_url", i->first); |
264 EXPECT_EQ(search_args.image_url.spec(), i->second); | 273 EXPECT_EQ(search_args.image_url.spec(), i->second); |
265 break; | 274 break; |
266 case TemplateURLRef::LANGUAGE: | 275 case TemplateURLRef::LANGUAGE: |
267 EXPECT_EQ("language", i->first); | 276 EXPECT_EQ("language", i->first); |
(...skipping 1175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1443 search_terms_data_); | 1452 search_terms_data_); |
1444 EXPECT_EQ("http://bar/_/contextualsearch?" | 1453 EXPECT_EQ("http://bar/_/contextualsearch?" |
1445 "ctxs=1&" | 1454 "ctxs=1&" |
1446 "ctxs_start=6&" | 1455 "ctxs_start=6&" |
1447 "ctxs_end=11&" | 1456 "ctxs_end=11&" |
1448 "q=allen&" | 1457 "q=allen&" |
1449 "ctxs_content=woody+allen+movies&" | 1458 "ctxs_content=woody+allen+movies&" |
1450 "ctxs_url=www.wikipedia.org&" | 1459 "ctxs_url=www.wikipedia.org&" |
1451 "ctxs_encoding=utf-8&", result); | 1460 "ctxs_encoding=utf-8&", result); |
1452 } | 1461 } |
OLD | NEW |