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

Side by Side Diff: chrome/browser/autocomplete/shortcuts_provider_unittest.cc

Issue 105193002: Replace string16 with base::string16. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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 | 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 "chrome/browser/autocomplete/shortcuts_provider.h" 5 #include "chrome/browser/autocomplete/shortcuts_provider.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <functional> 10 #include <functional>
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 148
149 } // namespace 149 } // namespace
150 150
151 151
152 // ClassifyTest --------------------------------------------------------------- 152 // ClassifyTest ---------------------------------------------------------------
153 153
154 // Helper class to make running tests of ClassifyAllMatchesInString() more 154 // Helper class to make running tests of ClassifyAllMatchesInString() more
155 // convenient. 155 // convenient.
156 class ClassifyTest { 156 class ClassifyTest {
157 public: 157 public:
158 ClassifyTest(const string16& text, ACMatchClassifications matches); 158 ClassifyTest(const base::string16& text, ACMatchClassifications matches);
159 ~ClassifyTest(); 159 ~ClassifyTest();
160 160
161 ACMatchClassifications RunTest(const string16& find_text); 161 ACMatchClassifications RunTest(const base::string16& find_text);
162 162
163 private: 163 private:
164 const string16 text_; 164 const base::string16 text_;
165 const ACMatchClassifications matches_; 165 const ACMatchClassifications matches_;
166 }; 166 };
167 167
168 ClassifyTest::ClassifyTest(const string16& text, ACMatchClassifications matches) 168 ClassifyTest::ClassifyTest(const base::string16& text, ACMatchClassifications ma tches)
169 : text_(text), 169 : text_(text),
170 matches_(matches) { 170 matches_(matches) {
171 } 171 }
172 172
173 ClassifyTest::~ClassifyTest() { 173 ClassifyTest::~ClassifyTest() {
174 } 174 }
175 175
176 ACMatchClassifications ClassifyTest::RunTest(const string16& find_text) { 176 ACMatchClassifications ClassifyTest::RunTest(const base::string16& find_text) {
177 return ShortcutsProvider::ClassifyAllMatchesInString(find_text, 177 return ShortcutsProvider::ClassifyAllMatchesInString(find_text,
178 ShortcutsProvider::CreateWordMapForString(find_text), text_, matches_); 178 ShortcutsProvider::CreateWordMapForString(find_text), text_, matches_);
179 } 179 }
180 180
181 namespace history { 181 namespace history {
182 182
183 183
184 // ShortcutsProviderTest ------------------------------------------------------ 184 // ShortcutsProviderTest ------------------------------------------------------
185 185
186 class ShortcutsProviderTest : public testing::Test, 186 class ShortcutsProviderTest : public testing::Test,
(...skipping 21 matching lines...) Expand all
208 208
209 virtual void SetUp(); 209 virtual void SetUp();
210 virtual void TearDown(); 210 virtual void TearDown();
211 211
212 // Fills test data into the provider. 212 // Fills test data into the provider.
213 void FillData(TestShortcutInfo* db, size_t db_size); 213 void FillData(TestShortcutInfo* db, size_t db_size);
214 214
215 // Runs an autocomplete query on |text| and checks to see that the returned 215 // Runs an autocomplete query on |text| and checks to see that the returned
216 // results' destination URLs match those provided. |expected_urls| does not 216 // results' destination URLs match those provided. |expected_urls| does not
217 // need to be in sorted order. 217 // need to be in sorted order.
218 void RunTest(const string16 text, 218 void RunTest(const base::string16 text,
219 const URLs& expected_urls, 219 const URLs& expected_urls,
220 std::string expected_top_result); 220 std::string expected_top_result);
221 221
222 // Passthrough to the private function in provider_. 222 // Passthrough to the private function in provider_.
223 int CalculateScore(const std::string& terms, 223 int CalculateScore(const std::string& terms,
224 const ShortcutsBackend::Shortcut& shortcut, 224 const ShortcutsBackend::Shortcut& shortcut,
225 int max_relevance); 225 int max_relevance);
226 226
227 base::MessageLoopForUI message_loop_; 227 base::MessageLoopForUI message_loop_;
228 content::TestBrowserThread ui_thread_; 228 content::TestBrowserThread ui_thread_;
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 for (ACMatches::const_iterator iter = matched_urls.begin(); 286 for (ACMatches::const_iterator iter = matched_urls.begin();
287 iter != matched_urls.end(); ++iter) 287 iter != matched_urls.end(); ++iter)
288 matches_.insert(iter->destination_url.spec()); 288 matches_.insert(iter->destination_url.spec());
289 } 289 }
290 290
291 void ShortcutsProviderTest::SetShouldContain::operator()( 291 void ShortcutsProviderTest::SetShouldContain::operator()(
292 const std::string& expected) { 292 const std::string& expected) {
293 EXPECT_EQ(1U, matches_.erase(expected)); 293 EXPECT_EQ(1U, matches_.erase(expected));
294 } 294 }
295 295
296 void ShortcutsProviderTest::RunTest(const string16 text, 296 void ShortcutsProviderTest::RunTest(const base::string16 text,
297 const URLs& expected_urls, 297 const URLs& expected_urls,
298 std::string expected_top_result) { 298 std::string expected_top_result) {
299 base::MessageLoop::current()->RunUntilIdle(); 299 base::MessageLoop::current()->RunUntilIdle();
300 AutocompleteInput input(text, string16::npos, string16(), GURL(), 300 AutocompleteInput input(text, base::string16::npos, base::string16(), GURL(),
301 AutocompleteInput::INVALID_SPEC, false, false, true, 301 AutocompleteInput::INVALID_SPEC, false, false, true,
302 AutocompleteInput::ALL_MATCHES); 302 AutocompleteInput::ALL_MATCHES);
303 provider_->Start(input, false); 303 provider_->Start(input, false);
304 EXPECT_TRUE(provider_->done()); 304 EXPECT_TRUE(provider_->done());
305 305
306 ac_matches_ = provider_->matches(); 306 ac_matches_ = provider_->matches();
307 307
308 // We should have gotten back at most AutocompleteProvider::kMaxMatches. 308 // We should have gotten back at most AutocompleteProvider::kMaxMatches.
309 EXPECT_LE(ac_matches_.size(), AutocompleteProvider::kMaxMatches); 309 EXPECT_LE(ac_matches_.size(), AutocompleteProvider::kMaxMatches);
310 310
(...skipping 27 matching lines...) Expand all
338 const ShortcutsBackend::Shortcut& shortcut, 338 const ShortcutsBackend::Shortcut& shortcut,
339 int max_relevance) { 339 int max_relevance) {
340 return provider_->CalculateScore(ASCIIToUTF16(terms), shortcut, 340 return provider_->CalculateScore(ASCIIToUTF16(terms), shortcut,
341 max_relevance); 341 max_relevance);
342 } 342 }
343 343
344 344
345 // Actual tests --------------------------------------------------------------- 345 // Actual tests ---------------------------------------------------------------
346 346
347 TEST_F(ShortcutsProviderTest, SimpleSingleMatch) { 347 TEST_F(ShortcutsProviderTest, SimpleSingleMatch) {
348 string16 text(ASCIIToUTF16("go")); 348 base::string16 text(ASCIIToUTF16("go"));
349 std::string expected_url("http://www.google.com/"); 349 std::string expected_url("http://www.google.com/");
350 URLs expected_urls; 350 URLs expected_urls;
351 expected_urls.push_back(expected_url); 351 expected_urls.push_back(expected_url);
352 RunTest(text, expected_urls, expected_url); 352 RunTest(text, expected_urls, expected_url);
353 } 353 }
354 354
355 TEST_F(ShortcutsProviderTest, MultiMatch) { 355 TEST_F(ShortcutsProviderTest, MultiMatch) {
356 string16 text(ASCIIToUTF16("NEWS")); 356 base::string16 text(ASCIIToUTF16("NEWS"));
357 URLs expected_urls; 357 URLs expected_urls;
358 // Scores high because of completion length. 358 // Scores high because of completion length.
359 expected_urls.push_back("http://slashdot.org/"); 359 expected_urls.push_back("http://slashdot.org/");
360 // Scores high because of visit count. 360 // Scores high because of visit count.
361 expected_urls.push_back("http://sports.yahoo.com/"); 361 expected_urls.push_back("http://sports.yahoo.com/");
362 // Scores high because of visit count but less match span, 362 // Scores high because of visit count but less match span,
363 // which is more important. 363 // which is more important.
364 expected_urls.push_back("http://www.cnn.com/index.html"); 364 expected_urls.push_back("http://www.cnn.com/index.html");
365 RunTest(text, expected_urls, "http://slashdot.org/"); 365 RunTest(text, expected_urls, "http://slashdot.org/");
366 } 366 }
367 367
368 TEST_F(ShortcutsProviderTest, TypedCountMatches) { 368 TEST_F(ShortcutsProviderTest, TypedCountMatches) {
369 string16 text(ASCIIToUTF16("just")); 369 base::string16 text(ASCIIToUTF16("just"));
370 URLs expected_urls; 370 URLs expected_urls;
371 expected_urls.push_back("http://www.testsite.com/b.html"); 371 expected_urls.push_back("http://www.testsite.com/b.html");
372 expected_urls.push_back("http://www.testsite.com/a.html"); 372 expected_urls.push_back("http://www.testsite.com/a.html");
373 expected_urls.push_back("http://www.testsite.com/c.html"); 373 expected_urls.push_back("http://www.testsite.com/c.html");
374 RunTest(text, expected_urls, "http://www.testsite.com/b.html"); 374 RunTest(text, expected_urls, "http://www.testsite.com/b.html");
375 } 375 }
376 376
377 TEST_F(ShortcutsProviderTest, FragmentLengthMatches) { 377 TEST_F(ShortcutsProviderTest, FragmentLengthMatches) {
378 string16 text(ASCIIToUTF16("just a")); 378 base::string16 text(ASCIIToUTF16("just a"));
379 URLs expected_urls; 379 URLs expected_urls;
380 expected_urls.push_back("http://www.testsite.com/d.html"); 380 expected_urls.push_back("http://www.testsite.com/d.html");
381 expected_urls.push_back("http://www.testsite.com/e.html"); 381 expected_urls.push_back("http://www.testsite.com/e.html");
382 expected_urls.push_back("http://www.testsite.com/f.html"); 382 expected_urls.push_back("http://www.testsite.com/f.html");
383 RunTest(text, expected_urls, "http://www.testsite.com/d.html"); 383 RunTest(text, expected_urls, "http://www.testsite.com/d.html");
384 } 384 }
385 385
386 TEST_F(ShortcutsProviderTest, DaysAgoMatches) { 386 TEST_F(ShortcutsProviderTest, DaysAgoMatches) {
387 string16 text(ASCIIToUTF16("ago")); 387 base::string16 text(ASCIIToUTF16("ago"));
388 URLs expected_urls; 388 URLs expected_urls;
389 expected_urls.push_back("http://www.daysagotest.com/a.html"); 389 expected_urls.push_back("http://www.daysagotest.com/a.html");
390 expected_urls.push_back("http://www.daysagotest.com/b.html"); 390 expected_urls.push_back("http://www.daysagotest.com/b.html");
391 expected_urls.push_back("http://www.daysagotest.com/c.html"); 391 expected_urls.push_back("http://www.daysagotest.com/c.html");
392 RunTest(text, expected_urls, "http://www.daysagotest.com/a.html"); 392 RunTest(text, expected_urls, "http://www.daysagotest.com/a.html");
393 } 393 }
394 394
395 TEST_F(ShortcutsProviderTest, ClassifyAllMatchesInString) { 395 TEST_F(ShortcutsProviderTest, ClassifyAllMatchesInString) {
396 ACMatchClassifications matches = 396 ACMatchClassifications matches =
397 AutocompleteMatch::ClassificationsFromString("0,0"); 397 AutocompleteMatch::ClassificationsFromString("0,0");
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
489 TEST_F(ShortcutsProviderTest, CalculateScore) { 489 TEST_F(ShortcutsProviderTest, CalculateScore) {
490 ShortcutsBackend::Shortcut shortcut( 490 ShortcutsBackend::Shortcut shortcut(
491 std::string(), ASCIIToUTF16("test"), 491 std::string(), ASCIIToUTF16("test"),
492 ShortcutsBackend::Shortcut::MatchCore( 492 ShortcutsBackend::Shortcut::MatchCore(
493 ASCIIToUTF16("www.test.com"), GURL("http://www.test.com"), 493 ASCIIToUTF16("www.test.com"), GURL("http://www.test.com"),
494 ASCIIToUTF16("www.test.com"), 494 ASCIIToUTF16("www.test.com"),
495 AutocompleteMatch::ClassificationsFromString("0,1,4,3,8,1"), 495 AutocompleteMatch::ClassificationsFromString("0,1,4,3,8,1"),
496 ASCIIToUTF16("A test"), 496 ASCIIToUTF16("A test"),
497 AutocompleteMatch::ClassificationsFromString("0,0,2,2"), 497 AutocompleteMatch::ClassificationsFromString("0,0,2,2"),
498 content::PAGE_TRANSITION_TYPED, AutocompleteMatchType::HISTORY_URL, 498 content::PAGE_TRANSITION_TYPED, AutocompleteMatchType::HISTORY_URL,
499 string16()), 499 base::string16()),
500 base::Time::Now(), 1); 500 base::Time::Now(), 1);
501 501
502 // Maximal score. 502 // Maximal score.
503 const int max_relevance = AutocompleteResult::kLowestDefaultScore - 1; 503 const int max_relevance = AutocompleteResult::kLowestDefaultScore - 1;
504 const int kMaxScore = CalculateScore("test", shortcut, max_relevance); 504 const int kMaxScore = CalculateScore("test", shortcut, max_relevance);
505 505
506 // Score decreases as percent of the match is decreased. 506 // Score decreases as percent of the match is decreased.
507 int score_three_quarters = CalculateScore("tes", shortcut, max_relevance); 507 int score_three_quarters = CalculateScore("tes", shortcut, max_relevance);
508 EXPECT_LT(score_three_quarters, kMaxScore); 508 EXPECT_LT(score_three_quarters, kMaxScore);
509 int score_one_half = CalculateScore("te", shortcut, max_relevance); 509 int score_one_half = CalculateScore("te", shortcut, max_relevance);
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
594 match.description = ASCIIToUTF16(shortcuts_to_test_delete[3].description); 594 match.description = ASCIIToUTF16(shortcuts_to_test_delete[3].description);
595 595
596 provider_->DeleteMatch(match); 596 provider_->DeleteMatch(match);
597 EXPECT_EQ(original_shortcuts_count + 1, backend_->shortcuts_map().size()); 597 EXPECT_EQ(original_shortcuts_count + 1, backend_->shortcuts_map().size());
598 EXPECT_TRUE(backend_->shortcuts_map().end() == 598 EXPECT_TRUE(backend_->shortcuts_map().end() ==
599 backend_->shortcuts_map().find(ASCIIToUTF16("delete"))); 599 backend_->shortcuts_map().find(ASCIIToUTF16("delete")));
600 } 600 }
601 601
602 TEST_F(ShortcutsProviderTest, Extension) { 602 TEST_F(ShortcutsProviderTest, Extension) {
603 // Try an input string that matches an extension URL. 603 // Try an input string that matches an extension URL.
604 string16 text(ASCIIToUTF16("echo")); 604 base::string16 text(ASCIIToUTF16("echo"));
605 std::string expected_url( 605 std::string expected_url(
606 "chrome-extension://cedabbhfglmiikkmdgcpjdkocfcmbkee/?q=echo"); 606 "chrome-extension://cedabbhfglmiikkmdgcpjdkocfcmbkee/?q=echo");
607 URLs expected_urls; 607 URLs expected_urls;
608 expected_urls.push_back(expected_url); 608 expected_urls.push_back(expected_url);
609 RunTest(text, expected_urls, expected_url); 609 RunTest(text, expected_urls, expected_url);
610 610
611 // Claim the extension has been unloaded. 611 // Claim the extension has been unloaded.
612 scoped_refptr<const extensions::Extension> extension = 612 scoped_refptr<const extensions::Extension> extension =
613 extensions::ExtensionBuilder() 613 extensions::ExtensionBuilder()
614 .SetManifest(extensions::DictionaryBuilder() 614 .SetManifest(extensions::DictionaryBuilder()
615 .Set("name", "Echo") 615 .Set("name", "Echo")
616 .Set("version", "1.0")) 616 .Set("version", "1.0"))
617 .SetID("cedabbhfglmiikkmdgcpjdkocfcmbkee") 617 .SetID("cedabbhfglmiikkmdgcpjdkocfcmbkee")
618 .Build(); 618 .Build();
619 extensions::UnloadedExtensionInfo details( 619 extensions::UnloadedExtensionInfo details(
620 extension.get(), extensions::UnloadedExtensionInfo::REASON_UNINSTALL); 620 extension.get(), extensions::UnloadedExtensionInfo::REASON_UNINSTALL);
621 content::NotificationService::current()->Notify( 621 content::NotificationService::current()->Notify(
622 chrome::NOTIFICATION_EXTENSION_UNLOADED, 622 chrome::NOTIFICATION_EXTENSION_UNLOADED,
623 content::Source<Profile>(&profile_), 623 content::Source<Profile>(&profile_),
624 content::Details<extensions::UnloadedExtensionInfo>(&details)); 624 content::Details<extensions::UnloadedExtensionInfo>(&details));
625 625
626 // Now the URL should have disappeared. 626 // Now the URL should have disappeared.
627 RunTest(text, URLs(), std::string()); 627 RunTest(text, URLs(), std::string());
628 } 628 }
629 629
630 } // namespace history 630 } // namespace history
OLDNEW
« no previous file with comments | « chrome/browser/autocomplete/shortcuts_provider.cc ('k') | chrome/browser/autocomplete/url_prefix.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698