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

Side by Side Diff: chrome/browser/search_engines/template_url_unittest.cc

Issue 11448005: Add Android-specific parameters to search_engines/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Adding sourceid changes Created 8 years 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 unified diff | Download patch
OLDNEW
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/string_util.h" 6 #include "base/string_util.h"
7 #include "base/utf_string_conversions.h" 7 #include "base/utf_string_conversions.h"
8 #include "chrome/browser/browser_process.h" 8 #include "chrome/browser/browser_process.h"
9 #include "chrome/browser/rlz/rlz.h" 9 #include "chrome/browser/rlz/rlz.h"
10 #include "chrome/browser/search_engines/search_terms_data.h" 10 #include "chrome/browser/search_engines/search_terms_data.h"
11 #include "chrome/browser/search_engines/template_url.h" 11 #include "chrome/browser/search_engines/template_url.h"
12 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
13 13
14 #if defined(ENABLE_RLZ) 14 #if defined(ENABLE_RLZ)
15 #include "chrome/browser/google/google_util.h" 15 #include "chrome/browser/google/google_util.h"
16 #endif 16 #endif
17 17
18 #if defined(OS_ANDROID)
19 #include "chrome/browser/search_engines/search_terms_data_android.h"
20 #endif
21
18 // TestSearchTermsData -------------------------------------------------------- 22 // TestSearchTermsData --------------------------------------------------------
19 23
20 // Simple implementation of SearchTermsData. 24 // Simple implementation of SearchTermsData.
21 class TestSearchTermsData : public SearchTermsData { 25 class TestSearchTermsData : public SearchTermsData {
22 public: 26 public:
23 explicit TestSearchTermsData(const std::string& google_base_url); 27 explicit TestSearchTermsData(const std::string& google_base_url);
24 28
25 virtual std::string GoogleBaseURLValue() const OVERRIDE; 29 virtual std::string GoogleBaseURLValue() const OVERRIDE;
26 30
27 private: 31 private:
(...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after
468 } 472 }
469 473
470 TEST_F(TemplateURLTest, RLZ) { 474 TEST_F(TemplateURLTest, RLZ) {
471 string16 rlz_string; 475 string16 rlz_string;
472 #if defined(ENABLE_RLZ) 476 #if defined(ENABLE_RLZ)
473 std::string brand; 477 std::string brand;
474 if (google_util::GetBrand(&brand) && !brand.empty() && 478 if (google_util::GetBrand(&brand) && !brand.empty() &&
475 !google_util::IsOrganic(brand)) { 479 !google_util::IsOrganic(brand)) {
476 RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz_string); 480 RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz_string);
477 } 481 }
482 #elif defined(OS_ANDROID)
483 SearchTermsDataAndroid::SetRlzParameterValue(ASCIIToUTF16("android_test"));
484 rlz_string = SearchTermsDataAndroid::GetRlzParameterValue();
478 #endif 485 #endif
479 486
480 TemplateURLData data; 487 TemplateURLData data;
481 data.SetURL("http://bar/?{google:RLZ}{searchTerms}"); 488 data.SetURL("http://bar/?{google:RLZ}{searchTerms}");
482 TemplateURL url(NULL, data); 489 TemplateURL url(NULL, data);
483 EXPECT_TRUE(url.url_ref().IsValid()); 490 EXPECT_TRUE(url.url_ref().IsValid());
484 ASSERT_TRUE(url.url_ref().SupportsReplacement()); 491 ASSERT_TRUE(url.url_ref().SupportsReplacement());
485 GURL result(url.url_ref().ReplaceSearchTerms( 492 GURL result(url.url_ref().ReplaceSearchTerms(
486 TemplateURLRef::SearchTermsArgs(ASCIIToUTF16("x")))); 493 TemplateURLRef::SearchTermsArgs(ASCIIToUTF16("x"))));
487 ASSERT_TRUE(result.is_valid()); 494 ASSERT_TRUE(result.is_valid());
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
633 TemplateURLRef::Replacements replacements; 640 TemplateURLRef::Replacements replacements;
634 bool valid = false; 641 bool valid = false;
635 EXPECT_EQ("{", 642 EXPECT_EQ("{",
636 url.url_ref().ParseURL("{{searchTerms}", &replacements, &valid)); 643 url.url_ref().ParseURL("{{searchTerms}", &replacements, &valid));
637 ASSERT_EQ(1U, replacements.size()); 644 ASSERT_EQ(1U, replacements.size());
638 EXPECT_EQ(1U, replacements[0].index); 645 EXPECT_EQ(1U, replacements[0].index);
639 EXPECT_EQ(TemplateURLRef::SEARCH_TERMS, replacements[0].type); 646 EXPECT_EQ(TemplateURLRef::SEARCH_TERMS, replacements[0].type);
640 EXPECT_TRUE(valid); 647 EXPECT_TRUE(valid);
641 } 648 }
642 649
650 TEST_F(TemplateURLTest, SearchClient) {
651 const std::string base_url_str("http://google.com/?");
652 const std::string terms_str("{searchTerms}&{google:searchClient}");
653 const std::string full_url_str = base_url_str + terms_str;
654 const string16 terms(ASCIIToUTF16(terms_str));
655 UIThreadSearchTermsData::SetGoogleBaseURL(base_url_str);
656
657 TemplateURLData data;
658 data.SetURL(full_url_str);
659 TemplateURL url(NULL, data);
660 EXPECT_TRUE(url.url_ref().IsValid());
661 ASSERT_TRUE(url.url_ref().SupportsReplacement());
662 TemplateURLRef::SearchTermsArgs search_terms_args(ASCIIToUTF16("foobar"));
663
664 // Check that the URL is correct when a client is not present.
Peter Kasting 2012/12/06 07:02:37 This test relies on non-Android having no client.
gone 2012/12/06 20:59:49 I've moved the OS_ANDROID flag to encapsulate the
665 GURL result(url.url_ref().ReplaceSearchTerms(search_terms_args));
666 ASSERT_TRUE(result.is_valid());
667 EXPECT_EQ("http://google.com/?foobar&", result.spec());
668
669 #if defined(OS_ANDROID)
670 // Check that the URL is correct when a client is present.
671 SearchTermsDataAndroid::SetSearchClient("android_test");
672 GURL result_2(url.url_ref().ReplaceSearchTerms(search_terms_args));
673 ASSERT_TRUE(result_2.is_valid());
674 EXPECT_EQ("http://google.com/?foobar&client=android_test&", result_2.spec());
675 #endif
676 }
677
643 TEST_F(TemplateURLTest, GetURLNoInstantURL) { 678 TEST_F(TemplateURLTest, GetURLNoInstantURL) {
644 TemplateURLData data; 679 TemplateURLData data;
645 data.SetURL("http://google.com/?q={searchTerms}"); 680 data.SetURL("http://google.com/?q={searchTerms}");
646 data.suggestions_url = "http://google.com/suggest?q={searchTerms}"; 681 data.suggestions_url = "http://google.com/suggest?q={searchTerms}";
647 data.alternate_urls.push_back("http://google.com/alt?q={searchTerms}"); 682 data.alternate_urls.push_back("http://google.com/alt?q={searchTerms}");
648 data.alternate_urls.push_back("{google:baseURL}/alt/#q={searchTerms}"); 683 data.alternate_urls.push_back("{google:baseURL}/alt/#q={searchTerms}");
649 TemplateURL url(NULL, data); 684 TemplateURL url(NULL, data);
650 ASSERT_EQ(3U, url.URLCount()); 685 ASSERT_EQ(3U, url.URLCount());
651 EXPECT_EQ("http://google.com/alt?q={searchTerms}", url.GetURL(0)); 686 EXPECT_EQ("http://google.com/alt?q={searchTerms}", url.GetURL(0));
652 EXPECT_EQ("{google:baseURL}/alt/#q={searchTerms}", url.GetURL(1)); 687 EXPECT_EQ("{google:baseURL}/alt/#q={searchTerms}", url.GetURL(1));
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
733 EXPECT_EQ(string16(), result); 768 EXPECT_EQ(string16(), result);
734 769
735 EXPECT_FALSE(url.ExtractSearchTermsFromURL( 770 EXPECT_FALSE(url.ExtractSearchTermsFromURL(
736 GURL("http://google.com/alt/?q=123#q="), &result)); 771 GURL("http://google.com/alt/?q=123#q="), &result));
737 EXPECT_EQ(string16(), result); 772 EXPECT_EQ(string16(), result);
738 773
739 EXPECT_TRUE(url.ExtractSearchTermsFromURL( 774 EXPECT_TRUE(url.ExtractSearchTermsFromURL(
740 GURL("http://google.com/alt/?q=#q=123"), &result)); 775 GURL("http://google.com/alt/?q=#q=123"), &result));
741 EXPECT_EQ(ASCIIToUTF16("123"), result); 776 EXPECT_EQ(ASCIIToUTF16("123"), result);
742 } 777 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698