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

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

Issue 338593002: Set metainfo ID for enhanced bookmarks extension (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkgr
Patch Set: add comments for hash values Created 6 years, 6 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
« no previous file with comments | « components/bookmarks/browser/bookmark_model_observer.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_model.h" 5 #include "components/bookmarks/browser/bookmark_model.h"
6 6
7 #include <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 9
10 #include "base/base_paths.h" 10 #include "base/base_paths.h"
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 151
152 virtual void BookmarkNodeMoved(BookmarkModel* model, 152 virtual void BookmarkNodeMoved(BookmarkModel* model,
153 const BookmarkNode* old_parent, 153 const BookmarkNode* old_parent,
154 int old_index, 154 int old_index,
155 const BookmarkNode* new_parent, 155 const BookmarkNode* new_parent,
156 int new_index) OVERRIDE { 156 int new_index) OVERRIDE {
157 ++moved_count_; 157 ++moved_count_;
158 observer_details_.Set(old_parent, new_parent, old_index, new_index); 158 observer_details_.Set(old_parent, new_parent, old_index, new_index);
159 } 159 }
160 160
161 virtual void OnWillAddBookmarkNode(BookmarkModel* model,
162 BookmarkNode* node) OVERRIDE {
163 ++will_add_count_;
164 EXPECT_TRUE(node->parent() == NULL);
165 }
166
161 virtual void BookmarkNodeAdded(BookmarkModel* model, 167 virtual void BookmarkNodeAdded(BookmarkModel* model,
162 const BookmarkNode* parent, 168 const BookmarkNode* parent,
163 int index) OVERRIDE { 169 int index) OVERRIDE {
164 ++added_count_; 170 ++added_count_;
165 observer_details_.Set(parent, NULL, index, -1); 171 observer_details_.Set(parent, NULL, index, -1);
166 } 172 }
167 173
168 virtual void OnWillRemoveBookmarks(BookmarkModel* model, 174 virtual void OnWillRemoveBookmarks(BookmarkModel* model,
169 const BookmarkNode* parent, 175 const BookmarkNode* parent,
170 int old_index, 176 int old_index,
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 BookmarkModel* model, 229 BookmarkModel* model,
224 const std::set<GURL>& removed_urls) OVERRIDE { 230 const std::set<GURL>& removed_urls) OVERRIDE {
225 ++all_bookmarks_removed_; 231 ++all_bookmarks_removed_;
226 } 232 }
227 233
228 virtual void OnWillRemoveAllUserBookmarks(BookmarkModel* model) OVERRIDE { 234 virtual void OnWillRemoveAllUserBookmarks(BookmarkModel* model) OVERRIDE {
229 ++before_remove_all_count_; 235 ++before_remove_all_count_;
230 } 236 }
231 237
232 void ClearCounts() { 238 void ClearCounts() {
233 added_count_ = moved_count_ = removed_count_ = changed_count_ = 239 will_add_count_ = added_count_ = moved_count_ = removed_count_ =
234 reordered_count_ = extensive_changes_beginning_count_ = 240 changed_count_ = reordered_count_ = extensive_changes_beginning_count_ =
235 extensive_changes_ended_count_ = all_bookmarks_removed_ = 241 extensive_changes_ended_count_ = all_bookmarks_removed_ =
236 before_remove_count_ = before_change_count_ = before_reorder_count_ = 242 before_remove_count_ = before_change_count_ = before_reorder_count_ =
237 before_remove_all_count_ = 0; 243 before_remove_all_count_ = 0;
238 } 244 }
239 245
240 void AssertObserverCount(int added_count, 246 void AssertObserverCount(int will_add_count,
247 int added_count,
241 int moved_count, 248 int moved_count,
242 int removed_count, 249 int removed_count,
243 int changed_count, 250 int changed_count,
244 int reordered_count, 251 int reordered_count,
245 int before_remove_count, 252 int before_remove_count,
246 int before_change_count, 253 int before_change_count,
247 int before_reorder_count, 254 int before_reorder_count,
248 int before_remove_all_count) { 255 int before_remove_all_count) {
256 EXPECT_EQ(will_add_count_, will_add_count);
249 EXPECT_EQ(added_count_, added_count); 257 EXPECT_EQ(added_count_, added_count);
250 EXPECT_EQ(moved_count_, moved_count); 258 EXPECT_EQ(moved_count_, moved_count);
251 EXPECT_EQ(removed_count_, removed_count); 259 EXPECT_EQ(removed_count_, removed_count);
252 EXPECT_EQ(changed_count_, changed_count); 260 EXPECT_EQ(changed_count_, changed_count);
253 EXPECT_EQ(reordered_count_, reordered_count); 261 EXPECT_EQ(reordered_count_, reordered_count);
254 EXPECT_EQ(before_remove_count_, before_remove_count); 262 EXPECT_EQ(before_remove_count_, before_remove_count);
255 EXPECT_EQ(before_change_count_, before_change_count); 263 EXPECT_EQ(before_change_count_, before_change_count);
256 EXPECT_EQ(before_reorder_count_, before_reorder_count); 264 EXPECT_EQ(before_reorder_count_, before_reorder_count);
257 EXPECT_EQ(before_remove_all_count_, before_remove_all_count); 265 EXPECT_EQ(before_remove_all_count_, before_remove_all_count);
258 } 266 }
(...skipping 24 matching lines...) Expand all
283 291
284 return extra_node; 292 return extra_node;
285 } 293 }
286 294
287 protected: 295 protected:
288 test::TestBookmarkClient client_; 296 test::TestBookmarkClient client_;
289 scoped_ptr<BookmarkModel> model_; 297 scoped_ptr<BookmarkModel> model_;
290 ObserverDetails observer_details_; 298 ObserverDetails observer_details_;
291 299
292 private: 300 private:
301 int will_add_count_;
293 int added_count_; 302 int added_count_;
294 int moved_count_; 303 int moved_count_;
295 int removed_count_; 304 int removed_count_;
296 int changed_count_; 305 int changed_count_;
297 int reordered_count_; 306 int reordered_count_;
298 int extensive_changes_beginning_count_; 307 int extensive_changes_beginning_count_;
299 int extensive_changes_ended_count_; 308 int extensive_changes_ended_count_;
300 int all_bookmarks_removed_; 309 int all_bookmarks_removed_;
301 int before_remove_count_; 310 int before_remove_count_;
302 int before_change_count_; 311 int before_change_count_;
(...skipping 23 matching lines...) Expand all
326 EXPECT_TRUE(bb_node->id() != mobile_node->id()); 335 EXPECT_TRUE(bb_node->id() != mobile_node->id());
327 EXPECT_TRUE(other_node->id() != mobile_node->id()); 336 EXPECT_TRUE(other_node->id() != mobile_node->id());
328 } 337 }
329 338
330 TEST_F(BookmarkModelTest, AddURL) { 339 TEST_F(BookmarkModelTest, AddURL) {
331 const BookmarkNode* root = model_->bookmark_bar_node(); 340 const BookmarkNode* root = model_->bookmark_bar_node();
332 const base::string16 title(ASCIIToUTF16("foo")); 341 const base::string16 title(ASCIIToUTF16("foo"));
333 const GURL url("http://foo.com"); 342 const GURL url("http://foo.com");
334 343
335 const BookmarkNode* new_node = model_->AddURL(root, 0, title, url); 344 const BookmarkNode* new_node = model_->AddURL(root, 0, title, url);
336 AssertObserverCount(1, 0, 0, 0, 0, 0, 0, 0, 0); 345 AssertObserverCount(1, 1, 0, 0, 0, 0, 0, 0, 0, 0);
337 observer_details_.ExpectEquals(root, NULL, 0, -1); 346 observer_details_.ExpectEquals(root, NULL, 0, -1);
338 347
339 ASSERT_EQ(1, root->child_count()); 348 ASSERT_EQ(1, root->child_count());
340 ASSERT_EQ(title, new_node->GetTitle()); 349 ASSERT_EQ(title, new_node->GetTitle());
341 ASSERT_TRUE(url == new_node->url()); 350 ASSERT_TRUE(url == new_node->url());
342 ASSERT_EQ(BookmarkNode::URL, new_node->type()); 351 ASSERT_EQ(BookmarkNode::URL, new_node->type());
343 ASSERT_TRUE(new_node == model_->GetMostRecentlyAddedUserNodeForURL(url)); 352 ASSERT_TRUE(new_node == model_->GetMostRecentlyAddedUserNodeForURL(url));
344 353
345 EXPECT_TRUE(new_node->id() != root->id() && 354 EXPECT_TRUE(new_node->id() != root->id() &&
346 new_node->id() != model_->other_node()->id() && 355 new_node->id() != model_->other_node()->id() &&
347 new_node->id() != model_->mobile_node()->id()); 356 new_node->id() != model_->mobile_node()->id());
348 } 357 }
349 358
350 TEST_F(BookmarkModelTest, AddURLWithUnicodeTitle) { 359 TEST_F(BookmarkModelTest, AddURLWithUnicodeTitle) {
351 const BookmarkNode* root = model_->bookmark_bar_node(); 360 const BookmarkNode* root = model_->bookmark_bar_node();
352 const base::string16 title(base::WideToUTF16( 361 const base::string16 title(base::WideToUTF16(
353 L"\u767e\u5ea6\u4e00\u4e0b\uff0c\u4f60\u5c31\u77e5\u9053")); 362 L"\u767e\u5ea6\u4e00\u4e0b\uff0c\u4f60\u5c31\u77e5\u9053"));
354 const GURL url("https://www.baidu.com/"); 363 const GURL url("https://www.baidu.com/");
355 364
356 const BookmarkNode* new_node = model_->AddURL(root, 0, title, url); 365 const BookmarkNode* new_node = model_->AddURL(root, 0, title, url);
357 AssertObserverCount(1, 0, 0, 0, 0, 0, 0, 0, 0); 366 AssertObserverCount(1, 1, 0, 0, 0, 0, 0, 0, 0, 0);
358 observer_details_.ExpectEquals(root, NULL, 0, -1); 367 observer_details_.ExpectEquals(root, NULL, 0, -1);
359 368
360 ASSERT_EQ(1, root->child_count()); 369 ASSERT_EQ(1, root->child_count());
361 ASSERT_EQ(title, new_node->GetTitle()); 370 ASSERT_EQ(title, new_node->GetTitle());
362 ASSERT_TRUE(url == new_node->url()); 371 ASSERT_TRUE(url == new_node->url());
363 ASSERT_EQ(BookmarkNode::URL, new_node->type()); 372 ASSERT_EQ(BookmarkNode::URL, new_node->type());
364 ASSERT_TRUE(new_node == model_->GetMostRecentlyAddedUserNodeForURL(url)); 373 ASSERT_TRUE(new_node == model_->GetMostRecentlyAddedUserNodeForURL(url));
365 374
366 EXPECT_TRUE(new_node->id() != root->id() && 375 EXPECT_TRUE(new_node->id() != root->id() &&
367 new_node->id() != model_->other_node()->id() && 376 new_node->id() != model_->other_node()->id() &&
(...skipping 20 matching lines...) Expand all
388 TEST_F(BookmarkModelTest, AddURLWithCreationTimeAndMetaInfo) { 397 TEST_F(BookmarkModelTest, AddURLWithCreationTimeAndMetaInfo) {
389 const BookmarkNode* root = model_->bookmark_bar_node(); 398 const BookmarkNode* root = model_->bookmark_bar_node();
390 const base::string16 title(ASCIIToUTF16("foo")); 399 const base::string16 title(ASCIIToUTF16("foo"));
391 const GURL url("http://foo.com"); 400 const GURL url("http://foo.com");
392 const Time time = Time::Now() - TimeDelta::FromDays(1); 401 const Time time = Time::Now() - TimeDelta::FromDays(1);
393 BookmarkNode::MetaInfoMap meta_info; 402 BookmarkNode::MetaInfoMap meta_info;
394 meta_info["foo"] = "bar"; 403 meta_info["foo"] = "bar";
395 404
396 const BookmarkNode* new_node = model_->AddURLWithCreationTimeAndMetaInfo( 405 const BookmarkNode* new_node = model_->AddURLWithCreationTimeAndMetaInfo(
397 root, 0, title, url, time, &meta_info); 406 root, 0, title, url, time, &meta_info);
398 AssertObserverCount(1, 0, 0, 0, 0, 0, 0, 0, 0); 407 AssertObserverCount(1, 1, 0, 0, 0, 0, 0, 0, 0, 0);
399 observer_details_.ExpectEquals(root, NULL, 0, -1); 408 observer_details_.ExpectEquals(root, NULL, 0, -1);
400 409
401 ASSERT_EQ(1, root->child_count()); 410 ASSERT_EQ(1, root->child_count());
402 ASSERT_EQ(title, new_node->GetTitle()); 411 ASSERT_EQ(title, new_node->GetTitle());
403 ASSERT_TRUE(url == new_node->url()); 412 ASSERT_TRUE(url == new_node->url());
404 ASSERT_EQ(BookmarkNode::URL, new_node->type()); 413 ASSERT_EQ(BookmarkNode::URL, new_node->type());
405 ASSERT_EQ(time, new_node->date_added()); 414 ASSERT_EQ(time, new_node->date_added());
406 ASSERT_TRUE(new_node->GetMetaInfoMap()); 415 ASSERT_TRUE(new_node->GetMetaInfoMap());
407 ASSERT_EQ(meta_info, *new_node->GetMetaInfoMap()); 416 ASSERT_EQ(meta_info, *new_node->GetMetaInfoMap());
408 ASSERT_TRUE(new_node == model_->GetMostRecentlyAddedUserNodeForURL(url)); 417 ASSERT_TRUE(new_node == model_->GetMostRecentlyAddedUserNodeForURL(url));
409 418
410 EXPECT_TRUE(new_node->id() != root->id() && 419 EXPECT_TRUE(new_node->id() != root->id() &&
411 new_node->id() != model_->other_node()->id() && 420 new_node->id() != model_->other_node()->id() &&
412 new_node->id() != model_->mobile_node()->id()); 421 new_node->id() != model_->mobile_node()->id());
413 } 422 }
414 423
415 TEST_F(BookmarkModelTest, AddURLToMobileBookmarks) { 424 TEST_F(BookmarkModelTest, AddURLToMobileBookmarks) {
416 const BookmarkNode* root = model_->mobile_node(); 425 const BookmarkNode* root = model_->mobile_node();
417 const base::string16 title(ASCIIToUTF16("foo")); 426 const base::string16 title(ASCIIToUTF16("foo"));
418 const GURL url("http://foo.com"); 427 const GURL url("http://foo.com");
419 428
420 const BookmarkNode* new_node = model_->AddURL(root, 0, title, url); 429 const BookmarkNode* new_node = model_->AddURL(root, 0, title, url);
421 AssertObserverCount(1, 0, 0, 0, 0, 0, 0, 0, 0); 430 AssertObserverCount(1, 1, 0, 0, 0, 0, 0, 0, 0, 0);
422 observer_details_.ExpectEquals(root, NULL, 0, -1); 431 observer_details_.ExpectEquals(root, NULL, 0, -1);
423 432
424 ASSERT_EQ(1, root->child_count()); 433 ASSERT_EQ(1, root->child_count());
425 ASSERT_EQ(title, new_node->GetTitle()); 434 ASSERT_EQ(title, new_node->GetTitle());
426 ASSERT_TRUE(url == new_node->url()); 435 ASSERT_TRUE(url == new_node->url());
427 ASSERT_EQ(BookmarkNode::URL, new_node->type()); 436 ASSERT_EQ(BookmarkNode::URL, new_node->type());
428 ASSERT_TRUE(new_node == model_->GetMostRecentlyAddedUserNodeForURL(url)); 437 ASSERT_TRUE(new_node == model_->GetMostRecentlyAddedUserNodeForURL(url));
429 438
430 EXPECT_TRUE(new_node->id() != root->id() && 439 EXPECT_TRUE(new_node->id() != root->id() &&
431 new_node->id() != model_->other_node()->id() && 440 new_node->id() != model_->other_node()->id() &&
432 new_node->id() != model_->mobile_node()->id()); 441 new_node->id() != model_->mobile_node()->id());
433 } 442 }
434 443
435 TEST_F(BookmarkModelTest, AddFolder) { 444 TEST_F(BookmarkModelTest, AddFolder) {
436 const BookmarkNode* root = model_->bookmark_bar_node(); 445 const BookmarkNode* root = model_->bookmark_bar_node();
437 const base::string16 title(ASCIIToUTF16("foo")); 446 const base::string16 title(ASCIIToUTF16("foo"));
438 447
439 const BookmarkNode* new_node = model_->AddFolder(root, 0, title); 448 const BookmarkNode* new_node = model_->AddFolder(root, 0, title);
440 AssertObserverCount(1, 0, 0, 0, 0, 0, 0, 0, 0); 449 AssertObserverCount(1, 1, 0, 0, 0, 0, 0, 0, 0, 0);
441 observer_details_.ExpectEquals(root, NULL, 0, -1); 450 observer_details_.ExpectEquals(root, NULL, 0, -1);
442 451
443 ASSERT_EQ(1, root->child_count()); 452 ASSERT_EQ(1, root->child_count());
444 ASSERT_EQ(title, new_node->GetTitle()); 453 ASSERT_EQ(title, new_node->GetTitle());
445 ASSERT_EQ(BookmarkNode::FOLDER, new_node->type()); 454 ASSERT_EQ(BookmarkNode::FOLDER, new_node->type());
446 455
447 EXPECT_TRUE(new_node->id() != root->id() && 456 EXPECT_TRUE(new_node->id() != root->id() &&
448 new_node->id() != model_->other_node()->id() && 457 new_node->id() != model_->other_node()->id() &&
449 new_node->id() != model_->mobile_node()->id()); 458 new_node->id() != model_->mobile_node()->id());
450 459
451 // Add another folder, just to make sure folder_ids are incremented correctly. 460 // Add another folder, just to make sure folder_ids are incremented correctly.
452 ClearCounts(); 461 ClearCounts();
453 model_->AddFolder(root, 0, title); 462 model_->AddFolder(root, 0, title);
454 AssertObserverCount(1, 0, 0, 0, 0, 0, 0, 0, 0); 463 AssertObserverCount(1, 1, 0, 0, 0, 0, 0, 0, 0, 0);
455 observer_details_.ExpectEquals(root, NULL, 0, -1); 464 observer_details_.ExpectEquals(root, NULL, 0, -1);
456 } 465 }
457 466
458 TEST_F(BookmarkModelTest, AddFolderWithWhitespaceTitle) { 467 TEST_F(BookmarkModelTest, AddFolderWithWhitespaceTitle) {
459 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(title_whitespace_test_cases); ++i) { 468 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(title_whitespace_test_cases); ++i) {
460 const BookmarkNode* root = model_->bookmark_bar_node(); 469 const BookmarkNode* root = model_->bookmark_bar_node();
461 const base::string16 title( 470 const base::string16 title(
462 ASCIIToUTF16(title_whitespace_test_cases[i].input_title)); 471 ASCIIToUTF16(title_whitespace_test_cases[i].input_title));
463 472
464 const BookmarkNode* new_node = model_->AddFolder(root, i, title); 473 const BookmarkNode* new_node = model_->AddFolder(root, i, title);
465 474
466 int size = i + 1; 475 int size = i + 1;
467 EXPECT_EQ(size, root->child_count()); 476 EXPECT_EQ(size, root->child_count());
468 EXPECT_EQ(ASCIIToUTF16(title_whitespace_test_cases[i].expected_title), 477 EXPECT_EQ(ASCIIToUTF16(title_whitespace_test_cases[i].expected_title),
469 new_node->GetTitle()); 478 new_node->GetTitle());
470 EXPECT_EQ(BookmarkNode::FOLDER, new_node->type()); 479 EXPECT_EQ(BookmarkNode::FOLDER, new_node->type());
471 } 480 }
472 } 481 }
473 482
474 TEST_F(BookmarkModelTest, RemoveURL) { 483 TEST_F(BookmarkModelTest, RemoveURL) {
475 const BookmarkNode* root = model_->bookmark_bar_node(); 484 const BookmarkNode* root = model_->bookmark_bar_node();
476 const base::string16 title(ASCIIToUTF16("foo")); 485 const base::string16 title(ASCIIToUTF16("foo"));
477 const GURL url("http://foo.com"); 486 const GURL url("http://foo.com");
478 model_->AddURL(root, 0, title, url); 487 model_->AddURL(root, 0, title, url);
479 ClearCounts(); 488 ClearCounts();
480 489
481 model_->Remove(root, 0); 490 model_->Remove(root, 0);
482 ASSERT_EQ(0, root->child_count()); 491 ASSERT_EQ(0, root->child_count());
483 AssertObserverCount(0, 0, 1, 0, 0, 1, 0, 0, 0); 492 AssertObserverCount(0, 0, 0, 1, 0, 0, 1, 0, 0, 0);
484 observer_details_.ExpectEquals(root, NULL, 0, -1); 493 observer_details_.ExpectEquals(root, NULL, 0, -1);
485 494
486 // Make sure there is no mapping for the URL. 495 // Make sure there is no mapping for the URL.
487 ASSERT_TRUE(model_->GetMostRecentlyAddedUserNodeForURL(url) == NULL); 496 ASSERT_TRUE(model_->GetMostRecentlyAddedUserNodeForURL(url) == NULL);
488 } 497 }
489 498
490 TEST_F(BookmarkModelTest, RemoveFolder) { 499 TEST_F(BookmarkModelTest, RemoveFolder) {
491 const BookmarkNode* root = model_->bookmark_bar_node(); 500 const BookmarkNode* root = model_->bookmark_bar_node();
492 const BookmarkNode* folder = model_->AddFolder(root, 0, ASCIIToUTF16("foo")); 501 const BookmarkNode* folder = model_->AddFolder(root, 0, ASCIIToUTF16("foo"));
493 502
494 ClearCounts(); 503 ClearCounts();
495 504
496 // Add a URL as a child. 505 // Add a URL as a child.
497 const base::string16 title(ASCIIToUTF16("foo")); 506 const base::string16 title(ASCIIToUTF16("foo"));
498 const GURL url("http://foo.com"); 507 const GURL url("http://foo.com");
499 model_->AddURL(folder, 0, title, url); 508 model_->AddURL(folder, 0, title, url);
500 509
501 ClearCounts(); 510 ClearCounts();
502 511
503 // Now remove the folder. 512 // Now remove the folder.
504 model_->Remove(root, 0); 513 model_->Remove(root, 0);
505 ASSERT_EQ(0, root->child_count()); 514 ASSERT_EQ(0, root->child_count());
506 AssertObserverCount(0, 0, 1, 0, 0, 1, 0, 0, 0); 515 AssertObserverCount(0, 0, 0, 1, 0, 0, 1, 0, 0, 0);
507 observer_details_.ExpectEquals(root, NULL, 0, -1); 516 observer_details_.ExpectEquals(root, NULL, 0, -1);
508 517
509 // Make sure there is no mapping for the URL. 518 // Make sure there is no mapping for the URL.
510 ASSERT_TRUE(model_->GetMostRecentlyAddedUserNodeForURL(url) == NULL); 519 ASSERT_TRUE(model_->GetMostRecentlyAddedUserNodeForURL(url) == NULL);
511 } 520 }
512 521
513 TEST_F(BookmarkModelTest, RemoveAllUserBookmarks) { 522 TEST_F(BookmarkModelTest, RemoveAllUserBookmarks) {
514 const BookmarkNode* bookmark_bar_node = model_->bookmark_bar_node(); 523 const BookmarkNode* bookmark_bar_node = model_->bookmark_bar_node();
515 524
516 ClearCounts(); 525 ClearCounts();
517 526
518 // Add a url to bookmark bar. 527 // Add a url to bookmark bar.
519 base::string16 title(ASCIIToUTF16("foo")); 528 base::string16 title(ASCIIToUTF16("foo"));
520 GURL url("http://foo.com"); 529 GURL url("http://foo.com");
521 model_->AddURL(bookmark_bar_node, 0, title, url); 530 model_->AddURL(bookmark_bar_node, 0, title, url);
522 531
523 // Add a folder with child URL. 532 // Add a folder with child URL.
524 const BookmarkNode* folder = model_->AddFolder(bookmark_bar_node, 0, title); 533 const BookmarkNode* folder = model_->AddFolder(bookmark_bar_node, 0, title);
525 model_->AddURL(folder, 0, title, url); 534 model_->AddURL(folder, 0, title, url);
526 535
527 AssertObserverCount(3, 0, 0, 0, 0, 0, 0, 0, 0); 536 AssertObserverCount(3, 3, 0, 0, 0, 0, 0, 0, 0, 0);
528 ClearCounts(); 537 ClearCounts();
529 538
530 model_->RemoveAllUserBookmarks(); 539 model_->RemoveAllUserBookmarks();
531 540
532 EXPECT_EQ(0, bookmark_bar_node->child_count()); 541 EXPECT_EQ(0, bookmark_bar_node->child_count());
533 // No individual BookmarkNodeRemoved events are fired, so removed count 542 // No individual BookmarkNodeRemoved events are fired, so removed count
534 // should be 0. 543 // should be 0.
535 AssertObserverCount(0, 0, 0, 0, 0, 0, 0, 0, 1); 544 AssertObserverCount(0, 0, 0, 0, 0, 0, 0, 0, 0, 1);
536 AssertExtensiveChangesObserverCount(1, 1); 545 AssertExtensiveChangesObserverCount(1, 1);
537 EXPECT_EQ(1, AllNodesRemovedObserverCount()); 546 EXPECT_EQ(1, AllNodesRemovedObserverCount());
538 } 547 }
539 548
540 TEST_F(BookmarkModelTest, SetTitle) { 549 TEST_F(BookmarkModelTest, SetTitle) {
541 const BookmarkNode* root = model_->bookmark_bar_node(); 550 const BookmarkNode* root = model_->bookmark_bar_node();
542 base::string16 title(ASCIIToUTF16("foo")); 551 base::string16 title(ASCIIToUTF16("foo"));
543 const GURL url("http://foo.com"); 552 const GURL url("http://foo.com");
544 const BookmarkNode* node = model_->AddURL(root, 0, title, url); 553 const BookmarkNode* node = model_->AddURL(root, 0, title, url);
545 554
546 ClearCounts(); 555 ClearCounts();
547 556
548 title = ASCIIToUTF16("foo2"); 557 title = ASCIIToUTF16("foo2");
549 model_->SetTitle(node, title); 558 model_->SetTitle(node, title);
550 AssertObserverCount(0, 0, 0, 1, 0, 0, 1, 0, 0); 559 AssertObserverCount(0, 0, 0, 0, 1, 0, 0, 1, 0, 0);
551 observer_details_.ExpectEquals(node, NULL, -1, -1); 560 observer_details_.ExpectEquals(node, NULL, -1, -1);
552 EXPECT_EQ(title, node->GetTitle()); 561 EXPECT_EQ(title, node->GetTitle());
553 } 562 }
554 563
555 TEST_F(BookmarkModelTest, SetTitleWithWhitespace) { 564 TEST_F(BookmarkModelTest, SetTitleWithWhitespace) {
556 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(title_whitespace_test_cases); ++i) { 565 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(title_whitespace_test_cases); ++i) {
557 const BookmarkNode* root = model_->bookmark_bar_node(); 566 const BookmarkNode* root = model_->bookmark_bar_node();
558 base::string16 title(ASCIIToUTF16("dummy")); 567 base::string16 title(ASCIIToUTF16("dummy"));
559 const GURL url("http://foo.com"); 568 const GURL url("http://foo.com");
560 const BookmarkNode* node = model_->AddURL(root, 0, title, url); 569 const BookmarkNode* node = model_->AddURL(root, 0, title, url);
561 570
562 title = ASCIIToUTF16(title_whitespace_test_cases[i].input_title); 571 title = ASCIIToUTF16(title_whitespace_test_cases[i].input_title);
563 model_->SetTitle(node, title); 572 model_->SetTitle(node, title);
564 EXPECT_EQ(ASCIIToUTF16(title_whitespace_test_cases[i].expected_title), 573 EXPECT_EQ(ASCIIToUTF16(title_whitespace_test_cases[i].expected_title),
565 node->GetTitle()); 574 node->GetTitle());
566 } 575 }
567 } 576 }
568 577
569 TEST_F(BookmarkModelTest, SetURL) { 578 TEST_F(BookmarkModelTest, SetURL) {
570 const BookmarkNode* root = model_->bookmark_bar_node(); 579 const BookmarkNode* root = model_->bookmark_bar_node();
571 const base::string16 title(ASCIIToUTF16("foo")); 580 const base::string16 title(ASCIIToUTF16("foo"));
572 GURL url("http://foo.com"); 581 GURL url("http://foo.com");
573 const BookmarkNode* node = model_->AddURL(root, 0, title, url); 582 const BookmarkNode* node = model_->AddURL(root, 0, title, url);
574 583
575 ClearCounts(); 584 ClearCounts();
576 585
577 url = GURL("http://foo2.com"); 586 url = GURL("http://foo2.com");
578 model_->SetURL(node, url); 587 model_->SetURL(node, url);
579 AssertObserverCount(0, 0, 0, 1, 0, 0, 1, 0, 0); 588 AssertObserverCount(0, 0, 0, 0, 1, 0, 0, 1, 0, 0);
580 observer_details_.ExpectEquals(node, NULL, -1, -1); 589 observer_details_.ExpectEquals(node, NULL, -1, -1);
581 EXPECT_EQ(url, node->url()); 590 EXPECT_EQ(url, node->url());
582 } 591 }
583 592
584 TEST_F(BookmarkModelTest, SetDateAdded) { 593 TEST_F(BookmarkModelTest, SetDateAdded) {
585 const BookmarkNode* root = model_->bookmark_bar_node(); 594 const BookmarkNode* root = model_->bookmark_bar_node();
586 const base::string16 title(ASCIIToUTF16("foo")); 595 const base::string16 title(ASCIIToUTF16("foo"));
587 GURL url("http://foo.com"); 596 GURL url("http://foo.com");
588 const BookmarkNode* node = model_->AddURL(root, 0, title, url); 597 const BookmarkNode* node = model_->AddURL(root, 0, title, url);
589 598
590 ClearCounts(); 599 ClearCounts();
591 600
592 base::Time new_time = base::Time::Now() + base::TimeDelta::FromMinutes(20); 601 base::Time new_time = base::Time::Now() + base::TimeDelta::FromMinutes(20);
593 model_->SetDateAdded(node, new_time); 602 model_->SetDateAdded(node, new_time);
594 AssertObserverCount(0, 0, 0, 0, 0, 0, 0, 0, 0); 603 AssertObserverCount(0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
595 EXPECT_EQ(new_time, node->date_added()); 604 EXPECT_EQ(new_time, node->date_added());
596 EXPECT_EQ(new_time, model_->bookmark_bar_node()->date_folder_modified()); 605 EXPECT_EQ(new_time, model_->bookmark_bar_node()->date_folder_modified());
597 } 606 }
598 607
599 TEST_F(BookmarkModelTest, Move) { 608 TEST_F(BookmarkModelTest, Move) {
600 const BookmarkNode* root = model_->bookmark_bar_node(); 609 const BookmarkNode* root = model_->bookmark_bar_node();
601 const base::string16 title(ASCIIToUTF16("foo")); 610 const base::string16 title(ASCIIToUTF16("foo"));
602 const GURL url("http://foo.com"); 611 const GURL url("http://foo.com");
603 const BookmarkNode* node = model_->AddURL(root, 0, title, url); 612 const BookmarkNode* node = model_->AddURL(root, 0, title, url);
604 const BookmarkNode* folder1 = model_->AddFolder(root, 0, ASCIIToUTF16("foo")); 613 const BookmarkNode* folder1 = model_->AddFolder(root, 0, ASCIIToUTF16("foo"));
605 ClearCounts(); 614 ClearCounts();
606 615
607 model_->Move(node, folder1, 0); 616 model_->Move(node, folder1, 0);
608 617
609 AssertObserverCount(0, 1, 0, 0, 0, 0, 0, 0, 0); 618 AssertObserverCount(0, 0, 1, 0, 0, 0, 0, 0, 0, 0);
610 observer_details_.ExpectEquals(root, folder1, 1, 0); 619 observer_details_.ExpectEquals(root, folder1, 1, 0);
611 EXPECT_TRUE(folder1 == node->parent()); 620 EXPECT_TRUE(folder1 == node->parent());
612 EXPECT_EQ(1, root->child_count()); 621 EXPECT_EQ(1, root->child_count());
613 EXPECT_EQ(folder1, root->GetChild(0)); 622 EXPECT_EQ(folder1, root->GetChild(0));
614 EXPECT_EQ(1, folder1->child_count()); 623 EXPECT_EQ(1, folder1->child_count());
615 EXPECT_EQ(node, folder1->GetChild(0)); 624 EXPECT_EQ(node, folder1->GetChild(0));
616 625
617 // And remove the folder. 626 // And remove the folder.
618 ClearCounts(); 627 ClearCounts();
619 model_->Remove(root, 0); 628 model_->Remove(root, 0);
620 AssertObserverCount(0, 0, 1, 0, 0, 1, 0, 0, 0); 629 AssertObserverCount(0, 0, 0, 1, 0, 0, 1, 0, 0, 0);
621 observer_details_.ExpectEquals(root, NULL, 0, -1); 630 observer_details_.ExpectEquals(root, NULL, 0, -1);
622 EXPECT_TRUE(model_->GetMostRecentlyAddedUserNodeForURL(url) == NULL); 631 EXPECT_TRUE(model_->GetMostRecentlyAddedUserNodeForURL(url) == NULL);
623 EXPECT_EQ(0, root->child_count()); 632 EXPECT_EQ(0, root->child_count());
624 } 633 }
625 634
626 TEST_F(BookmarkModelTest, NonMovingMoveCall) { 635 TEST_F(BookmarkModelTest, NonMovingMoveCall) {
627 const BookmarkNode* root = model_->bookmark_bar_node(); 636 const BookmarkNode* root = model_->bookmark_bar_node();
628 const base::string16 title(ASCIIToUTF16("foo")); 637 const base::string16 title(ASCIIToUTF16("foo"));
629 const GURL url("http://foo.com"); 638 const GURL url("http://foo.com");
630 const base::Time old_date(base::Time::Now() - base::TimeDelta::FromDays(1)); 639 const base::Time old_date(base::Time::Now() - base::TimeDelta::FromDays(1));
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
1004 BookmarkNode* child3 = AsMutable(parent->GetChild(3)); 1013 BookmarkNode* child3 = AsMutable(parent->GetChild(3));
1005 child3->SetTitle(ASCIIToUTF16("C")); 1014 child3->SetTitle(ASCIIToUTF16("C"));
1006 delete child3->Remove(child3->GetChild(0)); 1015 delete child3->Remove(child3->GetChild(0));
1007 1016
1008 ClearCounts(); 1017 ClearCounts();
1009 1018
1010 // Sort the children of the bookmark bar node. 1019 // Sort the children of the bookmark bar node.
1011 model_->SortChildren(parent); 1020 model_->SortChildren(parent);
1012 1021
1013 // Make sure we were notified. 1022 // Make sure we were notified.
1014 AssertObserverCount(0, 0, 0, 0, 1, 0, 0, 1, 0); 1023 AssertObserverCount(0, 0, 0, 0, 0, 1, 0, 0, 1, 0);
1015 1024
1016 // Make sure the order matches (remember, 'a' and 'C' are folders and 1025 // Make sure the order matches (remember, 'a' and 'C' are folders and
1017 // come first). 1026 // come first).
1018 EXPECT_EQ(parent->GetChild(0)->GetTitle(), ASCIIToUTF16("a")); 1027 EXPECT_EQ(parent->GetChild(0)->GetTitle(), ASCIIToUTF16("a"));
1019 EXPECT_EQ(parent->GetChild(1)->GetTitle(), ASCIIToUTF16("C")); 1028 EXPECT_EQ(parent->GetChild(1)->GetTitle(), ASCIIToUTF16("C"));
1020 EXPECT_EQ(parent->GetChild(2)->GetTitle(), ASCIIToUTF16("B")); 1029 EXPECT_EQ(parent->GetChild(2)->GetTitle(), ASCIIToUTF16("B"));
1021 EXPECT_EQ(parent->GetChild(3)->GetTitle(), ASCIIToUTF16("d")); 1030 EXPECT_EQ(parent->GetChild(3)->GetTitle(), ASCIIToUTF16("d"));
1022 } 1031 }
1023 1032
1024 TEST_F(BookmarkModelTest, Reorder) { 1033 TEST_F(BookmarkModelTest, Reorder) {
1025 // Populate the bookmark bar node with nodes 'A', 'B', 'C' and 'D'. 1034 // Populate the bookmark bar node with nodes 'A', 'B', 'C' and 'D'.
1026 TestNode bbn; 1035 TestNode bbn;
1027 PopulateNodeFromString("A B C D", &bbn); 1036 PopulateNodeFromString("A B C D", &bbn);
1028 BookmarkNode* parent = AsMutable(model_->bookmark_bar_node()); 1037 BookmarkNode* parent = AsMutable(model_->bookmark_bar_node());
1029 PopulateBookmarkNode(&bbn, model_.get(), parent); 1038 PopulateBookmarkNode(&bbn, model_.get(), parent);
1030 1039
1031 ClearCounts(); 1040 ClearCounts();
1032 1041
1033 // Reorder bar node's bookmarks in reverse order. 1042 // Reorder bar node's bookmarks in reverse order.
1034 std::vector<const BookmarkNode*> new_order; 1043 std::vector<const BookmarkNode*> new_order;
1035 new_order.push_back(parent->GetChild(3)); 1044 new_order.push_back(parent->GetChild(3));
1036 new_order.push_back(parent->GetChild(2)); 1045 new_order.push_back(parent->GetChild(2));
1037 new_order.push_back(parent->GetChild(1)); 1046 new_order.push_back(parent->GetChild(1));
1038 new_order.push_back(parent->GetChild(0)); 1047 new_order.push_back(parent->GetChild(0));
1039 model_->ReorderChildren(parent, new_order); 1048 model_->ReorderChildren(parent, new_order);
1040 1049
1041 // Make sure we were notified. 1050 // Make sure we were notified.
1042 AssertObserverCount(0, 0, 0, 0, 1, 0, 0, 1, 0); 1051 AssertObserverCount(0, 0, 0, 0, 0, 1, 0, 0, 1, 0);
1043 1052
1044 // Make sure the order matches is correct (it should be reversed). 1053 // Make sure the order matches is correct (it should be reversed).
1045 ASSERT_EQ(4, parent->child_count()); 1054 ASSERT_EQ(4, parent->child_count());
1046 EXPECT_EQ("D", base::UTF16ToASCII(parent->GetChild(0)->GetTitle())); 1055 EXPECT_EQ("D", base::UTF16ToASCII(parent->GetChild(0)->GetTitle()));
1047 EXPECT_EQ("C", base::UTF16ToASCII(parent->GetChild(1)->GetTitle())); 1056 EXPECT_EQ("C", base::UTF16ToASCII(parent->GetChild(1)->GetTitle()));
1048 EXPECT_EQ("B", base::UTF16ToASCII(parent->GetChild(2)->GetTitle())); 1057 EXPECT_EQ("B", base::UTF16ToASCII(parent->GetChild(2)->GetTitle()));
1049 EXPECT_EQ("A", base::UTF16ToASCII(parent->GetChild(3)->GetTitle())); 1058 EXPECT_EQ("A", base::UTF16ToASCII(parent->GetChild(3)->GetTitle()));
1050 } 1059 }
1051 1060
1052 TEST_F(BookmarkModelTest, NodeVisibility) { 1061 TEST_F(BookmarkModelTest, NodeVisibility) {
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
1194 EXPECT_TRUE(node.DeleteMetaInfo("key2.subkey2.leaf")); 1203 EXPECT_TRUE(node.DeleteMetaInfo("key2.subkey2.leaf"));
1195 EXPECT_FALSE(node.DeleteMetaInfo("key3")); 1204 EXPECT_FALSE(node.DeleteMetaInfo("key3"));
1196 EXPECT_FALSE(node.GetMetaInfo("key1", &out_value)); 1205 EXPECT_FALSE(node.GetMetaInfo("key1", &out_value));
1197 EXPECT_FALSE(node.GetMetaInfo("key2.subkey1", &out_value)); 1206 EXPECT_FALSE(node.GetMetaInfo("key2.subkey1", &out_value));
1198 EXPECT_FALSE(node.GetMetaInfo("key2.subkey2", &out_value)); 1207 EXPECT_FALSE(node.GetMetaInfo("key2.subkey2", &out_value));
1199 EXPECT_FALSE(node.GetMetaInfo("key2.subkey2.leaf", &out_value)); 1208 EXPECT_FALSE(node.GetMetaInfo("key2.subkey2.leaf", &out_value));
1200 EXPECT_FALSE(node.GetMetaInfoMap()); 1209 EXPECT_FALSE(node.GetMetaInfoMap());
1201 } 1210 }
1202 1211
1203 } // namespace 1212 } // namespace
OLDNEW
« no previous file with comments | « components/bookmarks/browser/bookmark_model_observer.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698