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

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

Issue 1379983002: Supporting undoing bookmark deletion without creating new ID. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address more feedback Created 5 years, 2 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_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 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 void BookmarkAllUserNodesRemoved( 325 void BookmarkAllUserNodesRemoved(
326 BookmarkModel* model, 326 BookmarkModel* model,
327 const std::set<GURL>& removed_urls) override { 327 const std::set<GURL>& removed_urls) override {
328 ++all_bookmarks_removed_; 328 ++all_bookmarks_removed_;
329 } 329 }
330 330
331 void OnWillRemoveAllUserBookmarks(BookmarkModel* model) override { 331 void OnWillRemoveAllUserBookmarks(BookmarkModel* model) override {
332 ++before_remove_all_count_; 332 ++before_remove_all_count_;
333 } 333 }
334 334
335 void GroupedBookmarkChangesBeginning(BookmarkModel* model) override {
336 ++grouped_changes_beginning_count_;
337 }
338
339 void GroupedBookmarkChangesEnded(BookmarkModel* model) override {
340 ++grouped_changes_ended_count_;
341 }
342
335 void ClearCounts() { 343 void ClearCounts() {
336 added_count_ = moved_count_ = removed_count_ = changed_count_ = 344 added_count_ = moved_count_ = removed_count_ = changed_count_ =
337 reordered_count_ = extensive_changes_beginning_count_ = 345 reordered_count_ = extensive_changes_beginning_count_ =
338 extensive_changes_ended_count_ = all_bookmarks_removed_ = 346 extensive_changes_ended_count_ = all_bookmarks_removed_ =
339 before_remove_count_ = before_change_count_ = before_reorder_count_ = 347 before_remove_count_ = before_change_count_ = before_reorder_count_ =
340 before_remove_all_count_ = 0; 348 before_remove_all_count_ = grouped_changes_beginning_count_ =
349 grouped_changes_ended_count_ = 0;
341 } 350 }
342 351
343 void AssertObserverCount(int added_count, 352 void AssertObserverCount(int added_count,
344 int moved_count, 353 int moved_count,
345 int removed_count, 354 int removed_count,
346 int changed_count, 355 int changed_count,
347 int reordered_count, 356 int reordered_count,
348 int before_remove_count, 357 int before_remove_count,
349 int before_change_count, 358 int before_change_count,
350 int before_reorder_count, 359 int before_reorder_count,
(...skipping 10 matching lines...) Expand all
361 } 370 }
362 371
363 void AssertExtensiveChangesObserverCount( 372 void AssertExtensiveChangesObserverCount(
364 int extensive_changes_beginning_count, 373 int extensive_changes_beginning_count,
365 int extensive_changes_ended_count) { 374 int extensive_changes_ended_count) {
366 EXPECT_EQ(extensive_changes_beginning_count, 375 EXPECT_EQ(extensive_changes_beginning_count,
367 extensive_changes_beginning_count_); 376 extensive_changes_beginning_count_);
368 EXPECT_EQ(extensive_changes_ended_count, extensive_changes_ended_count_); 377 EXPECT_EQ(extensive_changes_ended_count, extensive_changes_ended_count_);
369 } 378 }
370 379
380 void AssertGroupedChangesObserverCount(
381 int grouped_changes_beginning_count,
382 int grouped_changes_ended_count) {
383 EXPECT_EQ(grouped_changes_beginning_count,
384 grouped_changes_beginning_count_);
385 EXPECT_EQ(grouped_changes_ended_count, grouped_changes_ended_count_);
386 }
387
371 int AllNodesRemovedObserverCount() const { return all_bookmarks_removed_; } 388 int AllNodesRemovedObserverCount() const { return all_bookmarks_removed_; }
372 389
373 BookmarkPermanentNode* ReloadModelWithExtraNode() { 390 BookmarkPermanentNode* ReloadModelWithExtraNode() {
374 BookmarkPermanentNode* extra_node = new BookmarkPermanentNode(100); 391 BookmarkPermanentNode* extra_node = new BookmarkPermanentNode(100);
375 BookmarkPermanentNodeList extra_nodes; 392 BookmarkPermanentNodeList extra_nodes;
376 extra_nodes.push_back(extra_node); 393 extra_nodes.push_back(extra_node);
377 client_.SetExtraNodesToLoad(extra_nodes.Pass()); 394 client_.SetExtraNodesToLoad(extra_nodes.Pass());
378 395
379 model_->RemoveObserver(this); 396 model_->RemoveObserver(this);
380 model_ = client_.CreateModel(); 397 model_ = client_.CreateModel();
(...skipping 17 matching lines...) Expand all
398 int removed_count_; 415 int removed_count_;
399 int changed_count_; 416 int changed_count_;
400 int reordered_count_; 417 int reordered_count_;
401 int extensive_changes_beginning_count_; 418 int extensive_changes_beginning_count_;
402 int extensive_changes_ended_count_; 419 int extensive_changes_ended_count_;
403 int all_bookmarks_removed_; 420 int all_bookmarks_removed_;
404 int before_remove_count_; 421 int before_remove_count_;
405 int before_change_count_; 422 int before_change_count_;
406 int before_reorder_count_; 423 int before_reorder_count_;
407 int before_remove_all_count_; 424 int before_remove_all_count_;
425 int grouped_changes_beginning_count_;
426 int grouped_changes_ended_count_;
408 427
409 DISALLOW_COPY_AND_ASSIGN(BookmarkModelTest); 428 DISALLOW_COPY_AND_ASSIGN(BookmarkModelTest);
410 }; 429 };
411 430
412 TEST_F(BookmarkModelTest, InitialState) { 431 TEST_F(BookmarkModelTest, InitialState) {
413 const BookmarkNode* bb_node = model_->bookmark_bar_node(); 432 const BookmarkNode* bb_node = model_->bookmark_bar_node();
414 ASSERT_TRUE(bb_node != NULL); 433 ASSERT_TRUE(bb_node != NULL);
415 EXPECT_EQ(0, bb_node->child_count()); 434 EXPECT_EQ(0, bb_node->child_count());
416 EXPECT_EQ(BookmarkNode::BOOKMARK_BAR, bb_node->type()); 435 EXPECT_EQ(BookmarkNode::BOOKMARK_BAR, bb_node->type());
417 436
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
623 GURL url("http://foo.com"); 642 GURL url("http://foo.com");
624 model_->AddURL(bookmark_bar_node, 0, title, url); 643 model_->AddURL(bookmark_bar_node, 0, title, url);
625 644
626 // Add a folder with child URL. 645 // Add a folder with child URL.
627 const BookmarkNode* folder = model_->AddFolder(bookmark_bar_node, 0, title); 646 const BookmarkNode* folder = model_->AddFolder(bookmark_bar_node, 0, title);
628 model_->AddURL(folder, 0, title, url); 647 model_->AddURL(folder, 0, title, url);
629 648
630 AssertObserverCount(3, 0, 0, 0, 0, 0, 0, 0, 0); 649 AssertObserverCount(3, 0, 0, 0, 0, 0, 0, 0, 0);
631 ClearCounts(); 650 ClearCounts();
632 651
652 int permanent_node_count = model_->root_node()->child_count();
653
633 model_->RemoveAllUserBookmarks(); 654 model_->RemoveAllUserBookmarks();
634 655
635 EXPECT_EQ(0, bookmark_bar_node->child_count()); 656 EXPECT_EQ(0, bookmark_bar_node->child_count());
657 // No permanent node should be removed.
658 EXPECT_EQ(permanent_node_count, model_->root_node()->child_count());
636 // No individual BookmarkNodeRemoved events are fired, so removed count 659 // No individual BookmarkNodeRemoved events are fired, so removed count
637 // should be 0. 660 // should be 0.
638 AssertObserverCount(0, 0, 0, 0, 0, 0, 0, 0, 1); 661 AssertObserverCount(0, 0, 0, 0, 0, 0, 0, 0, 1);
639 AssertExtensiveChangesObserverCount(1, 1); 662 AssertExtensiveChangesObserverCount(1, 1);
663 AssertGroupedChangesObserverCount(1, 1);
640 EXPECT_EQ(1, AllNodesRemovedObserverCount()); 664 EXPECT_EQ(1, AllNodesRemovedObserverCount());
641 } 665 }
642 666
643 TEST_F(BookmarkModelTest, SetTitle) { 667 TEST_F(BookmarkModelTest, SetTitle) {
644 const BookmarkNode* root = model_->bookmark_bar_node(); 668 const BookmarkNode* root = model_->bookmark_bar_node();
645 base::string16 title(ASCIIToUTF16("foo")); 669 base::string16 title(ASCIIToUTF16("foo"));
646 const GURL url("http://foo.com"); 670 const GURL url("http://foo.com");
647 const BookmarkNode* node = model_->AddURL(root, 0, title, url); 671 const BookmarkNode* node = model_->AddURL(root, 0, title, url);
648 672
649 ClearCounts(); 673 ClearCounts();
(...skipping 673 matching lines...) Expand 10 before | Expand all | Expand 10 after
1323 std::set<GURL> changed_page_urls; 1347 std::set<GURL> changed_page_urls;
1324 changed_page_urls.insert(kPageURL1); 1348 changed_page_urls.insert(kPageURL1);
1325 model_->OnFaviconsChanged(changed_page_urls, kFaviconURL12); 1349 model_->OnFaviconsChanged(changed_page_urls, kFaviconURL12);
1326 ASSERT_EQ(2u, updated_nodes_.size()); 1350 ASSERT_EQ(2u, updated_nodes_.size());
1327 EXPECT_TRUE(WasNodeUpdated(node1)); 1351 EXPECT_TRUE(WasNodeUpdated(node1));
1328 EXPECT_TRUE(WasNodeUpdated(node2)); 1352 EXPECT_TRUE(WasNodeUpdated(node2));
1329 } 1353 }
1330 } 1354 }
1331 1355
1332 } // namespace bookmarks 1356 } // namespace bookmarks
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698