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

Side by Side Diff: components/bookmarks/browser/bookmark_index_unittest.cc

Issue 2537223008: Add TitledUrlIndex for indexing arbitrary title/URL pairs (Closed)
Patch Set: const Created 4 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/bookmarks/browser/bookmark_index.h" 5 #include "components/bookmarks/browser/bookmark_index.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 void ExpectMatches(const std::string& query, 93 void ExpectMatches(const std::string& query,
94 query_parser::MatchingAlgorithm matching_algorithm, 94 query_parser::MatchingAlgorithm matching_algorithm,
95 const std::vector<std::string>& expected_titles) { 95 const std::vector<std::string>& expected_titles) {
96 std::vector<BookmarkMatch> matches; 96 std::vector<BookmarkMatch> matches;
97 model_->GetBookmarksMatching(ASCIIToUTF16(query), 1000, matching_algorithm, 97 model_->GetBookmarksMatching(ASCIIToUTF16(query), 1000, matching_algorithm,
98 &matches); 98 &matches);
99 ASSERT_EQ(expected_titles.size(), matches.size()); 99 ASSERT_EQ(expected_titles.size(), matches.size());
100 for (size_t i = 0; i < expected_titles.size(); ++i) { 100 for (size_t i = 0; i < expected_titles.size(); ++i) {
101 bool found = false; 101 bool found = false;
102 for (size_t j = 0; j < matches.size(); ++j) { 102 for (size_t j = 0; j < matches.size(); ++j) {
103 if (ASCIIToUTF16(expected_titles[i]) == matches[j].node->GetTitle()) { 103 const base::string16& title = matches[j].node->GetTitledUrlNodeTitle();
104 if (ASCIIToUTF16(expected_titles[i]) == title) {
104 matches.erase(matches.begin() + j); 105 matches.erase(matches.begin() + j);
105 found = true; 106 found = true;
106 break; 107 break;
107 } 108 }
108 } 109 }
109 ASSERT_TRUE(found); 110 ASSERT_TRUE(found);
110 } 111 }
111 } 112 }
112 113
113 void ExtractMatchPositions(const std::string& string, 114 void ExtractMatchPositions(const std::string& string,
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 526
526 std::map<GURL, int> typed_count_map; 527 std::map<GURL, int> typed_count_map;
527 for (size_t i = 0; i < arraysize(data); ++i) 528 for (size_t i = 0; i < arraysize(data); ++i)
528 typed_count_map.insert(std::make_pair(data[i].url, data[i].typed_count)); 529 typed_count_map.insert(std::make_pair(data[i].url, data[i].typed_count));
529 530
530 std::unique_ptr<BookmarkModel> model = 531 std::unique_ptr<BookmarkModel> model =
531 TestBookmarkClient::CreateModelWithClient( 532 TestBookmarkClient::CreateModelWithClient(
532 base::MakeUnique<BookmarkClientMock>(typed_count_map)); 533 base::MakeUnique<BookmarkClientMock>(typed_count_map));
533 534
534 for (size_t i = 0; i < arraysize(data); ++i) 535 for (size_t i = 0; i < arraysize(data); ++i)
535 // Populate the BookmarkIndex. 536 // Populate the bookmark index.
536 model->AddURL( 537 model->AddURL(
537 model->other_node(), i, UTF8ToUTF16(data[i].title), data[i].url); 538 model->other_node(), i, UTF8ToUTF16(data[i].title), data[i].url);
538 539
539 // Populate match nodes. 540 // Populate match nodes.
540 std::vector<BookmarkMatch> matches; 541 std::vector<BookmarkMatch> matches;
541 model->GetBookmarksMatching(ASCIIToUTF16("google"), 4, &matches); 542 model->GetBookmarksMatching(ASCIIToUTF16("google"), 4, &matches);
542 543
543 // The resulting order should be: 544 // The resulting order should be:
544 // 1. Google (google.com) 100 545 // 1. Google (google.com) 100
545 // 2. Google Reader (google.com/reader) 80 546 // 2. Google Reader (google.com/reader) 80
546 // 3. Google Docs (docs.google.com) 50 547 // 3. Google Docs (docs.google.com) 50
547 // 4. Google Maps (maps.google.com) 40 548 // 4. Google Maps (maps.google.com) 40
548 ASSERT_EQ(4U, matches.size()); 549 ASSERT_EQ(4U, matches.size());
549 EXPECT_EQ(data[0].url, matches[0].node->url()); 550 EXPECT_EQ(data[0].url, matches[0].node->GetTitledUrlNodeUrl());
550 EXPECT_EQ(data[3].url, matches[1].node->url()); 551 EXPECT_EQ(data[3].url, matches[1].node->GetTitledUrlNodeUrl());
551 EXPECT_EQ(data[2].url, matches[2].node->url()); 552 EXPECT_EQ(data[2].url, matches[2].node->GetTitledUrlNodeUrl());
552 EXPECT_EQ(data[1].url, matches[3].node->url()); 553 EXPECT_EQ(data[1].url, matches[3].node->GetTitledUrlNodeUrl());
553 554
554 matches.clear(); 555 matches.clear();
555 // Select top two matches. 556 // Select top two matches.
556 model->GetBookmarksMatching(ASCIIToUTF16("google"), 2, &matches); 557 model->GetBookmarksMatching(ASCIIToUTF16("google"), 2, &matches);
557 558
558 ASSERT_EQ(2U, matches.size()); 559 ASSERT_EQ(2U, matches.size());
559 EXPECT_EQ(data[0].url, matches[0].node->url()); 560 EXPECT_EQ(data[0].url, matches[0].node->GetTitledUrlNodeUrl());
560 EXPECT_EQ(data[3].url, matches[1].node->url()); 561 EXPECT_EQ(data[3].url, matches[1].node->GetTitledUrlNodeUrl());
561 } 562 }
562 563
563 } // namespace 564 } // namespace
564 } // namespace bookmarks 565 } // namespace bookmarks
OLDNEW
« no previous file with comments | « components/bookmarks/browser/bookmark_index.cc ('k') | components/bookmarks/browser/bookmark_match.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698