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

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

Issue 12250033: Consolidate search terms extraction and Instant process determination. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Style nit Created 7 years, 10 months 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 | Annotate | Revision Log
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"
(...skipping 521 matching lines...) Expand 10 before | Expand all | Expand 10 after
532 std::string expected_url = "http://bar/?"; 532 std::string expected_url = "http://bar/?";
533 if (!rlz_string.empty()) 533 if (!rlz_string.empty())
534 expected_url += "rlz=" + UTF16ToUTF8(rlz_string) + "&"; 534 expected_url += "rlz=" + UTF16ToUTF8(rlz_string) + "&";
535 expected_url += "x"; 535 expected_url += "x";
536 EXPECT_EQ(expected_url, result.spec()); 536 EXPECT_EQ(expected_url, result.spec());
537 } 537 }
538 538
539 TEST_F(TemplateURLTest, HostAndSearchTermKey) { 539 TEST_F(TemplateURLTest, HostAndSearchTermKey) {
540 struct TestData { 540 struct TestData {
541 const std::string url; 541 const std::string url;
542 const std::string scheme;
543 const std::string host; 542 const std::string host;
544 const std::string path; 543 const std::string path;
545 const std::string search_term_key; 544 const std::string search_term_key;
546 } test_data[] = { 545 } test_data[] = {
547 { "http://blah/?foo=bar&q={searchTerms}&b=x", "http", "blah", "/", "q"}, 546 { "http://blah/?foo=bar&q={searchTerms}&b=x", "blah", "/", "q"},
548 547
549 // No query key should result in empty values. 548 // No query key should result in empty values.
550 { "http://blah/{searchTerms}", "", "", "", ""}, 549 { "http://blah/{searchTerms}", "", "", ""},
551 550
552 // No term should result in empty values. 551 // No term should result in empty values.
553 { "http://blah/", "", "", "", ""}, 552 { "http://blah/", "", "", ""},
554 553
555 // Multiple terms should result in empty values. 554 // Multiple terms should result in empty values.
556 { "http://blah/?q={searchTerms}&x={searchTerms}", "", "", "", ""}, 555 { "http://blah/?q={searchTerms}&x={searchTerms}", "", "", ""},
557 556
558 // Term in the host shouldn't match. 557 // Term in the host shouldn't match.
559 { "http://{searchTerms}", "", "", "", ""}, 558 { "http://{searchTerms}", "", "", ""},
560 559
561 { "http://blah/?q={searchTerms}", "http", "blah", "/", "q"}, 560 { "http://blah/?q={searchTerms}", "blah", "/", "q"},
562 { "https://blah/?q={searchTerms}", "https", "blah", "/", "q"}, 561 { "https://blah/?q={searchTerms}", "blah", "/", "q"},
563 562
564 // Single term with extra chars in value should match. 563 // Single term with extra chars in value should match.
565 { "http://blah/?q=stock:{searchTerms}", "http", "blah", "/", "q"}, 564 { "http://blah/?q=stock:{searchTerms}", "blah", "/", "q"},
566 }; 565 };
567 566
568 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_data); ++i) { 567 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_data); ++i) {
569 TemplateURLData data; 568 TemplateURLData data;
570 data.SetURL(test_data[i].url); 569 data.SetURL(test_data[i].url);
571 TemplateURL url(NULL, data); 570 TemplateURL url(NULL, data);
572 EXPECT_EQ(test_data[i].scheme, url.url_ref().GetScheme());
573 EXPECT_EQ(test_data[i].host, url.url_ref().GetHost()); 571 EXPECT_EQ(test_data[i].host, url.url_ref().GetHost());
574 EXPECT_EQ(test_data[i].path, url.url_ref().GetPath()); 572 EXPECT_EQ(test_data[i].path, url.url_ref().GetPath());
575 EXPECT_EQ(test_data[i].search_term_key, url.url_ref().GetSearchTermKey()); 573 EXPECT_EQ(test_data[i].search_term_key, url.url_ref().GetSearchTermKey());
576 } 574 }
577 } 575 }
578 576
579 TEST_F(TemplateURLTest, GoogleBaseSuggestURL) { 577 TEST_F(TemplateURLTest, GoogleBaseSuggestURL) {
580 static const struct { 578 static const struct {
581 const char* const base_url; 579 const char* const base_url;
582 const char* const base_suggest_url; 580 const char* const base_suggest_url;
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after
920 EXPECT_TRUE(url.HasSearchTermsReplacementKey( 918 EXPECT_TRUE(url.HasSearchTermsReplacementKey(
921 GURL("http://google.com/?q=something#espv=1"))); 919 GURL("http://google.com/?q=something#espv=1")));
922 920
923 // This does not ensure the domain matches. 921 // This does not ensure the domain matches.
924 EXPECT_TRUE(url.HasSearchTermsReplacementKey( 922 EXPECT_TRUE(url.HasSearchTermsReplacementKey(
925 GURL("http://bing.com/?espv"))); 923 GURL("http://bing.com/?espv")));
926 924
927 EXPECT_TRUE(url.HasSearchTermsReplacementKey( 925 EXPECT_TRUE(url.HasSearchTermsReplacementKey(
928 GURL("http://bing.com/#espv"))); 926 GURL("http://bing.com/#espv")));
929 } 927 }
930
931 TEST_F(TemplateURLTest, IsInstantURL) {
932 TemplateURLData data;
933 data.SetURL("http://google.com/?q={searchTerms}");
934 data.instant_url = "http://google.com/instant#q={searchTerms}";
935 data.alternate_urls.push_back("http://google.com/alt/#q={searchTerms}");
936 data.alternate_urls.push_back(
937 "http://google.com/alt/?ext=foo&q={searchTerms}#ref=bar");
938 data.search_terms_replacement_key = "espv";
939 TemplateURL url(NULL, data);
940
941 EXPECT_FALSE(url.IsInstantURL(
942 GURL("http://google.com/")));
943
944 EXPECT_TRUE(url.IsInstantURL(
945 GURL("http://google.com/?espv")));
946
947 EXPECT_TRUE(url.IsInstantURL(
948 GURL("http://google.com/#espv")));
949
950 EXPECT_FALSE(url.IsInstantURL(
951 GURL("http://google.com/?q=something")));
952
953 EXPECT_TRUE(url.IsInstantURL(
954 GURL("http://google.com/instant?q=something")));
955
956 EXPECT_TRUE(url.IsInstantURL(
957 GURL("http://google.com/instant?x=something")));
958
959 EXPECT_TRUE(url.IsInstantURL(
960 GURL("http://google.com/?q=something&espv")));
961
962 EXPECT_TRUE(url.IsInstantURL(
963 GURL("http://google.com/?q=something&espv=1")));
964
965 EXPECT_FALSE(url.IsInstantURL(
966 GURL("https://google.com/?q=something&espv=1")));
967
968 EXPECT_TRUE(url.IsInstantURL(
969 GURL("http://google.com/?q=something&espv=0")));
970
971 EXPECT_TRUE(url.IsInstantURL(
972 GURL("http://google.com/?espv&q=something")));
973
974 EXPECT_TRUE(url.IsInstantURL(
975 GURL("http://google.com/?espv=1&q=something")));
976
977 EXPECT_TRUE(url.IsInstantURL(
978 GURL("http://google.com/?espv=0&q=something")));
979
980 EXPECT_FALSE(url.IsInstantURL(
981 GURL("http://google.com/alt/#q=something")));
982
983 EXPECT_TRUE(url.IsInstantURL(
984 GURL("http://google.com/alt/#q=something&espv")));
985
986 EXPECT_TRUE(url.IsInstantURL(
987 GURL("http://google.com/alt/#q=something&espv=1")));
988
989 EXPECT_TRUE(url.IsInstantURL(
990 GURL("http://google.com/alt/#q=something&espv=0")));
991
992 EXPECT_TRUE(url.IsInstantURL(
993 GURL("http://google.com/alt/#espv&q=something")));
994
995 EXPECT_TRUE(url.IsInstantURL(
996 GURL("http://google.com/alt/#espv=1&q=something")));
997
998 EXPECT_TRUE(url.IsInstantURL(
999 GURL("http://google.com/alt/#espv=0&q=something")));
1000
1001 EXPECT_TRUE(url.IsInstantURL(
1002 GURL("http://google.com/?espv#q=something")));
1003
1004 EXPECT_TRUE(url.IsInstantURL(
1005 GURL("http://google.com/?espv=1#q=something")));
1006
1007 EXPECT_TRUE(url.IsInstantURL(
1008 GURL("http://google.com/?q=something#espv")));
1009
1010 EXPECT_TRUE(url.IsInstantURL(
1011 GURL("http://google.com/?q=something#espv=1")));
1012
1013 EXPECT_TRUE(url.IsInstantURL(
1014 GURL("http://google.com/instant#q=something&espv=1")));
1015
1016 EXPECT_FALSE(url.IsInstantURL(
1017 GURL("http://bing.com/?espv=1")));
1018
1019 EXPECT_FALSE(url.IsInstantURL(
1020 GURL("http://bing.com/#espv=1")));
1021 }
OLDNEW
« no previous file with comments | « chrome/browser/search_engines/template_url.cc ('k') | chrome/browser/ui/browser_instant_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698