| 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 #include "base/memory/scoped_nsobject.h" | 5 #include "base/memory/scoped_nsobject.h" |
| 6 #include "base/sys_string_conversions.h" | 6 #include "base/sys_string_conversions.h" |
| 7 #include "base/utf_string_conversions.h" | 7 #include "base/utf_string_conversions.h" |
| 8 #include "chrome/app/chrome_command_ids.h" | 8 #include "chrome/app/chrome_command_ids.h" |
| 9 #include "chrome/browser/search/search.h" | 9 #include "chrome/browser/search/search.h" |
| 10 #include "chrome/browser/sync/glue/session_model_associator.h" | 10 #include "chrome/browser/sync/glue/session_model_associator.h" |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 102 IDC_RECENT_TABS_MENU, IDS_RECENT_TABS_MENU, | 102 IDC_RECENT_TABS_MENU, IDS_RECENT_TABS_MENU, |
| 103 &recent_tabs_sub_menu_model); | 103 &recent_tabs_sub_menu_model); |
| 104 | 104 |
| 105 [controller() setModel:fake_model_.get()]; | 105 [controller() setModel:fake_model_.get()]; |
| 106 NSMenu* menu = [controller() menu]; | 106 NSMenu* menu = [controller() menu]; |
| 107 [controller() updateRecentTabsSubmenu]; | 107 [controller() updateRecentTabsSubmenu]; |
| 108 | 108 |
| 109 NSString* title = l10n_util::GetNSStringWithFixup(IDS_RECENT_TABS_MENU); | 109 NSString* title = l10n_util::GetNSStringWithFixup(IDS_RECENT_TABS_MENU); |
| 110 NSMenu* recent_tabs_menu = [[menu itemWithTitle:title] submenu]; | 110 NSMenu* recent_tabs_menu = [[menu itemWithTitle:title] submenu]; |
| 111 EXPECT_TRUE(recent_tabs_menu); | 111 EXPECT_TRUE(recent_tabs_menu); |
| 112 EXPECT_EQ(4, [recent_tabs_menu numberOfItems]); | 112 EXPECT_EQ(6, [recent_tabs_menu numberOfItems]); |
| 113 | 113 |
| 114 // Send a icon changed event and verify that the icon is updated. | 114 // Send a icon changed event and verify that the icon is updated. |
| 115 gfx::Image icon(ResourceBundle::GetSharedInstance().GetNativeImageNamed( | 115 gfx::Image icon(ResourceBundle::GetSharedInstance().GetNativeImageNamed( |
| 116 IDR_BOOKMARKS_FAVICON)); | 116 IDR_BOOKMARKS_FAVICON)); |
| 117 recent_tabs_sub_menu_model.SetIcon(3, icon); | 117 recent_tabs_sub_menu_model.SetIcon(3, icon); |
| 118 EXPECT_NSNE(icon.ToNSImage(), [[recent_tabs_menu itemAtIndex:3] image]); | 118 EXPECT_NSNE(icon.ToNSImage(), [[recent_tabs_menu itemAtIndex:3] image]); |
| 119 recent_tabs_sub_menu_model.GetMenuModelDelegate()->OnIconChanged(3); | 119 recent_tabs_sub_menu_model.GetMenuModelDelegate()->OnIconChanged(3); |
| 120 EXPECT_TRUE([[recent_tabs_menu itemAtIndex:3] image]); | 120 EXPECT_TRUE([[recent_tabs_menu itemAtIndex:3] image]); |
| 121 EXPECT_NSEQ(icon.ToNSImage(), [[recent_tabs_menu itemAtIndex:3] image]); | 121 EXPECT_NSEQ(icon.ToNSImage(), [[recent_tabs_menu itemAtIndex:3] image]); |
| 122 | 122 |
| (...skipping 25 matching lines...) Expand all Loading... |
| 148 IDC_RECENT_TABS_MENU, IDS_RECENT_TABS_MENU, | 148 IDC_RECENT_TABS_MENU, IDS_RECENT_TABS_MENU, |
| 149 &recent_tabs_sub_menu_model); | 149 &recent_tabs_sub_menu_model); |
| 150 | 150 |
| 151 [controller() setModel:fake_model_.get()]; | 151 [controller() setModel:fake_model_.get()]; |
| 152 NSMenu* menu = [controller() menu]; | 152 NSMenu* menu = [controller() menu]; |
| 153 [controller() updateRecentTabsSubmenu]; | 153 [controller() updateRecentTabsSubmenu]; |
| 154 | 154 |
| 155 NSString* title = l10n_util::GetNSStringWithFixup(IDS_RECENT_TABS_MENU); | 155 NSString* title = l10n_util::GetNSStringWithFixup(IDS_RECENT_TABS_MENU); |
| 156 NSMenu* recent_tabs_menu = [[menu itemWithTitle:title] submenu]; | 156 NSMenu* recent_tabs_menu = [[menu itemWithTitle:title] submenu]; |
| 157 EXPECT_TRUE(recent_tabs_menu); | 157 EXPECT_TRUE(recent_tabs_menu); |
| 158 EXPECT_EQ(5, [recent_tabs_menu numberOfItems]); | 158 EXPECT_EQ(7, [recent_tabs_menu numberOfItems]); |
| 159 | 159 |
| 160 // Index 0: restore tabs menu item. | 160 // Index 0: restore tabs menu item. |
| 161 NSString* restore_tab_label = l10n_util::FixUpWindowsStyleLabel( | 161 NSString* restore_tab_label = l10n_util::FixUpWindowsStyleLabel( |
| 162 recent_tabs_sub_menu_model.GetLabelAt(0)); | 162 recent_tabs_sub_menu_model.GetLabelAt(0)); |
| 163 EXPECT_NSEQ(restore_tab_label, [[recent_tabs_menu itemAtIndex:0] title]); | 163 EXPECT_NSEQ(restore_tab_label, [[recent_tabs_menu itemAtIndex:0] title]); |
| 164 | 164 |
| 165 // Item 1: separator. | 165 // Item 1: separator. |
| 166 EXPECT_TRUE([[recent_tabs_menu itemAtIndex:1] isSeparatorItem]); | 166 EXPECT_TRUE([[recent_tabs_menu itemAtIndex:1] isSeparatorItem]); |
| 167 | 167 |
| 168 // Item 2: window title. | 168 // Item 2: window title. |
| (...skipping 21 matching lines...) Expand all Loading... |
| 190 | 190 |
| 191 // Verify that |RecentTabsMenuModelDelegate| is deleted before the model | 191 // Verify that |RecentTabsMenuModelDelegate| is deleted before the model |
| 192 // it's observing. | 192 // it's observing. |
| 193 TEST_F(WrenchMenuControllerTest, RecentTabDeleteOrder) { | 193 TEST_F(WrenchMenuControllerTest, RecentTabDeleteOrder) { |
| 194 chrome::search::EnableInstantExtendedAPIForTesting(); | 194 chrome::search::EnableInstantExtendedAPIForTesting(); |
| 195 [controller_ menuNeedsUpdate:[controller_ menu]]; | 195 [controller_ menuNeedsUpdate:[controller_ menu]]; |
| 196 // If the delete order is wrong then the test will crash on exit. | 196 // If the delete order is wrong then the test will crash on exit. |
| 197 } | 197 } |
| 198 | 198 |
| 199 } // namespace | 199 } // namespace |
| OLD | NEW |