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

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

Issue 340042: bookmark STAR bubble: Disambiguate folders with the same name... (Closed) Base URL: svn://chrome-svn/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_bubble_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/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/scoped_nsobject.h" 8 #include "base/scoped_nsobject.h"
9 #import "chrome/browser/cocoa/bookmark_bubble_controller.h" 9 #import "chrome/browser/cocoa/bookmark_bubble_controller.h"
10 #include "chrome/browser/cocoa/browser_test_helper.h" 10 #include "chrome/browser/cocoa/browser_test_helper.h"
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 } 72 }
73 73
74 virtual void TearDown() { 74 virtual void TearDown() {
75 [controller_ close]; 75 [controller_ close];
76 CocoaTest::TearDown(); 76 CocoaTest::TearDown();
77 } 77 }
78 78
79 // Returns a controller but ownership not transferred. 79 // Returns a controller but ownership not transferred.
80 // Only one of these will be valid at a time. 80 // Only one of these will be valid at a time.
81 BookmarkBubbleController* ControllerForNode(const BookmarkNode* node) { 81 BookmarkBubbleController* ControllerForNode(const BookmarkNode* node) {
82 DCHECK(controller_ == nil); 82 if (controller_)
83 [controller_ close];
83 controller_ = [[BookmarkBubbleController alloc] 84 controller_ = [[BookmarkBubbleController alloc]
84 initWithDelegate:delegate_.get() 85 initWithDelegate:delegate_.get()
85 parentWindow:test_window() 86 parentWindow:test_window()
86 topLeftForBubble:[delegate_ topLeftForBubble] 87 topLeftForBubble:[delegate_ topLeftForBubble]
87 model:helper_.profile()->GetBookmarkModel() 88 model:helper_.profile()->GetBookmarkModel()
88 node:node 89 node:node
89 alreadyBookmarked:YES]; 90 alreadyBookmarked:YES];
90 EXPECT_TRUE([controller_ window]); 91 EXPECT_TRUE([controller_ window]);
91 [delegate_ setWindowController:controller_]; 92 [delegate_ setWindowController:controller_];
92 return controller_; 93 return controller_;
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 190
190 // simulate a user edit 191 // simulate a user edit
191 [controller setTitle:@"oops" parentFolder:@"grandma"]; 192 [controller setTitle:@"oops" parentFolder:@"grandma"];
192 [controller edit:controller]; 193 [controller edit:controller];
193 194
194 // Make sure bookmark has changed 195 // Make sure bookmark has changed
195 EXPECT_EQ(node->GetTitle(), L"oops"); 196 EXPECT_EQ(node->GetTitle(), L"oops");
196 EXPECT_EQ(node->GetParent()->GetTitle(), L"grandma"); 197 EXPECT_EQ(node->GetParent()->GetTitle(), L"grandma");
197 } 198 }
198 199
200 // Confirm happiness with parent nodes that have the same name.
201 TEST_F(BookmarkBubbleControllerTest, TestNewParentSameName) {
202 for (int i=0; i<2; i++) {
203 BookmarkModel* model = GetBookmarkModel();
204 const BookmarkNode* node = model->AddURL(model->GetBookmarkBarNode(),
205 0,
206 L"short-title",
207 GURL("http://www.google.com"));
208 model->AddGroup(model->GetBookmarkBarNode(), 0, L"NAME");
209 model->AddGroup(model->GetBookmarkBarNode(), 0, L"NAME");
210 model->AddGroup(model->GetBookmarkBarNode(), 0, L"NAME");
211 BookmarkBubbleController* controller = ControllerForNode(node);
212 EXPECT_TRUE(controller);
213
214 // simulate a user edit
215 [controller setParentFolderSelection:
216 model->GetBookmarkBarNode()->GetChild(i)];
217 [controller edit:controller];
218
219 // Make sure bookmark has changed, and that the parent is what we
220 // expect. This proves nobody did searching based on name.
221 EXPECT_EQ(node->GetParent(), model->GetBookmarkBarNode()->GetChild(i));
222 }
223 }
224
199 // Click the "remove" button 225 // Click the "remove" button
200 TEST_F(BookmarkBubbleControllerTest, TestRemove) { 226 TEST_F(BookmarkBubbleControllerTest, TestRemove) {
201 BookmarkModel* model = GetBookmarkModel(); 227 BookmarkModel* model = GetBookmarkModel();
202 GURL gurl("http://www.google.com"); 228 GURL gurl("http://www.google.com");
203 const BookmarkNode* node = model->AddURL(model->GetBookmarkBarNode(), 229 const BookmarkNode* node = model->AddURL(model->GetBookmarkBarNode(),
204 0, 230 0,
205 L"Bookie markie title", 231 L"Bookie markie title",
206 gurl); 232 gurl);
207 BookmarkBubbleController* controller = ControllerForNode(node); 233 BookmarkBubbleController* controller = ControllerForNode(node);
208 EXPECT_TRUE(controller); 234 EXPECT_TRUE(controller);
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 L"Bookie markie title", 290 L"Bookie markie title",
265 gurl); 291 gurl);
266 BookmarkBubbleController* controller = ControllerForNode(node); 292 BookmarkBubbleController* controller = ControllerForNode(node);
267 EXPECT_TRUE(controller); 293 EXPECT_TRUE(controller);
268 294
269 [(id)controller cancel:nil]; 295 [(id)controller cancel:nil];
270 EXPECT_TRUE(model->IsBookmarked(gurl)); 296 EXPECT_TRUE(model->IsBookmarked(gurl));
271 } 297 }
272 298
273 } // namespace 299 } // namespace
OLDNEW
« no previous file with comments | « chrome/browser/cocoa/bookmark_bubble_controller.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698