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

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

Issue 1841653003: Drop |languages| from {Format,Elide}Url* and IDNToUnicode (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix typo in elide_url.cc Created 4 years, 8 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 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_utils.h" 5 #include "components/bookmarks/browser/bookmark_utils.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 0, 87 0,
88 ASCIIToUTF16("baz buz"), 88 ASCIIToUTF16("baz buz"),
89 GURL("http://www.cnn.com")); 89 GURL("http://www.cnn.com"));
90 const BookmarkNode* folder1 = 90 const BookmarkNode* folder1 =
91 model->AddFolder(model->other_node(), 0, ASCIIToUTF16("foo")); 91 model->AddFolder(model->other_node(), 0, ASCIIToUTF16("foo"));
92 std::vector<const BookmarkNode*> nodes; 92 std::vector<const BookmarkNode*> nodes;
93 QueryFields query; 93 QueryFields query;
94 query.word_phrase_query.reset(new base::string16); 94 query.word_phrase_query.reset(new base::string16);
95 // No nodes are returned for empty string. 95 // No nodes are returned for empty string.
96 *query.word_phrase_query = ASCIIToUTF16(""); 96 *query.word_phrase_query = ASCIIToUTF16("");
97 GetBookmarksMatchingProperties(model.get(), query, 100, string(), &nodes); 97 GetBookmarksMatchingProperties(model.get(), query, 100, &nodes);
98 EXPECT_TRUE(nodes.empty()); 98 EXPECT_TRUE(nodes.empty());
99 nodes.clear(); 99 nodes.clear();
100 100
101 // No nodes are returned for space-only string. 101 // No nodes are returned for space-only string.
102 *query.word_phrase_query = ASCIIToUTF16(" "); 102 *query.word_phrase_query = ASCIIToUTF16(" ");
103 GetBookmarksMatchingProperties(model.get(), query, 100, string(), &nodes); 103 GetBookmarksMatchingProperties(model.get(), query, 100, &nodes);
104 EXPECT_TRUE(nodes.empty()); 104 EXPECT_TRUE(nodes.empty());
105 nodes.clear(); 105 nodes.clear();
106 106
107 // Node "foo bar" and folder "foo" are returned in search results. 107 // Node "foo bar" and folder "foo" are returned in search results.
108 *query.word_phrase_query = ASCIIToUTF16("foo"); 108 *query.word_phrase_query = ASCIIToUTF16("foo");
109 GetBookmarksMatchingProperties(model.get(), query, 100, string(), &nodes); 109 GetBookmarksMatchingProperties(model.get(), query, 100, &nodes);
110 ASSERT_EQ(2U, nodes.size()); 110 ASSERT_EQ(2U, nodes.size());
111 EXPECT_TRUE(nodes[0] == folder1); 111 EXPECT_TRUE(nodes[0] == folder1);
112 EXPECT_TRUE(nodes[1] == node1); 112 EXPECT_TRUE(nodes[1] == node1);
113 nodes.clear(); 113 nodes.clear();
114 114
115 // Ensure url matches return in search results. 115 // Ensure url matches return in search results.
116 *query.word_phrase_query = ASCIIToUTF16("cnn"); 116 *query.word_phrase_query = ASCIIToUTF16("cnn");
117 GetBookmarksMatchingProperties(model.get(), query, 100, string(), &nodes); 117 GetBookmarksMatchingProperties(model.get(), query, 100, &nodes);
118 ASSERT_EQ(1U, nodes.size()); 118 ASSERT_EQ(1U, nodes.size());
119 EXPECT_TRUE(nodes[0] == node2); 119 EXPECT_TRUE(nodes[0] == node2);
120 nodes.clear(); 120 nodes.clear();
121 121
122 // Ensure folder "foo" is not returned in more specific search. 122 // Ensure folder "foo" is not returned in more specific search.
123 *query.word_phrase_query = ASCIIToUTF16("foo bar"); 123 *query.word_phrase_query = ASCIIToUTF16("foo bar");
124 GetBookmarksMatchingProperties(model.get(), query, 100, string(), &nodes); 124 GetBookmarksMatchingProperties(model.get(), query, 100, &nodes);
125 ASSERT_EQ(1U, nodes.size()); 125 ASSERT_EQ(1U, nodes.size());
126 EXPECT_TRUE(nodes[0] == node1); 126 EXPECT_TRUE(nodes[0] == node1);
127 nodes.clear(); 127 nodes.clear();
128 128
129 // Bookmark Bar and Other Bookmarks are not returned in search results. 129 // Bookmark Bar and Other Bookmarks are not returned in search results.
130 *query.word_phrase_query = ASCIIToUTF16("Bookmark"); 130 *query.word_phrase_query = ASCIIToUTF16("Bookmark");
131 GetBookmarksMatchingProperties(model.get(), query, 100, string(), &nodes); 131 GetBookmarksMatchingProperties(model.get(), query, 100, &nodes);
132 ASSERT_EQ(0U, nodes.size()); 132 ASSERT_EQ(0U, nodes.size());
133 nodes.clear(); 133 nodes.clear();
134 } 134 }
135 135
136 // Check exact matching against a URL query. 136 // Check exact matching against a URL query.
137 TEST_F(BookmarkUtilsTest, GetBookmarksMatchingPropertiesUrl) { 137 TEST_F(BookmarkUtilsTest, GetBookmarksMatchingPropertiesUrl) {
138 scoped_ptr<BookmarkModel> model(TestBookmarkClient::CreateModel()); 138 scoped_ptr<BookmarkModel> model(TestBookmarkClient::CreateModel());
139 const BookmarkNode* node1 = model->AddURL(model->other_node(), 139 const BookmarkNode* node1 = model->AddURL(model->other_node(),
140 0, 140 0,
141 ASCIIToUTF16("Google"), 141 ASCIIToUTF16("Google"),
142 GURL("https://www.google.com/")); 142 GURL("https://www.google.com/"));
143 model->AddURL(model->other_node(), 143 model->AddURL(model->other_node(),
144 0, 144 0,
145 ASCIIToUTF16("Google Calendar"), 145 ASCIIToUTF16("Google Calendar"),
146 GURL("https://www.google.com/calendar")); 146 GURL("https://www.google.com/calendar"));
147 147
148 model->AddFolder(model->other_node(), 0, ASCIIToUTF16("Folder")); 148 model->AddFolder(model->other_node(), 0, ASCIIToUTF16("Folder"));
149 149
150 std::vector<const BookmarkNode*> nodes; 150 std::vector<const BookmarkNode*> nodes;
151 QueryFields query; 151 QueryFields query;
152 query.url.reset(new base::string16); 152 query.url.reset(new base::string16);
153 *query.url = ASCIIToUTF16("https://www.google.com/"); 153 *query.url = ASCIIToUTF16("https://www.google.com/");
154 GetBookmarksMatchingProperties(model.get(), query, 100, string(), &nodes); 154 GetBookmarksMatchingProperties(model.get(), query, 100, &nodes);
155 ASSERT_EQ(1U, nodes.size()); 155 ASSERT_EQ(1U, nodes.size());
156 EXPECT_TRUE(nodes[0] == node1); 156 EXPECT_TRUE(nodes[0] == node1);
157 nodes.clear(); 157 nodes.clear();
158 158
159 *query.url = ASCIIToUTF16("calendar"); 159 *query.url = ASCIIToUTF16("calendar");
160 GetBookmarksMatchingProperties(model.get(), query, 100, string(), &nodes); 160 GetBookmarksMatchingProperties(model.get(), query, 100, &nodes);
161 ASSERT_EQ(0U, nodes.size()); 161 ASSERT_EQ(0U, nodes.size());
162 nodes.clear(); 162 nodes.clear();
163 163
164 // Empty URL should not match folders. 164 // Empty URL should not match folders.
165 *query.url = ASCIIToUTF16(""); 165 *query.url = ASCIIToUTF16("");
166 GetBookmarksMatchingProperties(model.get(), query, 100, string(), &nodes); 166 GetBookmarksMatchingProperties(model.get(), query, 100, &nodes);
167 ASSERT_EQ(0U, nodes.size()); 167 ASSERT_EQ(0U, nodes.size());
168 nodes.clear(); 168 nodes.clear();
169 } 169 }
170 170
171 // Check exact matching against a title query. 171 // Check exact matching against a title query.
172 TEST_F(BookmarkUtilsTest, GetBookmarksMatchingPropertiesTitle) { 172 TEST_F(BookmarkUtilsTest, GetBookmarksMatchingPropertiesTitle) {
173 scoped_ptr<BookmarkModel> model(TestBookmarkClient::CreateModel()); 173 scoped_ptr<BookmarkModel> model(TestBookmarkClient::CreateModel());
174 const BookmarkNode* node1 = model->AddURL(model->other_node(), 174 const BookmarkNode* node1 = model->AddURL(model->other_node(),
175 0, 175 0,
176 ASCIIToUTF16("Google"), 176 ASCIIToUTF16("Google"),
177 GURL("https://www.google.com/")); 177 GURL("https://www.google.com/"));
178 model->AddURL(model->other_node(), 178 model->AddURL(model->other_node(),
179 0, 179 0,
180 ASCIIToUTF16("Google Calendar"), 180 ASCIIToUTF16("Google Calendar"),
181 GURL("https://www.google.com/calendar")); 181 GURL("https://www.google.com/calendar"));
182 182
183 const BookmarkNode* folder1 = 183 const BookmarkNode* folder1 =
184 model->AddFolder(model->other_node(), 0, ASCIIToUTF16("Folder")); 184 model->AddFolder(model->other_node(), 0, ASCIIToUTF16("Folder"));
185 185
186 std::vector<const BookmarkNode*> nodes; 186 std::vector<const BookmarkNode*> nodes;
187 QueryFields query; 187 QueryFields query;
188 query.title.reset(new base::string16); 188 query.title.reset(new base::string16);
189 *query.title = ASCIIToUTF16("Google"); 189 *query.title = ASCIIToUTF16("Google");
190 GetBookmarksMatchingProperties(model.get(), query, 100, string(), &nodes); 190 GetBookmarksMatchingProperties(model.get(), query, 100, &nodes);
191 ASSERT_EQ(1U, nodes.size()); 191 ASSERT_EQ(1U, nodes.size());
192 EXPECT_TRUE(nodes[0] == node1); 192 EXPECT_TRUE(nodes[0] == node1);
193 nodes.clear(); 193 nodes.clear();
194 194
195 *query.title = ASCIIToUTF16("Calendar"); 195 *query.title = ASCIIToUTF16("Calendar");
196 GetBookmarksMatchingProperties(model.get(), query, 100, string(), &nodes); 196 GetBookmarksMatchingProperties(model.get(), query, 100, &nodes);
197 ASSERT_EQ(0U, nodes.size()); 197 ASSERT_EQ(0U, nodes.size());
198 nodes.clear(); 198 nodes.clear();
199 199
200 // Title should match folders. 200 // Title should match folders.
201 *query.title = ASCIIToUTF16("Folder"); 201 *query.title = ASCIIToUTF16("Folder");
202 GetBookmarksMatchingProperties(model.get(), query, 100, string(), &nodes); 202 GetBookmarksMatchingProperties(model.get(), query, 100, &nodes);
203 ASSERT_EQ(1U, nodes.size()); 203 ASSERT_EQ(1U, nodes.size());
204 EXPECT_TRUE(nodes[0] == folder1); 204 EXPECT_TRUE(nodes[0] == folder1);
205 nodes.clear(); 205 nodes.clear();
206 } 206 }
207 207
208 // Check matching against a query with multiple predicates. 208 // Check matching against a query with multiple predicates.
209 TEST_F(BookmarkUtilsTest, GetBookmarksMatchingPropertiesConjunction) { 209 TEST_F(BookmarkUtilsTest, GetBookmarksMatchingPropertiesConjunction) {
210 scoped_ptr<BookmarkModel> model(TestBookmarkClient::CreateModel()); 210 scoped_ptr<BookmarkModel> model(TestBookmarkClient::CreateModel());
211 const BookmarkNode* node1 = model->AddURL(model->other_node(), 211 const BookmarkNode* node1 = model->AddURL(model->other_node(),
212 0, 212 0,
213 ASCIIToUTF16("Google"), 213 ASCIIToUTF16("Google"),
214 GURL("https://www.google.com/")); 214 GURL("https://www.google.com/"));
215 model->AddURL(model->other_node(), 215 model->AddURL(model->other_node(),
216 0, 216 0,
217 ASCIIToUTF16("Google Calendar"), 217 ASCIIToUTF16("Google Calendar"),
218 GURL("https://www.google.com/calendar")); 218 GURL("https://www.google.com/calendar"));
219 219
220 model->AddFolder(model->other_node(), 0, ASCIIToUTF16("Folder")); 220 model->AddFolder(model->other_node(), 0, ASCIIToUTF16("Folder"));
221 221
222 std::vector<const BookmarkNode*> nodes; 222 std::vector<const BookmarkNode*> nodes;
223 QueryFields query; 223 QueryFields query;
224 224
225 // Test all fields matching. 225 // Test all fields matching.
226 query.word_phrase_query.reset(new base::string16(ASCIIToUTF16("www"))); 226 query.word_phrase_query.reset(new base::string16(ASCIIToUTF16("www")));
227 query.url.reset(new base::string16(ASCIIToUTF16("https://www.google.com/"))); 227 query.url.reset(new base::string16(ASCIIToUTF16("https://www.google.com/")));
228 query.title.reset(new base::string16(ASCIIToUTF16("Google"))); 228 query.title.reset(new base::string16(ASCIIToUTF16("Google")));
229 GetBookmarksMatchingProperties(model.get(), query, 100, string(), &nodes); 229 GetBookmarksMatchingProperties(model.get(), query, 100, &nodes);
230 ASSERT_EQ(1U, nodes.size()); 230 ASSERT_EQ(1U, nodes.size());
231 EXPECT_TRUE(nodes[0] == node1); 231 EXPECT_TRUE(nodes[0] == node1);
232 nodes.clear(); 232 nodes.clear();
233 233
234 scoped_ptr<base::string16>* fields[] = { 234 scoped_ptr<base::string16>* fields[] = {
235 &query.word_phrase_query, &query.url, &query.title }; 235 &query.word_phrase_query, &query.url, &query.title };
236 236
237 // Test two fields matching. 237 // Test two fields matching.
238 for (size_t i = 0; i < arraysize(fields); i++) { 238 for (size_t i = 0; i < arraysize(fields); i++) {
239 scoped_ptr<base::string16> original_value(fields[i]->release()); 239 scoped_ptr<base::string16> original_value(fields[i]->release());
240 GetBookmarksMatchingProperties(model.get(), query, 100, string(), &nodes); 240 GetBookmarksMatchingProperties(model.get(), query, 100, &nodes);
241 ASSERT_EQ(1U, nodes.size()); 241 ASSERT_EQ(1U, nodes.size());
242 EXPECT_TRUE(nodes[0] == node1); 242 EXPECT_TRUE(nodes[0] == node1);
243 nodes.clear(); 243 nodes.clear();
244 fields[i]->reset(original_value.release()); 244 fields[i]->reset(original_value.release());
245 } 245 }
246 246
247 // Test two fields matching with one non-matching field. 247 // Test two fields matching with one non-matching field.
248 for (size_t i = 0; i < arraysize(fields); i++) { 248 for (size_t i = 0; i < arraysize(fields); i++) {
249 scoped_ptr<base::string16> original_value(fields[i]->release()); 249 scoped_ptr<base::string16> original_value(fields[i]->release());
250 fields[i]->reset(new base::string16(ASCIIToUTF16("fjdkslafjkldsa"))); 250 fields[i]->reset(new base::string16(ASCIIToUTF16("fjdkslafjkldsa")));
251 GetBookmarksMatchingProperties(model.get(), query, 100, string(), &nodes); 251 GetBookmarksMatchingProperties(model.get(), query, 100, &nodes);
252 ASSERT_EQ(0U, nodes.size()); 252 ASSERT_EQ(0U, nodes.size());
253 nodes.clear(); 253 nodes.clear();
254 fields[i]->reset(original_value.release()); 254 fields[i]->reset(original_value.release());
255 } 255 }
256 } 256 }
257 257
258 // Copy and paste is not yet supported on iOS. http://crbug.com/228147 258 // Copy and paste is not yet supported on iOS. http://crbug.com/228147
259 #if !defined(OS_IOS) 259 #if !defined(OS_IOS)
260 TEST_F(BookmarkUtilsTest, PasteBookmarkFromURL) { 260 TEST_F(BookmarkUtilsTest, PasteBookmarkFromURL) {
261 scoped_ptr<BookmarkModel> model(TestBookmarkClient::CreateModel()); 261 scoped_ptr<BookmarkModel> model(TestBookmarkClient::CreateModel());
(...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after
597 model->GetNodesByURL(url, &nodes); 597 model->GetNodesByURL(url, &nodes);
598 ASSERT_EQ(1u, nodes.size()); 598 ASSERT_EQ(1u, nodes.size());
599 EXPECT_TRUE(model->bookmark_bar_node()->empty()); 599 EXPECT_TRUE(model->bookmark_bar_node()->empty());
600 EXPECT_TRUE(model->other_node()->empty()); 600 EXPECT_TRUE(model->other_node()->empty());
601 EXPECT_TRUE(model->mobile_node()->empty()); 601 EXPECT_TRUE(model->mobile_node()->empty());
602 EXPECT_EQ(1, extra_node->child_count()); 602 EXPECT_EQ(1, extra_node->child_count());
603 } 603 }
604 604
605 } // namespace 605 } // namespace
606 } // namespace bookmarks 606 } // namespace bookmarks
OLDNEW
« no previous file with comments | « components/bookmarks/browser/bookmark_utils.cc ('k') | components/bookmarks/managed/managed_bookmarks_tracker_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698