OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #import <Cocoa/Cocoa.h> | 5 #import <Cocoa/Cocoa.h> |
6 | 6 |
7 #include "base/strings/sys_string_conversions.h" | 7 #include "base/strings/sys_string_conversions.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 #include "chrome/browser/bookmarks/bookmark_model_factory.h" | 9 #include "chrome/browser/bookmarks/bookmark_model_factory.h" |
10 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_editor_controller.h" | 10 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_editor_controller.h" |
(...skipping 26 matching lines...) Expand all Loading... |
37 // Set up a small bookmark hierarchy, which will look as follows: | 37 // Set up a small bookmark hierarchy, which will look as follows: |
38 // a b c d | 38 // a b c d |
39 // a-0 b-0 c-0 | 39 // a-0 b-0 c-0 |
40 // a-1 b-00 c-1 | 40 // a-1 b-00 c-1 |
41 // a-2 b-1 c-2 | 41 // a-2 b-1 c-2 |
42 // b-2 c-3 | 42 // b-2 c-3 |
43 // b-3 | 43 // b-3 |
44 // b-30 | 44 // b-30 |
45 // b-31 | 45 // b-31 |
46 // b-4 | 46 // b-4 |
47 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 47 BookmarkModel* model = |
| 48 BookmarkModelFactory::GetForBrowserContext(profile()); |
48 const BookmarkNode* root = model->bookmark_bar_node(); | 49 const BookmarkNode* root = model->bookmark_bar_node(); |
49 folder_a_ = model->AddFolder(root, 0, ASCIIToUTF16("a")); | 50 folder_a_ = model->AddFolder(root, 0, ASCIIToUTF16("a")); |
50 model->AddURL(folder_a_, 0, ASCIIToUTF16("a-0"), GURL("http://a-0.com")); | 51 model->AddURL(folder_a_, 0, ASCIIToUTF16("a-0"), GURL("http://a-0.com")); |
51 model->AddURL(folder_a_, 1, ASCIIToUTF16("a-1"), GURL("http://a-1.com")); | 52 model->AddURL(folder_a_, 1, ASCIIToUTF16("a-1"), GURL("http://a-1.com")); |
52 model->AddURL(folder_a_, 2, ASCIIToUTF16("a-2"), GURL("http://a-2.com")); | 53 model->AddURL(folder_a_, 2, ASCIIToUTF16("a-2"), GURL("http://a-2.com")); |
53 | 54 |
54 folder_b_ = model->AddFolder(root, 1, ASCIIToUTF16("b")); | 55 folder_b_ = model->AddFolder(root, 1, ASCIIToUTF16("b")); |
55 folder_b_0_ = model->AddFolder(folder_b_, 0, ASCIIToUTF16("b-0")); | 56 folder_b_0_ = model->AddFolder(folder_b_, 0, ASCIIToUTF16("b-0")); |
56 model->AddURL(folder_b_0_, 0, ASCIIToUTF16("bb-0"), | 57 model->AddURL(folder_b_0_, 0, ASCIIToUTF16("bb-0"), |
57 GURL("http://bb-0.com")); | 58 GURL("http://bb-0.com")); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 CocoaTest::TearDown(); | 101 CocoaTest::TearDown(); |
101 } | 102 } |
102 | 103 |
103 Browser* CreateBrowser() override { | 104 Browser* CreateBrowser() override { |
104 Browser::CreateParams params(profile()); | 105 Browser::CreateParams params(profile()); |
105 return chrome::CreateBrowserWithTestWindowForParams(¶ms).release(); | 106 return chrome::CreateBrowserWithTestWindowForParams(¶ms).release(); |
106 } | 107 } |
107 }; | 108 }; |
108 | 109 |
109 TEST_F(BookmarkEditorBaseControllerTest, VerifyBookmarkTestModel) { | 110 TEST_F(BookmarkEditorBaseControllerTest, VerifyBookmarkTestModel) { |
110 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 111 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile()); |
111 const BookmarkNode* root = model->bookmark_bar_node(); | 112 const BookmarkNode* root = model->bookmark_bar_node(); |
112 EXPECT_EQ(4, root->child_count()); | 113 EXPECT_EQ(4, root->child_count()); |
113 // a | 114 // a |
114 const BookmarkNode* child = root->GetChild(0); | 115 const BookmarkNode* child = root->GetChild(0); |
115 EXPECT_EQ(3, child->child_count()); | 116 EXPECT_EQ(3, child->child_count()); |
116 const BookmarkNode* subchild = child->GetChild(0); | 117 const BookmarkNode* subchild = child->GetChild(0); |
117 EXPECT_EQ(0, subchild->child_count()); | 118 EXPECT_EQ(0, subchild->child_count()); |
118 subchild = child->GetChild(1); | 119 subchild = child->GetChild(1); |
119 EXPECT_EQ(0, subchild->child_count()); | 120 EXPECT_EQ(0, subchild->child_count()); |
120 subchild = child->GetChild(2); | 121 subchild = child->GetChild(2); |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
180 EXPECT_TRUE(newFolderInfo); | 181 EXPECT_TRUE(newFolderInfo); |
181 NSString* newFolderName = [newFolderInfo folderName]; | 182 NSString* newFolderName = [newFolderInfo folderName]; |
182 EXPECT_NSEQ(expectedName, newFolderName); | 183 EXPECT_NSEQ(expectedName, newFolderName); |
183 [controller_ createNewFolders]; | 184 [controller_ createNewFolders]; |
184 // Verify that the tab folder was added to the new folder. | 185 // Verify that the tab folder was added to the new folder. |
185 EXPECT_EQ(3, folder_b_3_->child_count()); | 186 EXPECT_EQ(3, folder_b_3_->child_count()); |
186 [controller_ cancel:nil]; | 187 [controller_ cancel:nil]; |
187 } | 188 } |
188 | 189 |
189 TEST_F(BookmarkEditorBaseControllerTest, CreateTwoFolders) { | 190 TEST_F(BookmarkEditorBaseControllerTest, CreateTwoFolders) { |
190 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 191 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile()); |
191 const BookmarkNode* bar = model->bookmark_bar_node(); | 192 const BookmarkNode* bar = model->bookmark_bar_node(); |
192 // Create 2 folders which are children of the bar. | 193 // Create 2 folders which are children of the bar. |
193 [controller_ selectTestNodeInBrowser:bar]; | 194 [controller_ selectTestNodeInBrowser:bar]; |
194 [controller_ newFolder:nil]; | 195 [controller_ newFolder:nil]; |
195 [controller_ selectTestNodeInBrowser:bar]; | 196 [controller_ selectTestNodeInBrowser:bar]; |
196 [controller_ newFolder:nil]; | 197 [controller_ newFolder:nil]; |
197 // If we do NOT crash on createNewFolders, success! | 198 // If we do NOT crash on createNewFolders, success! |
198 // (e.g. http://crbug.com/47877 is fixed). | 199 // (e.g. http://crbug.com/47877 is fixed). |
199 [controller_ createNewFolders]; | 200 [controller_ createNewFolders]; |
200 [controller_ cancel:nil]; | 201 [controller_ cancel:nil]; |
201 } | 202 } |
202 | 203 |
203 TEST_F(BookmarkEditorBaseControllerTest, SelectedFolderDeleted) { | 204 TEST_F(BookmarkEditorBaseControllerTest, SelectedFolderDeleted) { |
204 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 205 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile()); |
205 [controller_ selectTestNodeInBrowser:folder_b_3_]; | 206 [controller_ selectTestNodeInBrowser:folder_b_3_]; |
206 EXPECT_EQ(folder_b_3_, [controller_ selectedNode]); | 207 EXPECT_EQ(folder_b_3_, [controller_ selectedNode]); |
207 | 208 |
208 // Delete the selected node, and verify it's no longer selected: | 209 // Delete the selected node, and verify it's no longer selected: |
209 model->Remove(folder_b_->GetChild(3)); | 210 model->Remove(folder_b_->GetChild(3)); |
210 EXPECT_NE(folder_b_3_, [controller_ selectedNode]); | 211 EXPECT_NE(folder_b_3_, [controller_ selectedNode]); |
211 | 212 |
212 [controller_ cancel:nil]; | 213 [controller_ cancel:nil]; |
213 } | 214 } |
214 | 215 |
215 TEST_F(BookmarkEditorBaseControllerTest, SelectedFoldersParentDeleted) { | 216 TEST_F(BookmarkEditorBaseControllerTest, SelectedFoldersParentDeleted) { |
216 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 217 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile()); |
217 const BookmarkNode* root = model->bookmark_bar_node(); | 218 const BookmarkNode* root = model->bookmark_bar_node(); |
218 [controller_ selectTestNodeInBrowser:folder_b_3_]; | 219 [controller_ selectTestNodeInBrowser:folder_b_3_]; |
219 EXPECT_EQ(folder_b_3_, [controller_ selectedNode]); | 220 EXPECT_EQ(folder_b_3_, [controller_ selectedNode]); |
220 | 221 |
221 // Delete the selected node's parent, and verify it's no longer selected: | 222 // Delete the selected node's parent, and verify it's no longer selected: |
222 model->Remove(root->GetChild(1)); | 223 model->Remove(root->GetChild(1)); |
223 EXPECT_NE(folder_b_3_, [controller_ selectedNode]); | 224 EXPECT_NE(folder_b_3_, [controller_ selectedNode]); |
224 | 225 |
225 [controller_ cancel:nil]; | 226 [controller_ cancel:nil]; |
226 } | 227 } |
227 | 228 |
228 TEST_F(BookmarkEditorBaseControllerTest, FolderAdded) { | 229 TEST_F(BookmarkEditorBaseControllerTest, FolderAdded) { |
229 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 230 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile()); |
230 const BookmarkNode* root = model->bookmark_bar_node(); | 231 const BookmarkNode* root = model->bookmark_bar_node(); |
231 | 232 |
232 // Add a folder node to the model, and verify it can be selected in the tree: | 233 // Add a folder node to the model, and verify it can be selected in the tree: |
233 const BookmarkNode* folder_added = model->AddFolder( | 234 const BookmarkNode* folder_added = model->AddFolder( |
234 root, 0, ASCIIToUTF16("added")); | 235 root, 0, ASCIIToUTF16("added")); |
235 [controller_ selectTestNodeInBrowser:folder_added]; | 236 [controller_ selectTestNodeInBrowser:folder_added]; |
236 EXPECT_EQ(folder_added, [controller_ selectedNode]); | 237 EXPECT_EQ(folder_added, [controller_ selectedNode]); |
237 | 238 |
238 [controller_ cancel:nil]; | 239 [controller_ cancel:nil]; |
239 } | 240 } |
240 | 241 |
241 // Verifies expandeNodes and getExpandedNodes. | 242 // Verifies expandeNodes and getExpandedNodes. |
242 TEST_F(BookmarkEditorBaseControllerTest, ExpandedState) { | 243 TEST_F(BookmarkEditorBaseControllerTest, ExpandedState) { |
243 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 244 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile()); |
244 | 245 |
245 // Sets up the state we're going to expand. | 246 // Sets up the state we're going to expand. |
246 BookmarkExpandedStateTracker::Nodes nodes; | 247 BookmarkExpandedStateTracker::Nodes nodes; |
247 nodes.insert(model->bookmark_bar_node()); | 248 nodes.insert(model->bookmark_bar_node()); |
248 nodes.insert(folder_b_); | 249 nodes.insert(folder_b_); |
249 nodes.insert(folder_c_); | 250 nodes.insert(folder_c_); |
250 | 251 |
251 // Initial state shouldn't match expected state, otherwise this test isn't | 252 // Initial state shouldn't match expected state, otherwise this test isn't |
252 // really going to test anything. | 253 // really going to test anything. |
253 BookmarkExpandedStateTracker::Nodes actual = [controller_ getExpandedNodes]; | 254 BookmarkExpandedStateTracker::Nodes actual = [controller_ getExpandedNodes]; |
(...skipping 17 matching lines...) Expand all Loading... |
271 reinterpret_cast<const BookmarkNode*>(&children); | 272 reinterpret_cast<const BookmarkNode*>(&children); |
272 BookmarkFolderInfo* info = | 273 BookmarkFolderInfo* info = |
273 [BookmarkFolderInfo bookmarkFolderInfoWithFolderName:@"name" | 274 [BookmarkFolderInfo bookmarkFolderInfoWithFolderName:@"name" |
274 folderNode:fakeNode | 275 folderNode:fakeNode |
275 children:children]; | 276 children:children]; |
276 EXPECT_TRUE(info); | 277 EXPECT_TRUE(info); |
277 EXPECT_EQ([info folderName], @"name"); | 278 EXPECT_EQ([info folderName], @"name"); |
278 EXPECT_EQ([info children], children); | 279 EXPECT_EQ([info children], children); |
279 EXPECT_EQ([info folderNode], fakeNode); | 280 EXPECT_EQ([info folderNode], fakeNode); |
280 } | 281 } |
OLD | NEW |