OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "base/mac/scoped_nsobject.h" | 5 #include "base/mac/scoped_nsobject.h" |
6 #include "components/bookmarks/browser/bookmark_model.h" | 6 #include "components/bookmarks/browser/bookmark_model.h" |
7 #import "ios/chrome/browser/browser_state/test_chrome_browser_state.h" | 7 #import "ios/chrome/browser/browser_state/test_chrome_browser_state.h" |
8 #import "ios/chrome/browser/ui/bookmarks/bookmark_home_handset_view_controller.h
" | 8 #import "ios/chrome/browser/ui/bookmarks/bookmark_home_handset_view_controller.h
" |
9 #include "ios/chrome/browser/ui/bookmarks/bookmark_ios_unittest.h" | 9 #include "ios/chrome/browser/ui/bookmarks/bookmark_ios_unittest.h" |
10 #import "ios/chrome/browser/ui/bookmarks/bookmark_promo_controller.h" | 10 #import "ios/chrome/browser/ui/bookmarks/bookmark_promo_controller.h" |
(...skipping 22 matching lines...) Expand all Loading... |
33 - (void)loadImageService { | 33 - (void)loadImageService { |
34 // Do nothing. | 34 // Do nothing. |
35 } | 35 } |
36 @end | 36 @end |
37 | 37 |
38 namespace { | 38 namespace { |
39 | 39 |
40 using BookmarkHomeViewControllerTest = BookmarkIOSUnitTest; | 40 using BookmarkHomeViewControllerTest = BookmarkIOSUnitTest; |
41 | 41 |
42 TEST_F(BookmarkHomeViewControllerTest, DeleteNodesUpdatesEditNodes) { | 42 TEST_F(BookmarkHomeViewControllerTest, DeleteNodesUpdatesEditNodes) { |
43 const BookmarkNode* mobileNode = _bookmarkModel->mobile_node(); | 43 @autoreleasepool { |
44 const BookmarkNode* f1 = AddFolder(mobileNode, @"f1"); | 44 const BookmarkNode* mobileNode = _bookmarkModel->mobile_node(); |
45 const BookmarkNode* a = AddBookmark(mobileNode, @"a"); | 45 const BookmarkNode* f1 = AddFolder(mobileNode, @"f1"); |
46 const BookmarkNode* b = AddBookmark(mobileNode, @"b"); | 46 const BookmarkNode* a = AddBookmark(mobileNode, @"a"); |
47 const BookmarkNode* f2 = AddFolder(mobileNode, @"f2"); | 47 const BookmarkNode* b = AddBookmark(mobileNode, @"b"); |
| 48 const BookmarkNode* f2 = AddFolder(mobileNode, @"f2"); |
48 | 49 |
49 const BookmarkNode* f1a = AddBookmark(f1, @"f1a"); | 50 const BookmarkNode* f1a = AddBookmark(f1, @"f1a"); |
50 AddBookmark(f1, @"f1b"); | 51 AddBookmark(f1, @"f1b"); |
51 AddBookmark(f1, @"f1c"); | 52 AddBookmark(f1, @"f1c"); |
52 const BookmarkNode* f2a = AddBookmark(f2, @"f2a"); | 53 const BookmarkNode* f2a = AddBookmark(f2, @"f2a"); |
53 AddBookmark(f2, @"f2b"); | 54 AddBookmark(f2, @"f2b"); |
54 | 55 |
55 std::set<const BookmarkNode*> toDelete; | 56 std::set<const BookmarkNode*> toDelete; |
56 toDelete.insert(b); | 57 toDelete.insert(b); |
57 toDelete.insert(f1a); | 58 toDelete.insert(f1a); |
58 toDelete.insert(f1); | 59 toDelete.insert(f1); |
59 toDelete.insert(f2a); | 60 toDelete.insert(f2a); |
60 | 61 |
61 base::scoped_nsobject<MockBookmarkHomeHandsetViewController> controller( | 62 base::scoped_nsobject<MockBookmarkHomeHandsetViewController> controller( |
62 [[MockBookmarkHomeHandsetViewController alloc] | 63 [[MockBookmarkHomeHandsetViewController alloc] |
63 initWithLoader:nil | 64 initWithLoader:nil |
64 browserState:chrome_browser_state_.get()]); | 65 browserState:chrome_browser_state_.get()]); |
65 | 66 |
66 [controller resetEditNodes]; | 67 [controller resetEditNodes]; |
67 [controller insertEditNode:f1 atIndexPath:nil]; | 68 [controller insertEditNode:f1 atIndexPath:nil]; |
68 [controller insertEditNode:a atIndexPath:nil]; | 69 [controller insertEditNode:a atIndexPath:nil]; |
69 [controller insertEditNode:f2 atIndexPath:nil]; | 70 [controller insertEditNode:f2 atIndexPath:nil]; |
70 | 71 |
71 bookmark_utils_ios::DeleteBookmarks(toDelete, _bookmarkModel); | 72 bookmark_utils_ios::DeleteBookmarks(toDelete, _bookmarkModel); |
72 | 73 |
73 // After the deletion, only 'a' and 'f2' should be left. | 74 // After the deletion, only 'a' and 'f2' should be left. |
74 std::set<const BookmarkNode*> editingNodes = [controller editNodes]; | 75 std::set<const BookmarkNode*> editingNodes = [controller editNodes]; |
75 EXPECT_EQ(editingNodes.size(), 2u); | 76 EXPECT_EQ(editingNodes.size(), 2u); |
76 EXPECT_TRUE(editingNodes.find(a) != editingNodes.end()); | 77 EXPECT_TRUE(editingNodes.find(a) != editingNodes.end()); |
77 EXPECT_TRUE(editingNodes.find(f2) != editingNodes.end()); | 78 EXPECT_TRUE(editingNodes.find(f2) != editingNodes.end()); |
| 79 } |
78 } | 80 } |
79 | 81 |
80 } // anonymous namespace | 82 } // anonymous namespace |
OLD | NEW |