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

Side by Side Diff: components/omnibox/browser/bookmark_provider_unittest.cc

Issue 2738003002: Add title to current page in zero suggest. (Closed)
Patch Set: Remove debugging info. Created 3 years, 7 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
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 "components/omnibox/browser/bookmark_provider.h" 5 #include "components/omnibox/browser/bookmark_provider.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <memory> 10 #include <memory>
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 {"foo foobar", 1, {{{0, 6}, {7, 13}, {0, 0}}}}, 272 {"foo foobar", 1, {{{0, 6}, {7, 13}, {0, 0}}}},
273 // This ensures that leading whitespace in the title is not removed. 273 // This ensures that leading whitespace in the title is not removed.
274 {"hello", 1, {{{1, 6}, {9, 14}, {0, 0}}}}, 274 {"hello", 1, {{{1, 6}, {9, 14}, {0, 0}}}},
275 // This ensures that empty titles yield empty classifications. 275 // This ensures that empty titles yield empty classifications.
276 {"emptytitle", 1, {}}, 276 {"emptytitle", 1, {}},
277 }; 277 };
278 278
279 for (size_t i = 0; i < arraysize(query_data); ++i) { 279 for (size_t i = 0; i < arraysize(query_data); ++i) {
280 AutocompleteInput input(base::ASCIIToUTF16(query_data[i].query), 280 AutocompleteInput input(base::ASCIIToUTF16(query_data[i].query),
281 base::string16::npos, std::string(), GURL(), 281 base::string16::npos, std::string(), GURL(),
282 base::string16(),
282 metrics::OmniboxEventProto::INVALID_SPEC, false, 283 metrics::OmniboxEventProto::INVALID_SPEC, false,
283 false, false, true, false, TestSchemeClassifier()); 284 false, false, true, false, TestSchemeClassifier());
284 provider_->Start(input, false); 285 provider_->Start(input, false);
285 const ACMatches& matches(provider_->matches()); 286 const ACMatches& matches(provider_->matches());
286 // Validate number of results is as expected. 287 // Validate number of results is as expected.
287 EXPECT_LE(matches.size(), query_data[i].match_count) 288 EXPECT_LE(matches.size(), query_data[i].match_count)
288 << "One or more of the following matches were unexpected:\n" 289 << "One or more of the following matches were unexpected:\n"
289 << MatchesAsString16(matches) 290 << MatchesAsString16(matches)
290 << "For query '" << query_data[i].query << "'."; 291 << "For query '" << query_data[i].query << "'.";
291 EXPECT_GE(matches.size(), query_data[i].match_count) 292 EXPECT_GE(matches.size(), query_data[i].match_count)
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
352 "burning worms #2"}}, // not boosted 353 "burning worms #2"}}, // not boosted
353 // A query of "worm burn" will have the same results. 354 // A query of "worm burn" will have the same results.
354 {"worm burn", 3, {"burning worms #1", // boosted 355 {"worm burn", 3, {"burning worms #1", // boosted
355 "worming burns #10", // boosted but longer title 356 "worming burns #10", // boosted but longer title
356 "burning worms #2"}}, // not boosted 357 "burning worms #2"}}, // not boosted
357 }; 358 };
358 359
359 for (size_t i = 0; i < arraysize(query_data); ++i) { 360 for (size_t i = 0; i < arraysize(query_data); ++i) {
360 AutocompleteInput input(base::ASCIIToUTF16(query_data[i].query), 361 AutocompleteInput input(base::ASCIIToUTF16(query_data[i].query),
361 base::string16::npos, std::string(), GURL(), 362 base::string16::npos, std::string(), GURL(),
363 base::string16(),
362 metrics::OmniboxEventProto::INVALID_SPEC, false, 364 metrics::OmniboxEventProto::INVALID_SPEC, false,
363 false, false, true, false, TestSchemeClassifier()); 365 false, false, true, false, TestSchemeClassifier());
364 provider_->Start(input, false); 366 provider_->Start(input, false);
365 const ACMatches& matches(provider_->matches()); 367 const ACMatches& matches(provider_->matches());
366 // Validate number and content of results is as expected. 368 // Validate number and content of results is as expected.
367 for (size_t j = 0; j < std::max(query_data[i].match_count, matches.size()); 369 for (size_t j = 0; j < std::max(query_data[i].match_count, matches.size());
368 ++j) { 370 ++j) {
369 EXPECT_LT(j, query_data[i].match_count) << " Unexpected match '" 371 EXPECT_LT(j, query_data[i].match_count) << " Unexpected match '"
370 << base::UTF16ToUTF8(matches[j].description) << "' for query: '" 372 << base::UTF16ToUTF8(matches[j].description) << "' for query: '"
371 << query_data[i].query << "'."; 373 << query_data[i].query << "'.";
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
408 // need to be in the bookmarks list because BookmarkProvider's 410 // need to be in the bookmarks list because BookmarkProvider's
409 // TitleMatchToACMatch() has an assertion that verifies the URL is 411 // TitleMatchToACMatch() has an assertion that verifies the URL is
410 // actually bookmarked. 412 // actually bookmarked.
411 }; 413 };
412 414
413 for (size_t i = 0; i < arraysize(query_data); ++i) { 415 for (size_t i = 0; i < arraysize(query_data); ++i) {
414 const std::string description = "for query=" + query_data[i].query + 416 const std::string description = "for query=" + query_data[i].query +
415 " and url=" + query_data[i].url; 417 " and url=" + query_data[i].url;
416 AutocompleteInput input(base::ASCIIToUTF16(query_data[i].query), 418 AutocompleteInput input(base::ASCIIToUTF16(query_data[i].query),
417 base::string16::npos, std::string(), GURL(), 419 base::string16::npos, std::string(), GURL(),
420 base::string16(),
418 metrics::OmniboxEventProto::INVALID_SPEC, false, 421 metrics::OmniboxEventProto::INVALID_SPEC, false,
419 false, false, true, false, TestSchemeClassifier()); 422 false, false, true, false, TestSchemeClassifier());
420 const base::string16 fixed_up_input( 423 const base::string16 fixed_up_input(
421 provider_->FixupUserInput(input).second); 424 provider_->FixupUserInput(input).second);
422 BookmarkNode node(GURL(query_data[i].url)); 425 BookmarkNode node(GURL(query_data[i].url));
423 node.SetTitle(base::ASCIIToUTF16(query_data[i].url)); 426 node.SetTitle(base::ASCIIToUTF16(query_data[i].url));
424 TitledUrlMatch bookmark_match; 427 TitledUrlMatch bookmark_match;
425 bookmark_match.node = &node; 428 bookmark_match.node = &node;
426 int relevance = provider_->CalculateBookmarkMatchRelevance(bookmark_match); 429 int relevance = provider_->CalculateBookmarkMatchRelevance(bookmark_match);
427 const AutocompleteMatch& ac_match = TitledUrlMatchToAutocompleteMatch( 430 const AutocompleteMatch& ac_match = TitledUrlMatchToAutocompleteMatch(
(...skipping 24 matching lines...) Expand all
452 { "dom http", "http://www.domain.com/http/", 455 { "dom http", "http://www.domain.com/http/",
453 "0:3,4:1,11:3,14:1,22:3,26:1" }, 456 "0:3,4:1,11:3,14:1,22:3,26:1" },
454 { "rep", "www.repeat.com/1/repeat/2/", "0:1,4:3,7:1,17:3,20:1" }, 457 { "rep", "www.repeat.com/1/repeat/2/", "0:1,4:3,7:1,17:3,20:1" },
455 { "versi", "chrome://version", "0:1,9:3,14:1" } 458 { "versi", "chrome://version", "0:1,9:3,14:1" }
456 }; 459 };
457 460
458 for (size_t i = 0; i < arraysize(query_data); ++i) { 461 for (size_t i = 0; i < arraysize(query_data); ++i) {
459 std::string description = "for query=" + query_data[i].query; 462 std::string description = "for query=" + query_data[i].query;
460 AutocompleteInput input(base::ASCIIToUTF16(query_data[i].query), 463 AutocompleteInput input(base::ASCIIToUTF16(query_data[i].query),
461 base::string16::npos, std::string(), GURL(), 464 base::string16::npos, std::string(), GURL(),
465 base::string16(),
462 metrics::OmniboxEventProto::INVALID_SPEC, false, 466 metrics::OmniboxEventProto::INVALID_SPEC, false,
463 false, false, true, false, TestSchemeClassifier()); 467 false, false, true, false, TestSchemeClassifier());
464 provider_->Start(input, false); 468 provider_->Start(input, false);
465 const ACMatches& matches(provider_->matches()); 469 const ACMatches& matches(provider_->matches());
466 ASSERT_EQ(1U, matches.size()) << description; 470 ASSERT_EQ(1U, matches.size()) << description;
467 const AutocompleteMatch& match = matches[0]; 471 const AutocompleteMatch& match = matches[0];
468 EXPECT_EQ(base::ASCIIToUTF16(query_data[i].expected_contents), 472 EXPECT_EQ(base::ASCIIToUTF16(query_data[i].expected_contents),
469 match.contents) << description; 473 match.contents) << description;
470 std::vector<std::string> class_strings = base::SplitString( 474 std::vector<std::string> class_strings = base::SplitString(
471 query_data[i].expected_contents_class, ",", 475 query_data[i].expected_contents_class, ",",
472 base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); 476 base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
473 ASSERT_EQ(class_strings.size(), match.contents_class.size()) 477 ASSERT_EQ(class_strings.size(), match.contents_class.size())
474 << description; 478 << description;
475 for (size_t i = 0; i < class_strings.size(); ++i) { 479 for (size_t i = 0; i < class_strings.size(); ++i) {
476 std::vector<std::string> chunks = base::SplitString( 480 std::vector<std::string> chunks = base::SplitString(
477 class_strings[i], ":", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); 481 class_strings[i], ":", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
478 ASSERT_EQ(2U, chunks.size()) << description; 482 ASSERT_EQ(2U, chunks.size()) << description;
479 size_t offset; 483 size_t offset;
480 EXPECT_TRUE(base::StringToSizeT(chunks[0], &offset)) << description; 484 EXPECT_TRUE(base::StringToSizeT(chunks[0], &offset)) << description;
481 EXPECT_EQ(offset, match.contents_class[i].offset) << description; 485 EXPECT_EQ(offset, match.contents_class[i].offset) << description;
482 int style; 486 int style;
483 EXPECT_TRUE(base::StringToInt(chunks[1], &style)) << description; 487 EXPECT_TRUE(base::StringToInt(chunks[1], &style)) << description;
484 EXPECT_EQ(style, match.contents_class[i].style) << description; 488 EXPECT_EQ(style, match.contents_class[i].style) << description;
485 } 489 }
486 } 490 }
487 } 491 }
488 492
489 TEST_F(BookmarkProviderTest, DoesNotProvideMatchesOnFocus) { 493 TEST_F(BookmarkProviderTest, DoesNotProvideMatchesOnFocus) {
490 AutocompleteInput input(base::ASCIIToUTF16("foo"), base::string16::npos, 494 AutocompleteInput input(base::ASCIIToUTF16("foo"), base::string16::npos,
491 std::string(), GURL(), 495 std::string(), GURL(), base::string16(),
492 metrics::OmniboxEventProto::INVALID_SPEC, false, 496 metrics::OmniboxEventProto::INVALID_SPEC, false,
493 false, false, true, true, TestSchemeClassifier()); 497 false, false, true, true, TestSchemeClassifier());
494 provider_->Start(input, false); 498 provider_->Start(input, false);
495 EXPECT_TRUE(provider_->matches().empty()); 499 EXPECT_TRUE(provider_->matches().empty());
496 } 500 }
OLDNEW
« no previous file with comments | « components/omnibox/browser/autocomplete_result_unittest.cc ('k') | components/omnibox/browser/builtin_provider_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698