OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/message_loop.h" | 5 #include "base/message_loop.h" |
6 #include "base/utf_string_conversions.h" | |
7 #include "chrome/browser/autocomplete/autocomplete_match.h" | 6 #include "chrome/browser/autocomplete/autocomplete_match.h" |
8 #include "chrome/browser/autocomplete/keyword_provider.h" | 7 #include "chrome/browser/autocomplete/keyword_provider.h" |
9 #include "chrome/browser/search_engines/template_url.h" | 8 #include "chrome/browser/search_engines/template_url.h" |
10 #include "chrome/browser/search_engines/template_url_model.h" | 9 #include "chrome/browser/search_engines/template_url_model.h" |
11 #include "googleurl/src/gurl.h" | 10 #include "googleurl/src/gurl.h" |
12 #include "testing/gtest/include/gtest/gtest.h" | 11 #include "testing/gtest/include/gtest/gtest.h" |
13 | 12 |
14 class KeywordProviderTest : public testing::Test { | 13 class KeywordProviderTest : public testing::Test { |
15 protected: | 14 protected: |
16 template<class ResultType> | 15 template<class ResultType> |
(...skipping 14 matching lines...) Expand all Loading... |
31 int num_cases, | 30 int num_cases, |
32 ResultType AutocompleteMatch::* member); | 31 ResultType AutocompleteMatch::* member); |
33 | 32 |
34 protected: | 33 protected: |
35 scoped_refptr<KeywordProvider> kw_provider_; | 34 scoped_refptr<KeywordProvider> kw_provider_; |
36 scoped_ptr<TemplateURLModel> model_; | 35 scoped_ptr<TemplateURLModel> model_; |
37 }; | 36 }; |
38 | 37 |
39 void KeywordProviderTest::SetUp() { | 38 void KeywordProviderTest::SetUp() { |
40 static const TemplateURLModel::Initializer kTestKeywordData[] = { | 39 static const TemplateURLModel::Initializer kTestKeywordData[] = { |
41 { "aa", "aa.com?foo=%s", "aa" }, | 40 { L"aa", "aa.com?foo=%s", L"aa" }, |
42 { "aaaa", "http://aaaa/?aaaa=1&b=%s&c", "aaaa" }, | 41 { L"aaaa", "http://aaaa/?aaaa=1&b=%s&c", L"aaaa" }, |
43 { "aaaaa", "%s", "aaaaa" }, | 42 { L"aaaaa", "%s", L"aaaaa" }, |
44 { "ab", "bogus URL %s", "ab" }, | 43 { L"ab", "bogus URL %s", L"ab" }, |
45 { "weasel", "weasel%sweasel", "weasel" }, | 44 { L"weasel", "weasel%sweasel", L"weasel" }, |
46 { "www", " +%2B?=%sfoo ", "www" }, | 45 { L"www", " +%2B?=%sfoo ", L"www" }, |
47 { "z", "%s=z", "z" }, | 46 { L"z", "%s=z", L"z" }, |
48 }; | 47 }; |
49 | 48 |
50 model_.reset(new TemplateURLModel(kTestKeywordData, | 49 model_.reset(new TemplateURLModel(kTestKeywordData, |
51 arraysize(kTestKeywordData))); | 50 arraysize(kTestKeywordData))); |
52 kw_provider_ = new KeywordProvider(NULL, model_.get()); | 51 kw_provider_ = new KeywordProvider(NULL, model_.get()); |
53 } | 52 } |
54 | 53 |
55 void KeywordProviderTest::TearDown() { | 54 void KeywordProviderTest::TearDown() { |
56 model_.reset(); | 55 model_.reset(); |
57 kw_provider_ = NULL; | 56 kw_provider_ = NULL; |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 {L"z \t", 1, {L"(Keyword: z)"}}, | 177 {L"z \t", 1, {L"(Keyword: z)"}}, |
179 {L"z a b c++", 1, {L"(Keyword: z)"}}, | 178 {L"z a b c++", 1, {L"(Keyword: z)"}}, |
180 }; | 179 }; |
181 | 180 |
182 RunTest<std::wstring>(description_cases, arraysize(description_cases), | 181 RunTest<std::wstring>(description_cases, arraysize(description_cases), |
183 &AutocompleteMatch::description); | 182 &AutocompleteMatch::description); |
184 } | 183 } |
185 | 184 |
186 TEST_F(KeywordProviderTest, AddKeyword) { | 185 TEST_F(KeywordProviderTest, AddKeyword) { |
187 TemplateURL* template_url = new TemplateURL(); | 186 TemplateURL* template_url = new TemplateURL(); |
188 string16 keyword(ASCIIToUTF16("foo")); | 187 std::wstring keyword(L"foo"); |
189 std::string url("http://www.google.com/foo?q={searchTerms}"); | 188 std::string url("http://www.google.com/foo?q={searchTerms}"); |
190 template_url->SetURL(url, 0, 0); | 189 template_url->SetURL(url, 0, 0); |
191 template_url->set_keyword(keyword); | 190 template_url->set_keyword(keyword); |
192 template_url->set_short_name(ASCIIToUTF16("Test")); | 191 template_url->set_short_name(L"Test"); |
193 model_->Add(template_url); | 192 model_->Add(template_url); |
194 ASSERT_TRUE(template_url == model_->GetTemplateURLForKeyword(keyword)); | 193 ASSERT_TRUE(template_url == model_->GetTemplateURLForKeyword(keyword)); |
195 } | 194 } |
196 | 195 |
197 TEST_F(KeywordProviderTest, RemoveKeyword) { | 196 TEST_F(KeywordProviderTest, RemoveKeyword) { |
198 string16 url(ASCIIToUTF16("http://aaaa/?aaaa=1&b={searchTerms}&c")); | 197 std::wstring url(L"http://aaaa/?aaaa=1&b={searchTerms}&c"); |
199 model_->Remove(model_->GetTemplateURLForKeyword(ASCIIToUTF16("aaaa"))); | 198 model_->Remove(model_->GetTemplateURLForKeyword(L"aaaa")); |
200 ASSERT_TRUE(model_->GetTemplateURLForKeyword(ASCIIToUTF16("aaaa")) == NULL); | 199 ASSERT_TRUE(model_->GetTemplateURLForKeyword(L"aaaa") == NULL); |
201 } | 200 } |
OLD | NEW |