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

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

Issue 10908226: Introduces a search term extraction mechanism working for arbitrary search providers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 8 years, 3 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 623 matching lines...) Expand 10 before | Expand all | Expand 10 after
634 TemplateURL url(NULL, data); 634 TemplateURL url(NULL, data);
635 TemplateURLRef::Replacements replacements; 635 TemplateURLRef::Replacements replacements;
636 bool valid = false; 636 bool valid = false;
637 EXPECT_EQ("{", 637 EXPECT_EQ("{",
638 url.url_ref().ParseURL("{{searchTerms}", &replacements, &valid)); 638 url.url_ref().ParseURL("{{searchTerms}", &replacements, &valid));
639 ASSERT_EQ(1U, replacements.size()); 639 ASSERT_EQ(1U, replacements.size());
640 EXPECT_EQ(1U, replacements[0].index); 640 EXPECT_EQ(1U, replacements[0].index);
641 EXPECT_EQ(TemplateURLRef::SEARCH_TERMS, replacements[0].type); 641 EXPECT_EQ(TemplateURLRef::SEARCH_TERMS, replacements[0].type);
642 EXPECT_TRUE(valid); 642 EXPECT_TRUE(valid);
643 } 643 }
644
645 TEST_F(TemplateURLTest, DeserializeAndSetAlternateURLs) {
646 TemplateURLData data;
647 EXPECT_TRUE(data.alternate_urls().empty());
648
649 data.DeserializeAndSetAlternateURLs("http://google.com?q={searchTerms},"
650 "{google:baseURL}/#q={searchTerms}");
651 EXPECT_EQ(2U, data.alternate_urls().size());
652 EXPECT_EQ("http://google.com?q={searchTerms}", data.alternate_urls()[0]);
653 EXPECT_EQ("{google:baseURL}/#q={searchTerms}", data.alternate_urls()[1]);
654 }
655
656
657 TEST_F(TemplateURLTest, DeserializeAndSetEmptyAlternateURLs) {
658 TemplateURLData data;
659 EXPECT_TRUE(data.alternate_urls().empty());
660
661 data.DeserializeAndSetAlternateURLs("");
662 EXPECT_TRUE(data.alternate_urls().empty());
663 }
664
665 TEST_F(TemplateURLTest, SerializeAlternateURLs) {
666 TemplateURLData data;
667 EXPECT_TRUE(data.alternate_urls().empty());
668 data.alternate_urls_.push_back("{google:baseURL}/#q={searchTerms}");
669 data.alternate_urls_.push_back("http://google.com?q={searchTerms}");
670
671 std::string result = data.SerializeAlternateURLs();
672 EXPECT_EQ("{google:baseURL}/#q={searchTerms},"
673 "http://google.com?q={searchTerms}", result);
674 }
675
676 TEST_F(TemplateURLTest, SerializeEmptyAlternateURLs) {
677 TemplateURLData data;
678 EXPECT_TRUE(data.alternate_urls().empty());
679
680 std::string result = data.SerializeAlternateURLs();
681 EXPECT_EQ("", result);
682 }
683
684 TEST_F(TemplateURLTest, GetURL) {
685 TemplateURLData data;
686 data.SetURL("http://google.com/?q={searchTerms}");
687 data.suggestions_url = "http://google.com/suggest?q={searchTerms}";
688 data.instant_url = "http://google.com/instant#q={searchTerms}";
689 data.DeserializeAndSetAlternateURLs("http://google.com/alt?q={searchTerms},"
690 "{google:baseURL}/alt/#q={searchTerms}");
691 TemplateURL url(NULL, data);
692 ASSERT_EQ(4U, url.URLCount());
693 EXPECT_EQ("http://google.com/alt?q={searchTerms}", url.GetURL(0));
694 EXPECT_EQ("{google:baseURL}/alt/#q={searchTerms}", url.GetURL(1));
695 EXPECT_EQ("http://google.com/instant#q={searchTerms}", url.GetURL(2));
696 EXPECT_EQ("http://google.com/?q={searchTerms}", url.GetURL(3));
697 }
698
699 TEST_F(TemplateURLTest, GetURLNoInstantURL) {
700 TemplateURLData data;
701 data.SetURL("http://google.com/?q={searchTerms}");
702 data.suggestions_url = "http://google.com/suggest?q={searchTerms}";
703 data.DeserializeAndSetAlternateURLs("http://google.com/alt?q={searchTerms},"
704 "{google:baseURL}/alt/#q={searchTerms}");
705 TemplateURL url(NULL, data);
706 ASSERT_EQ(3U, url.URLCount());
707 EXPECT_EQ("http://google.com/alt?q={searchTerms}", url.GetURL(0));
708 EXPECT_EQ("{google:baseURL}/alt/#q={searchTerms}", url.GetURL(1));
709 EXPECT_EQ("http://google.com/?q={searchTerms}", url.GetURL(2));
710 }
711
712 TEST_F(TemplateURLTest, GetURLNoSuggestionsURL) {
713 TemplateURLData data;
714 data.SetURL("http://google.com/?q={searchTerms}");
715 data.instant_url = "http://google.com/instant#q={searchTerms}";
716 data.DeserializeAndSetAlternateURLs("http://google.com/alt?q={searchTerms},"
717 "{google:baseURL}/alt/#q={searchTerms}");
718 TemplateURL url(NULL, data);
719 ASSERT_EQ(4U, url.URLCount());
720 EXPECT_EQ("http://google.com/alt?q={searchTerms}", url.GetURL(0));
721 EXPECT_EQ("{google:baseURL}/alt/#q={searchTerms}", url.GetURL(1));
722 EXPECT_EQ("http://google.com/instant#q={searchTerms}", url.GetURL(2));
723 EXPECT_EQ("http://google.com/?q={searchTerms}", url.GetURL(3));
724 }
725
726 TEST_F(TemplateURLTest, GetURLOnlyOneURL) {
727 TemplateURLData data;
728 data.SetURL("http://www.google.co.uk/");
729 TemplateURL url(NULL, data);
730 ASSERT_EQ(1U, url.URLCount());
731 EXPECT_EQ("http://www.google.co.uk/", url.GetURL(0));
732 }
733
734 TEST_F(TemplateURLTest, ExtractSearchTermsFromURL) {
dominich 2012/09/12 22:23:12 you should also test for blank search strings in b
beaudoin 2012/09/13 18:16:45 Added them. However, more importantly: what is th
Peter Kasting 2012/09/13 18:22:08 I don't have the full context here. Is the questi
dominich 2012/09/13 18:30:30 Agreed. We don't want to have an empty string in t
beaudoin 2012/09/13 18:31:49 Ok, right now it fails to match which means it ret
735 TemplateURLData data;
736 data.SetURL("http://google.com/?q={searchTerms}");
737 data.instant_url = "http://google.com/instant#q={searchTerms}";
738 data.DeserializeAndSetAlternateURLs(
739 "http://google.com/alt/#q={searchTerms},"
740 "http://google.com/alt/?ext=foo&q={searchTerms}#ref=bar");
741 TemplateURL url(NULL, data);
742 EXPECT_EQ(ASCIIToUTF16("something"),
743 url.ExtractSearchTermsFromURL(GURL("http://google.com/?q=something")));
744 EXPECT_EQ(string16(),
745 url.ExtractSearchTermsFromURL(GURL("http://google.ca/?q=something")));
746 EXPECT_EQ(string16(),
747 url.ExtractSearchTermsFromURL(GURL("http://google.com/foo/?q=foo")));
748 EXPECT_EQ(string16(),
749 url.ExtractSearchTermsFromURL(GURL("https://google.com/?q=foo")));
750 EXPECT_EQ(string16(),
751 url.ExtractSearchTermsFromURL(GURL("http://google.com:8080/?q=foo")));
752 EXPECT_EQ(ASCIIToUTF16("1 2 3"),
753 url.ExtractSearchTermsFromURL(GURL("http://google.com/?q=1+2+3&b=456")));
754 EXPECT_EQ(ASCIIToUTF16("456"), url.ExtractSearchTermsFromURL(
755 GURL("http://google.com/alt/?q=123#q=456")));
756 EXPECT_EQ(ASCIIToUTF16("123"), url.ExtractSearchTermsFromURL(
757 GURL("http://google.com/alt/?a=012&q=123&b=456#f=789")));
758 EXPECT_EQ(ASCIIToUTF16("789"), url.ExtractSearchTermsFromURL(
759 GURL("http://google.com/alt/?a=012&q=123&b=456#j=abc&q=789&h=def")));
760
761 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698