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

Side by Side Diff: chrome/browser/ui/cocoa/bookmarks/bookmark_menu_bridge_unittest.mm

Issue 1105413002: Avoid conversion of index to BookmarkNode pointer unnacessarily. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changes as per review comments. Created 5 years, 7 months 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 <AppKit/AppKit.h> 5 #import <AppKit/AppKit.h>
6 6
7 #include "base/strings/string16.h" 7 #include "base/strings/string16.h"
8 #include "base/strings/string_util.h" 8 #include "base/strings/string_util.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "chrome/app/chrome_command_ids.h" 10 #include "chrome/app/chrome_command_ids.h"
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 // Add a bookmark and reload and there should be 8 items: the previous 103 // Add a bookmark and reload and there should be 8 items: the previous
104 // menu contents plus two new separator, the new bookmark and three 104 // menu contents plus two new separator, the new bookmark and three
105 // versions of 'Open All Bookmarks' menu items. 105 // versions of 'Open All Bookmarks' menu items.
106 const BookmarkNode* parent = model->bookmark_bar_node(); 106 const BookmarkNode* parent = model->bookmark_bar_node();
107 const char* url = "http://www.zim-bop-a-dee.com/"; 107 const char* url = "http://www.zim-bop-a-dee.com/";
108 model->AddURL(parent, 0, ASCIIToUTF16("Bookmark"), GURL(url)); 108 model->AddURL(parent, 0, ASCIIToUTF16("Bookmark"), GURL(url));
109 bridge_->UpdateMenu(menu); 109 bridge_->UpdateMenu(menu);
110 EXPECT_EQ(6, [menu numberOfItems]); 110 EXPECT_EQ(6, [menu numberOfItems]);
111 // Remove the new bookmark and reload and we should have 2 items again 111 // Remove the new bookmark and reload and we should have 2 items again
112 // because the separator should have been removed as well. 112 // because the separator should have been removed as well.
113 model->Remove(parent, 0); 113 model->Remove(parent->GetChild(0));
114 bridge_->UpdateMenu(menu); 114 bridge_->UpdateMenu(menu);
115 EXPECT_EQ(0, [menu numberOfItems]); 115 EXPECT_EQ(0, [menu numberOfItems]);
116 } 116 }
117 117
118 // Test that ClearBookmarkMenu() removes all bookmark menus. 118 // Test that ClearBookmarkMenu() removes all bookmark menus.
119 TEST_F(BookmarkMenuBridgeTest, TestClearBookmarkMenu) { 119 TEST_F(BookmarkMenuBridgeTest, TestClearBookmarkMenu) {
120 NSMenu* menu = bridge_->menu_; 120 NSMenu* menu = bridge_->menu_;
121 121
122 AddTestMenuItem(menu, @"hi mom", nil); 122 AddTestMenuItem(menu, @"hi mom", nil);
123 AddTestMenuItem(menu, @"not", @selector(openBookmarkMenuItem:)); 123 AddTestMenuItem(menu, @"not", @selector(openBookmarkMenuItem:));
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
322 AddNodeToMenu(bridge_.get(), root, menu); 322 AddNodeToMenu(bridge_.get(), root, menu);
323 EXPECT_TRUE(MenuItemForNode(bridge_.get(), root->GetChild(0))); 323 EXPECT_TRUE(MenuItemForNode(bridge_.get(), root->GetChild(0)));
324 324
325 model->AddURL(root, 1, ASCIIToUTF16("Test 2"), GURL("http://second-test")); 325 model->AddURL(root, 1, ASCIIToUTF16("Test 2"), GURL("http://second-test"));
326 AddNodeToMenu(bridge_.get(), root, menu); 326 AddNodeToMenu(bridge_.get(), root, menu);
327 EXPECT_TRUE(MenuItemForNode(bridge_.get(), root->GetChild(0))); 327 EXPECT_TRUE(MenuItemForNode(bridge_.get(), root->GetChild(0)));
328 EXPECT_TRUE(MenuItemForNode(bridge_.get(), root->GetChild(1))); 328 EXPECT_TRUE(MenuItemForNode(bridge_.get(), root->GetChild(1)));
329 329
330 const BookmarkNode* removed_node = root->GetChild(0); 330 const BookmarkNode* removed_node = root->GetChild(0);
331 EXPECT_EQ(2, root->child_count()); 331 EXPECT_EQ(2, root->child_count());
332 model->Remove(root, 0); 332 model->Remove(root->GetChild(0));
333 EXPECT_EQ(1, root->child_count()); 333 EXPECT_EQ(1, root->child_count());
334 bridge_->UpdateMenu(menu); 334 bridge_->UpdateMenu(menu);
335 EXPECT_FALSE(MenuItemForNode(bridge_.get(), removed_node)); 335 EXPECT_FALSE(MenuItemForNode(bridge_.get(), removed_node));
336 EXPECT_TRUE(MenuItemForNode(bridge_.get(), root->GetChild(0))); 336 EXPECT_TRUE(MenuItemForNode(bridge_.get(), root->GetChild(0)));
337 337
338 const BookmarkNode empty_node(GURL("http://no-where/")); 338 const BookmarkNode empty_node(GURL("http://no-where/"));
339 EXPECT_FALSE(MenuItemForNode(bridge_.get(), &empty_node)); 339 EXPECT_FALSE(MenuItemForNode(bridge_.get(), &empty_node));
340 EXPECT_FALSE(MenuItemForNode(bridge_.get(), NULL)); 340 EXPECT_FALSE(MenuItemForNode(bridge_.get(), NULL));
341 } 341 }
342 342
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 EXPECT_TRUE([item image]); 392 EXPECT_TRUE([item image]);
393 393
394 model->SetTitle(node, ASCIIToUTF16("New Title")); 394 model->SetTitle(node, ASCIIToUTF16("New Title"));
395 395
396 item = [menu itemWithTitle:@"Test Item"]; 396 item = [menu itemWithTitle:@"Test Item"];
397 EXPECT_FALSE(item); 397 EXPECT_FALSE(item);
398 item = [menu itemWithTitle:@"New Title"]; 398 item = [menu itemWithTitle:@"New Title"];
399 EXPECT_TRUE(item); 399 EXPECT_TRUE(item);
400 } 400 }
401 401
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698