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

Side by Side Diff: chrome/browser/cocoa/bookmark_editor_base_controller_unittest.mm

Issue 393006: Change the folder presentation in the Bookmark Editor and the Bookmark All Ta... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 11 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 "app/l10n_util_mac.h"
7 #include "base/scoped_nsobject.h" 8 #include "base/scoped_nsobject.h"
8 #include "base/sys_string_conversions.h" 9 #include "base/sys_string_conversions.h"
9 #import "chrome/browser/cocoa/bookmark_editor_controller.h" 10 #import "chrome/browser/cocoa/bookmark_editor_controller.h"
10 #include "chrome/browser/cocoa/browser_test_helper.h" 11 #include "chrome/browser/cocoa/browser_test_helper.h"
11 #import "chrome/browser/cocoa/cocoa_test_helper.h" 12 #import "chrome/browser/cocoa/cocoa_test_helper.h"
13 #include "grit/generated_resources.h"
12 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
13 #include "testing/platform_test.h" 15 #include "testing/platform_test.h"
14 16
15 class BookmarkEditorBaseControllerTest : public CocoaTest { 17 class BookmarkEditorBaseControllerTest : public CocoaTest {
16 public: 18 public:
17 BrowserTestHelper helper_; 19 BrowserTestHelper browser_helper_;
18 BookmarkEditorBaseController* controller_; 20 BookmarkEditorBaseController* controller_; // weak
19 const BookmarkNode* group_a_; 21 const BookmarkNode* group_a_;
20 const BookmarkNode* group_b_; 22 const BookmarkNode* group_b_;
21 const BookmarkNode* group_b_0_; 23 const BookmarkNode* group_b_0_;
22 const BookmarkNode* group_b_3_; 24 const BookmarkNode* group_b_3_;
23 const BookmarkNode* group_c_; 25 const BookmarkNode* group_c_;
24 26
25 BookmarkEditorBaseControllerTest() { 27 BookmarkEditorBaseControllerTest() {
26 // Set up a small bookmark hierarchy, which will look as follows: 28 // Set up a small bookmark hierarchy, which will look as follows:
27 // a b c d 29 // a b c d
28 // a-0 b-0 c-0 30 // a-0 b-0 c-0
29 // a-1 b-00 c-1 31 // a-1 b-00 c-1
30 // a-2 b-1 c-2 32 // a-2 b-1 c-2
31 // b-2 c-3 33 // b-2 c-3
32 // b-3 34 // b-3
33 // b-30 35 // b-30
34 // b-31 36 // b-31
35 // b-4 37 // b-4
36 BookmarkModel& model(*(helper_.profile()->GetBookmarkModel())); 38 BookmarkModel& model(*(browser_helper_.profile()->GetBookmarkModel()));
37 const BookmarkNode* root = model.GetBookmarkBarNode(); 39 const BookmarkNode* root = model.GetBookmarkBarNode();
38 group_a_ = model.AddGroup(root, 0, L"a"); 40 group_a_ = model.AddGroup(root, 0, L"a");
39 model.AddURL(group_a_, 0, L"a-0", GURL("http://a-0.com")); 41 model.AddURL(group_a_, 0, L"a-0", GURL("http://a-0.com"));
40 model.AddURL(group_a_, 1, L"a-1", GURL("http://a-1.com")); 42 model.AddURL(group_a_, 1, L"a-1", GURL("http://a-1.com"));
41 model.AddURL(group_a_, 2, L"a-2", GURL("http://a-2.com")); 43 model.AddURL(group_a_, 2, L"a-2", GURL("http://a-2.com"));
42 44
43 group_b_ = model.AddGroup(root, 1, L"b"); 45 group_b_ = model.AddGroup(root, 1, L"b");
44 group_b_0_ = model.AddGroup(group_b_, 0, L"b-0"); 46 group_b_0_ = model.AddGroup(group_b_, 0, L"b-0");
45 model.AddURL(group_b_0_, 0, L"bb-0", GURL("http://bb-0.com")); 47 model.AddURL(group_b_0_, 0, L"bb-0", GURL("http://bb-0.com"));
46 model.AddURL(group_b_, 1, L"b-1", GURL("http://b-1.com")); 48 model.AddURL(group_b_, 1, L"b-1", GURL("http://b-1.com"));
47 model.AddURL(group_b_, 2, L"b-2", GURL("http://b-2.com")); 49 model.AddURL(group_b_, 2, L"b-2", GURL("http://b-2.com"));
48 group_b_3_ = model.AddGroup(group_b_, 3, L"b-3"); 50 group_b_3_ = model.AddGroup(group_b_, 3, L"b-3");
49 model.AddURL(group_b_3_, 0, L"b-30", GURL("http://b-30.com")); 51 model.AddURL(group_b_3_, 0, L"b-30", GURL("http://b-30.com"));
50 model.AddURL(group_b_3_, 1, L"b-31", GURL("http://b-31.com")); 52 model.AddURL(group_b_3_, 1, L"b-31", GURL("http://b-31.com"));
51 model.AddURL(group_b_, 4, L"b-4", GURL("http://b-4.com")); 53 model.AddURL(group_b_, 4, L"b-4", GURL("http://b-4.com"));
52 54
53 group_c_ = model.AddGroup(root, 2, L"c"); 55 group_c_ = model.AddGroup(root, 2, L"c");
54 model.AddURL(group_c_, 0, L"c-0", GURL("http://c-0.com")); 56 model.AddURL(group_c_, 0, L"c-0", GURL("http://c-0.com"));
55 model.AddURL(group_c_, 1, L"c-1", GURL("http://c-1.com")); 57 model.AddURL(group_c_, 1, L"c-1", GURL("http://c-1.com"));
56 model.AddURL(group_c_, 2, L"c-2", GURL("http://c-2.com")); 58 model.AddURL(group_c_, 2, L"c-2", GURL("http://c-2.com"));
57 model.AddURL(group_c_, 3, L"c-3", GURL("http://c-3.com")); 59 model.AddURL(group_c_, 3, L"c-3", GURL("http://c-3.com"));
58 60
59 model.AddURL(root, 3, L"d", GURL("http://d-0.com")); 61 model.AddURL(root, 3, L"d", GURL("http://d-0.com"));
60 } 62 }
61 63
62 virtual BookmarkEditorBaseController* CreateController() { 64 virtual BookmarkEditorBaseController* CreateController() {
63 return [[BookmarkEditorBaseController alloc] 65 return [[BookmarkEditorBaseController alloc]
64 initWithParentWindow:test_window() 66 initWithParentWindow:test_window()
65 nibName:@"BookmarkAllTabs" 67 nibName:@"BookmarkAllTabs"
66 profile:helper_.profile() 68 profile:browser_helper_.profile()
67 parent:group_b_0_ 69 parent:group_b_0_
68 configuration:BookmarkEditor::SHOW_TREE 70 configuration:BookmarkEditor::SHOW_TREE
69 handler:nil]; 71 handler:nil];
70 } 72 }
71 73
72 virtual void SetUp() { 74 virtual void SetUp() {
73 CocoaTest::SetUp(); 75 CocoaTest::SetUp();
74 controller_ = CreateController(); 76 controller_ = CreateController();
75 EXPECT_TRUE([controller_ window]); 77 EXPECT_TRUE([controller_ window]);
78 [controller_ runAsModalSheet];
76 } 79 }
77 80
78 virtual void TearDown() { 81 virtual void TearDown() {
79 [controller_ close]; 82 controller_ = NULL;
80 CocoaTest::TearDown(); 83 CocoaTest::TearDown();
81 } 84 }
82 }; 85 };
83 86
84 TEST_F(BookmarkEditorBaseControllerTest, VerifyBookmarkTestModel) { 87 TEST_F(BookmarkEditorBaseControllerTest, VerifyBookmarkTestModel) {
85 BookmarkModel& model(*(helper_.profile()->GetBookmarkModel())); 88 BookmarkModel& model(*(browser_helper_.profile()->GetBookmarkModel()));
86 const BookmarkNode& root(*model.GetBookmarkBarNode()); 89 const BookmarkNode& root(*model.GetBookmarkBarNode());
87 EXPECT_EQ(4, root.GetChildCount()); 90 EXPECT_EQ(4, root.GetChildCount());
88 // a 91 // a
89 const BookmarkNode* child = root.GetChild(0); 92 const BookmarkNode* child = root.GetChild(0);
90 EXPECT_EQ(3, child->GetChildCount()); 93 EXPECT_EQ(3, child->GetChildCount());
91 const BookmarkNode* subchild = child->GetChild(0); 94 const BookmarkNode* subchild = child->GetChild(0);
92 EXPECT_EQ(0, subchild->GetChildCount()); 95 EXPECT_EQ(0, subchild->GetChildCount());
93 subchild = child->GetChild(1); 96 subchild = child->GetChild(1);
94 EXPECT_EQ(0, subchild->GetChildCount()); 97 EXPECT_EQ(0, subchild->GetChildCount());
95 subchild = child->GetChild(2); 98 subchild = child->GetChild(2);
(...skipping 24 matching lines...) Expand all
120 EXPECT_EQ(0, subchild->GetChildCount()); 123 EXPECT_EQ(0, subchild->GetChildCount());
121 subchild = child->GetChild(1); 124 subchild = child->GetChild(1);
122 EXPECT_EQ(0, subchild->GetChildCount()); 125 EXPECT_EQ(0, subchild->GetChildCount());
123 subchild = child->GetChild(2); 126 subchild = child->GetChild(2);
124 EXPECT_EQ(0, subchild->GetChildCount()); 127 EXPECT_EQ(0, subchild->GetChildCount());
125 subchild = child->GetChild(3); 128 subchild = child->GetChild(3);
126 EXPECT_EQ(0, subchild->GetChildCount()); 129 EXPECT_EQ(0, subchild->GetChildCount());
127 // d 130 // d
128 child = root.GetChild(3); 131 child = root.GetChild(3);
129 EXPECT_EQ(0, child->GetChildCount()); 132 EXPECT_EQ(0, child->GetChildCount());
130 } 133 [controller_ cancel:nil];
131
132 TEST_F(BookmarkEditorBaseControllerTest, FolderChildForParent) {
133 const BookmarkNode* child =
134 [BookmarkEditorBaseController folderChildForParent:group_b_
135 withFolderIndex:1];
136 EXPECT_EQ(child, group_b_3_);
137 }
138
139 TEST_F(BookmarkEditorBaseControllerTest, IndexOfFolderChild) {
140 int index = [BookmarkEditorBaseController indexOfFolderChild:group_b_3_];
141 EXPECT_EQ(index, 1);
142 } 134 }
143 135
144 TEST_F(BookmarkEditorBaseControllerTest, NodeSelection) { 136 TEST_F(BookmarkEditorBaseControllerTest, NodeSelection) {
145 [controller_ selectNodeInBrowser:group_b_3_]; 137 EXPECT_TRUE([controller_ folderTreeArray]);
138 [controller_ selectTestNodeInBrowser:group_b_3_];
146 const BookmarkNode* node = [controller_ selectedNode]; 139 const BookmarkNode* node = [controller_ selectedNode];
147 EXPECT_EQ(node, group_b_3_); 140 EXPECT_EQ(node, group_b_3_);
141 [controller_ cancel:nil];
148 } 142 }
143
144 TEST_F(BookmarkEditorBaseControllerTest, CreateFolder) {
145 EXPECT_EQ(2, group_b_3_->GetChildCount());
146 [controller_ selectTestNodeInBrowser:group_b_3_];
147 NSString* expectedName =
148 l10n_util::GetNSStringWithFixup(IDS_BOOMARK_EDITOR_NEW_FOLDER_NAME);
149 [controller_ setDisplayName:expectedName];
150 [controller_ newFolder:nil];
151 NSArray* selectionPaths = [controller_ tableSelectionPaths];
152 EXPECT_EQ(1U, [selectionPaths count]);
153 NSIndexPath* selectionPath = [selectionPaths objectAtIndex:0];
154 EXPECT_EQ(4U, [selectionPath length]);
155 BookmarkFolderInfo* newFolderInfo = [controller_ selectedFolder];
156 EXPECT_TRUE(newFolderInfo);
157 NSString* newFolderName = [newFolderInfo folderName];
158 EXPECT_TRUE([newFolderName isEqualToString:expectedName]);
159 [controller_ createNewFolders];
160 // Verify that the tab folder was added to the new folder.
161 EXPECT_EQ(3, group_b_3_->GetChildCount());
162 [controller_ cancel:nil];
163 }
164
165
166 class BookmarkFolderInfoTest : public CocoaTest { };
167
168 TEST_F(BookmarkFolderInfoTest, Construction) {
169 NSMutableArray* children = [NSMutableArray arrayWithObject:@"child"];
170 // We just need a pointer, and any pointer will do.
171 const BookmarkNode* fakeNode =
172 reinterpret_cast<const BookmarkNode*>(&children);
173 BookmarkFolderInfo* info =
174 [BookmarkFolderInfo bookmarkFolderInfoWithFolderName:@"name"
175 folderNode:fakeNode
176 children:children];
177 EXPECT_TRUE(info);
178 EXPECT_EQ([info folderName], @"name");
179 EXPECT_EQ([info children], children);
180 EXPECT_EQ([info folderNode], fakeNode);
181 }
OLDNEW
« no previous file with comments | « chrome/browser/cocoa/bookmark_editor_base_controller.mm ('k') | chrome/browser/cocoa/bookmark_editor_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698