| 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 |