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

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

Issue 361011: Clean up bookmark_editor_controller to so that is closes consistently as both... (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
« no previous file with comments | « chrome/browser/cocoa/bookmark_editor_controller.mm ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "base/scoped_nsobject.h" 7 #include "base/scoped_nsobject.h"
8 #include "base/sys_string_conversions.h" 8 #include "base/sys_string_conversions.h"
9 #import "chrome/browser/cocoa/bookmark_editor_controller.h" 9 #import "chrome/browser/cocoa/bookmark_editor_controller.h"
10 #include "chrome/browser/cocoa/browser_test_helper.h" 10 #include "chrome/browser/cocoa/browser_test_helper.h"
11 #import "chrome/browser/cocoa/cocoa_test_helper.h" 11 #import "chrome/browser/cocoa/cocoa_test_helper.h"
12 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
13 #include "testing/platform_test.h" 13 #include "testing/platform_test.h"
14 14
15 class BookmarkEditorControllerTest : public PlatformTest { 15 class BookmarkEditorControllerTest : public CocoaTest {
16 public: 16 public:
17 CocoaTestHelper cocoa_helper_; // Inits Cocoa, creates window, etc...
18 BrowserTestHelper helper_; 17 BrowserTestHelper helper_;
19 const BookmarkNode* default_node_; 18 const BookmarkNode* default_node_;
20 const BookmarkNode* default_parent_; 19 const BookmarkNode* default_parent_;
21 const char* default_name_; 20 const char* default_name_;
22 std::wstring default_title_; 21 std::wstring default_title_;
23 scoped_nsobject<BookmarkEditorController> default_controller_; 22 BookmarkEditorController* default_controller_;
24 23
25 BookmarkEditorControllerTest() { 24 virtual void SetUp() {
25 CocoaTest::SetUp();
26 BookmarkModel* model = helper_.profile()->GetBookmarkModel(); 26 BookmarkModel* model = helper_.profile()->GetBookmarkModel();
27 default_parent_ = model->GetBookmarkBarNode(); 27 default_parent_ = model->GetBookmarkBarNode();
28 default_name_ = "http://www.zim-bop-a-dee.com/"; 28 default_name_ = "http://www.zim-bop-a-dee.com/";
29 default_title_ = L"ooh title"; 29 default_title_ = L"ooh title";
30 const BookmarkNode* default_node = model->AddURL(default_parent_, 0, 30 const BookmarkNode* default_node = model->AddURL(default_parent_, 0,
31 default_title_, 31 default_title_,
32 GURL(default_name_)); 32 GURL(default_name_));
33 default_controller_.reset([[BookmarkEditorController alloc] 33 default_controller_ = [[BookmarkEditorController alloc]
34 initWithParentWindow:cocoa_helper_.window() 34 initWithParentWindow:test_window()
35 profile:helper_.profile() 35 profile:helper_.profile()
36 parent:default_parent_ 36 parent:default_parent_
37 node:default_node 37 node:default_node
38 configuration:BookmarkEditor::NO_TREE 38 configuration:BookmarkEditor::NO_TREE
39 handler:nil]); 39 handler:nil];
40 [default_controller_ window]; // Forces a nib load 40 [default_controller_ window]; // Forces a nib load
41 } 41 }
42
43 virtual void TearDown() {
44 [default_controller_ close];
45 CocoaTest::TearDown();
46 }
42 }; 47 };
43 48
44 TEST_F(BookmarkEditorControllerTest, NoNodeNoTree) { 49 TEST_F(BookmarkEditorControllerTest, NoNodeNoTree) {
45 BookmarkModel* model = helper_.profile()->GetBookmarkModel(); 50 BookmarkModel* model = helper_.profile()->GetBookmarkModel();
46 const BookmarkNode* parent = model->GetBookmarkBarNode(); 51 const BookmarkNode* parent = model->GetBookmarkBarNode();
47 const BookmarkNode* node = NULL; 52 const BookmarkNode* node = NULL;
48 53
49 scoped_nsobject<BookmarkEditorController> 54 BookmarkEditorController* controller =
50 controller([[BookmarkEditorController alloc] 55 [[BookmarkEditorController alloc]
51 initWithParentWindow:cocoa_helper_.window() 56 initWithParentWindow:test_window()
52 profile:helper_.profile() 57 profile:helper_.profile()
53 parent:parent 58 parent:parent
54 node:node 59 node:node
55 configuration:BookmarkEditor::NO_TREE 60 configuration:BookmarkEditor::NO_TREE
56 handler:nil]); 61 handler:nil];
57 62
58 EXPECT_NE((NSWindow*)nil, [controller window]); // Forces a nib load 63 EXPECT_NE((NSWindow*)nil, [controller window]); // Forces a nib load
59 EXPECT_EQ(@"", [controller displayName]); 64 EXPECT_EQ(@"", [controller displayName]);
60 EXPECT_EQ(@"", [controller displayURL]); 65 EXPECT_EQ(@"", [controller displayURL]);
61 EXPECT_FALSE([controller okButtonEnabled]); 66 EXPECT_FALSE([controller okButtonEnabled]);
67 [controller close];
62 } 68 }
63 69
64 TEST_F(BookmarkEditorControllerTest, YesNodeShowTree) { 70 TEST_F(BookmarkEditorControllerTest, YesNodeShowTree) {
65 BookmarkModel* model = helper_.profile()->GetBookmarkModel(); 71 BookmarkModel* model = helper_.profile()->GetBookmarkModel();
66 const BookmarkNode* parent = model->GetBookmarkBarNode(); 72 const BookmarkNode* parent = model->GetBookmarkBarNode();
67 const char* url_name = "http://www.zim-bop-a-dee.com/"; 73 const char* url_name = "http://www.zim-bop-a-dee.com/";
68 const BookmarkNode* node = model->AddURL(parent, 0, default_title_, 74 const BookmarkNode* node = model->AddURL(parent, 0, default_title_,
69 GURL(url_name)); 75 GURL(url_name));
70 76
71 scoped_nsobject<BookmarkEditorController> 77 BookmarkEditorController* controller =
72 controller([[BookmarkEditorController alloc] 78 [[BookmarkEditorController alloc]
73 initWithParentWindow:cocoa_helper_.window() 79 initWithParentWindow:test_window()
74 profile:helper_.profile() 80 profile:helper_.profile()
75 parent:parent 81 parent:parent
76 node:node 82 node:node
77 configuration:BookmarkEditor::SHOW_TREE 83 configuration:BookmarkEditor::SHOW_TREE
78 handler:nil]); 84 handler:nil];
79 85
80 EXPECT_NE((NSWindow*)nil, [controller window]); // Forces a nib load 86 EXPECT_NE((NSWindow*)nil, [controller window]); // Forces a nib load
81 EXPECT_TRUE([base::SysWideToNSString(default_title_) 87 EXPECT_TRUE([base::SysWideToNSString(default_title_)
82 isEqual:[controller displayName]]); 88 isEqual:[controller displayName]]);
83 EXPECT_TRUE([[NSString stringWithCString:url_name 89 EXPECT_TRUE([[NSString stringWithCString:url_name
84 encoding:NSUTF8StringEncoding] 90 encoding:NSUTF8StringEncoding]
85 isEqual:[controller displayURL]]); 91 isEqual:[controller displayURL]]);
92 [controller close];
86 } 93 }
87 94
88 TEST_F(BookmarkEditorControllerTest, NoEdit) { 95 TEST_F(BookmarkEditorControllerTest, NoEdit) {
89 [default_controller_ ok:nil]; 96 [default_controller_ ok:nil];
90 ASSERT_EQ(default_parent_->GetChildCount(), 1); 97 ASSERT_EQ(default_parent_->GetChildCount(), 1);
91 const BookmarkNode* child = default_parent_->GetChild(0); 98 const BookmarkNode* child = default_parent_->GetChild(0);
92 EXPECT_EQ(child->GetTitle(), default_title_); 99 EXPECT_EQ(child->GetTitle(), default_title_);
93 EXPECT_EQ(child->GetURL(), GURL(default_name_)); 100 EXPECT_EQ(child->GetURL(), GURL(default_name_));
94 } 101 }
95 102
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 EXPECT_FALSE([default_controller_ okButtonEnabled]); 141 EXPECT_FALSE([default_controller_ okButtonEnabled]);
135 [default_controller_ setDisplayName:@" "]; 142 [default_controller_ setDisplayName:@" "];
136 EXPECT_TRUE([default_controller_ okButtonEnabled]); 143 EXPECT_TRUE([default_controller_ okButtonEnabled]);
137 // Then little mix of both. 144 // Then little mix of both.
138 [default_controller_ setDisplayName:@"name"]; 145 [default_controller_ setDisplayName:@"name"];
139 EXPECT_TRUE([default_controller_ okButtonEnabled]); 146 EXPECT_TRUE([default_controller_ okButtonEnabled]);
140 [default_controller_ setDisplayURL:@""]; 147 [default_controller_ setDisplayURL:@""];
141 EXPECT_FALSE([default_controller_ okButtonEnabled]); 148 EXPECT_FALSE([default_controller_ okButtonEnabled]);
142 } 149 }
143 150
144 class BookmarkEditorControllerTreeTest : public PlatformTest { 151 class BookmarkEditorControllerTreeTest : public CocoaTest {
145 public: 152 public:
146 CocoaTestHelper cocoa_helper_; // Inits Cocoa, creates window, etc...
147 BrowserTestHelper helper_; 153 BrowserTestHelper helper_;
148 scoped_nsobject<BookmarkEditorController> default_controller_; 154 BookmarkEditorController* default_controller_;
149 const BookmarkNode* group_a_; 155 const BookmarkNode* group_a_;
150 const BookmarkNode* group_b_; 156 const BookmarkNode* group_b_;
151 const BookmarkNode* group_bb_; 157 const BookmarkNode* group_bb_;
152 const BookmarkNode* group_c_; 158 const BookmarkNode* group_c_;
153 const BookmarkNode* bookmark_bb_3_; 159 const BookmarkNode* bookmark_bb_3_;
154 160
155 BookmarkEditorControllerTreeTest() { 161 BookmarkEditorControllerTreeTest() {
156 // Set up a small bookmark hierarchy, which will look as follows: 162 // Set up a small bookmark hierarchy, which will look as follows:
157 // a b c d 163 // a b c d
158 // a-0 b-0 c-0 164 // a-0 b-0 c-0
(...skipping 23 matching lines...) Expand all
182 model.AddURL(group_b_, 2, L"b-2", GURL("http://b-2.com")); 188 model.AddURL(group_b_, 2, L"b-2", GURL("http://b-2.com"));
183 model.AddURL(group_b_, 3, L"b-2", GURL("http://b-3.com")); 189 model.AddURL(group_b_, 3, L"b-2", GURL("http://b-3.com"));
184 190
185 group_c_ = model.AddGroup(root, 2, L"c"); 191 group_c_ = model.AddGroup(root, 2, L"c");
186 model.AddURL(group_c_, 0, L"c-0", GURL("http://c-0.com")); 192 model.AddURL(group_c_, 0, L"c-0", GURL("http://c-0.com"));
187 model.AddURL(group_c_, 1, L"c-1", GURL("http://c-1.com")); 193 model.AddURL(group_c_, 1, L"c-1", GURL("http://c-1.com"));
188 model.AddURL(group_c_, 2, L"c-2", GURL("http://c-2.com")); 194 model.AddURL(group_c_, 2, L"c-2", GURL("http://c-2.com"));
189 model.AddURL(group_c_, 3, L"c-3", GURL("http://c-3.com")); 195 model.AddURL(group_c_, 3, L"c-3", GURL("http://c-3.com"));
190 196
191 model.AddURL(root, 3, L"d", GURL("http://d-0.com")); 197 model.AddURL(root, 3, L"d", GURL("http://d-0.com"));
198 }
192 199
193 default_controller_.reset([[BookmarkEditorController alloc] 200 virtual BookmarkEditorController* CreateController() {
194 initWithParentWindow:cocoa_helper_.window() 201 return [[BookmarkEditorController alloc]
195 profile:helper_.profile() 202 initWithParentWindow:test_window()
196 parent:group_bb_ 203 profile:helper_.profile()
204 parent:group_bb_
197 node:bookmark_bb_3_ 205 node:bookmark_bb_3_
198 configuration:BookmarkEditor::SHOW_TREE 206 configuration:BookmarkEditor::SHOW_TREE
199 handler:nil]); 207 handler:nil];
200 [default_controller_ window]; // Forces a nib load 208 }
209
210 virtual void SetUp() {
211 CocoaTest::SetUp();
212 default_controller_ = CreateController();
213 EXPECT_TRUE([default_controller_ window]);
214 }
215
216 virtual void TearDown() {
217 [default_controller_ close];
218 CocoaTest::TearDown();
201 } 219 }
202 }; 220 };
203 221
204 TEST_F(BookmarkEditorControllerTreeTest, VerifyBookmarkTestModel) { 222 TEST_F(BookmarkEditorControllerTreeTest, VerifyBookmarkTestModel) {
205 BookmarkModel& model(*(helper_.profile()->GetBookmarkModel())); 223 BookmarkModel& model(*(helper_.profile()->GetBookmarkModel()));
224 model.root_node();
206 const BookmarkNode& root(*model.GetBookmarkBarNode()); 225 const BookmarkNode& root(*model.GetBookmarkBarNode());
207 EXPECT_EQ(4, root.GetChildCount()); 226 EXPECT_EQ(4, root.GetChildCount());
208 const BookmarkNode* child = root.GetChild(0); 227 const BookmarkNode* child = root.GetChild(0);
209 EXPECT_EQ(3, child->GetChildCount()); 228 EXPECT_EQ(3, child->GetChildCount());
210 const BookmarkNode* subchild = child->GetChild(0); 229 const BookmarkNode* subchild = child->GetChild(0);
211 EXPECT_EQ(0, subchild->GetChildCount()); 230 EXPECT_EQ(0, subchild->GetChildCount());
212 subchild = child->GetChild(1); 231 subchild = child->GetChild(1);
213 EXPECT_EQ(0, subchild->GetChildCount()); 232 EXPECT_EQ(0, subchild->GetChildCount());
214 subchild = child->GetChild(2); 233 subchild = child->GetChild(2);
215 EXPECT_EQ(0, subchild->GetChildCount()); 234 EXPECT_EQ(0, subchild->GetChildCount());
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
294 [default_controller_ newFolder:nil]; 313 [default_controller_ newFolder:nil];
295 [default_controller_ cancel:nil]; 314 [default_controller_ cancel:nil];
296 EXPECT_EQ(6, group_bb_->GetChildCount()); 315 EXPECT_EQ(6, group_bb_->GetChildCount());
297 const BookmarkNode* folderChild = group_bb_->GetChild(5); 316 const BookmarkNode* folderChild = group_bb_->GetChild(5);
298 EXPECT_EQ(folderChild->GetTitle(), L"New folder"); 317 EXPECT_EQ(folderChild->GetTitle(), L"New folder");
299 } 318 }
300 319
301 class BookmarkEditorControllerTreeNoNodeTest : 320 class BookmarkEditorControllerTreeNoNodeTest :
302 public BookmarkEditorControllerTreeTest { 321 public BookmarkEditorControllerTreeTest {
303 public: 322 public:
304 BookmarkEditorControllerTreeNoNodeTest() { 323 virtual BookmarkEditorController* CreateController() {
305 // Reset the controller so that we have no |node|. 324 return [[BookmarkEditorController alloc]
306 default_controller_.reset([[BookmarkEditorController alloc] 325 initWithParentWindow:test_window()
307 initWithParentWindow:cocoa_helper_.window() 326 profile:helper_.profile()
308 profile:helper_.profile() 327 parent:group_bb_
309 parent:group_bb_
310 node:nil 328 node:nil
311 configuration:BookmarkEditor::SHOW_TREE 329 configuration:BookmarkEditor::SHOW_TREE
312 handler:nil]); 330 handler:nil];
313 [default_controller_ window]; // Forces a nib load
314 } 331 }
332
315 }; 333 };
316 334
317 TEST_F(BookmarkEditorControllerTreeNoNodeTest, NewBookmarkNoNode) { 335 TEST_F(BookmarkEditorControllerTreeNoNodeTest, NewBookmarkNoNode) {
318 [default_controller_ setDisplayName:@"NEW BOOKMARK"]; 336 [default_controller_ setDisplayName:@"NEW BOOKMARK"];
319 [default_controller_ setDisplayURL:@"http://NEWURL.com"]; 337 [default_controller_ setDisplayURL:@"http://NEWURL.com"];
320 [default_controller_ ok:nil]; 338 [default_controller_ ok:nil];
321 const BookmarkNode* new_node = group_bb_->GetChild(5); 339 const BookmarkNode* new_node = group_bb_->GetChild(5);
322 ASSERT_EQ(0, new_node->GetChildCount()); 340 ASSERT_EQ(0, new_node->GetChildCount());
323 EXPECT_EQ(new_node->GetTitle(), L"NEW BOOKMARK"); 341 EXPECT_EQ(new_node->GetTitle(), L"NEW BOOKMARK");
324 EXPECT_EQ(new_node->GetURL(), GURL("http://NEWURL.com")); 342 EXPECT_EQ(new_node->GetURL(), GURL("http://NEWURL.com"));
325 } 343 }
326 344
327 class BookmarkEditorControllerTreeNoParentTest : 345 class BookmarkEditorControllerTreeNoParentTest :
328 public BookmarkEditorControllerTreeTest { 346 public BookmarkEditorControllerTreeTest {
329 public: 347 public:
330 BookmarkEditorControllerTreeNoParentTest() { 348 virtual BookmarkEditorController* CreateController() {
331 // Reset the controller so that we have no |node|. 349 return [[BookmarkEditorController alloc]
332 default_controller_.reset([[BookmarkEditorController alloc] 350 initWithParentWindow:test_window()
333 initWithParentWindow:cocoa_helper_.window() 351 profile:helper_.profile()
334 profile:helper_.profile() 352 parent:nil
335 parent:nil 353 node:nil
336 node:nil 354 configuration:BookmarkEditor::SHOW_TREE
337 configuration:BookmarkEditor::SHOW_TREE 355 handler:nil];
338 handler:nil]); 356 }
339 [default_controller_ window]; // Forces a nib load
340 }
341 }; 357 };
342 358
343 TEST_F(BookmarkEditorControllerTreeNoParentTest, AddFolderWithNoGroupSelected) { 359 TEST_F(BookmarkEditorControllerTreeNoParentTest, AddFolderWithNoGroupSelected) {
344 [default_controller_ newFolder:nil]; 360 [default_controller_ newFolder:nil];
345 [default_controller_ cancel:nil]; 361 [default_controller_ cancel:nil];
346 BookmarkModel* model = helper_.profile()->GetBookmarkModel(); 362 BookmarkModel* model = helper_.profile()->GetBookmarkModel();
347 const BookmarkNode* bookmarkBar = model->GetBookmarkBarNode(); 363 const BookmarkNode* bookmarkBar = model->GetBookmarkBarNode();
348 EXPECT_EQ(5, bookmarkBar->GetChildCount()); 364 EXPECT_EQ(5, bookmarkBar->GetChildCount());
349 const BookmarkNode* folderChild = bookmarkBar->GetChild(4); 365 const BookmarkNode* folderChild = bookmarkBar->GetChild(4);
350 EXPECT_EQ(folderChild->GetTitle(), L"New folder"); 366 EXPECT_EQ(folderChild->GetTitle(), L"New folder");
351 } 367 }
352 368
OLDNEW
« no previous file with comments | « chrome/browser/cocoa/bookmark_editor_controller.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698