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

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

Issue 495010: Mac: fix/implement app windows (not app mode), popups, drawing; refactor code. (Closed)
Patch Set: Updated per pink's review. Created 11 years 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
« no previous file with comments | « chrome/browser/cocoa/toolbar_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 #import "base/scoped_nsobject.h" 7 #import "base/scoped_nsobject.h"
8 #include "chrome/app/chrome_dll_resource.h" 8 #include "chrome/app/chrome_dll_resource.h"
9 #include "chrome/browser/cocoa/browser_test_helper.h" 9 #include "chrome/browser/cocoa/browser_test_helper.h"
10 #import "chrome/browser/cocoa/cocoa_test_helper.h" 10 #import "chrome/browser/cocoa/cocoa_test_helper.h"
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 }; 88 };
89 89
90 TEST_VIEW(ToolbarControllerTest, [bar_ view]) 90 TEST_VIEW(ToolbarControllerTest, [bar_ view])
91 91
92 // Test the initial state that everything is sync'd up 92 // Test the initial state that everything is sync'd up
93 TEST_F(ToolbarControllerTest, InitialState) { 93 TEST_F(ToolbarControllerTest, InitialState) {
94 CommandUpdater* updater = helper_.browser()->command_updater(); 94 CommandUpdater* updater = helper_.browser()->command_updater();
95 CompareState(updater, [bar_ toolbarViews]); 95 CompareState(updater, [bar_ toolbarViews]);
96 } 96 }
97 97
98 // Make sure a "titlebar only" toolbar works 98 // Make sure a "titlebar only" toolbar with location bar works.
99 TEST_F(ToolbarControllerTest, TitlebarOnly) { 99 TEST_F(ToolbarControllerTest, TitlebarOnly) {
100 NSView* view = [bar_ view]; 100 NSView* view = [bar_ view];
101 101
102 [bar_ setHasToolbar:NO]; 102 [bar_ setHasToolbar:NO hasLocationBar:YES];
103 EXPECT_NE(view, [bar_ view]); 103 EXPECT_NE(view, [bar_ view]);
104 104
105 // Simulate a popup going fullscreen and back. 105 // Simulate a popup going fullscreen and back.
106 NSView* superview = [view superview]; 106 NSView* superview = [view superview];
107 // TODO(jrg): find a way to add an [NSAutoreleasePool drain] in 107 // TODO(jrg): find a way to add an [NSAutoreleasePool drain] in
108 // here. I don't have access to the current 108 // here. I don't have access to the current
109 // scoped_nsautorelease_pool to do it properly :-( 109 // scoped_nsautorelease_pool to do it properly :-(
110 [view removeFromSuperview]; 110 [view removeFromSuperview];
111 [superview addSubview:view]; 111 [superview addSubview:view];
112 112
113 [bar_ setHasToolbar:YES]; 113 [bar_ setHasToolbar:YES hasLocationBar:YES];
114 EXPECT_EQ(view, [bar_ view]); 114 EXPECT_EQ(view, [bar_ view]);
115 115
116 // Leave it off to make sure that's fine 116 // Leave it off to make sure that's fine
117 [bar_ setHasToolbar:NO]; 117 [bar_ setHasToolbar:NO hasLocationBar:YES];
118 } 118 }
119 119
120 // TODO(viettrungluu): make a version of above without location bar.
120 121
121 // Make some changes to the enabled state of a few of the buttons and ensure 122 // Make some changes to the enabled state of a few of the buttons and ensure
122 // that we're still in sync. 123 // that we're still in sync.
123 TEST_F(ToolbarControllerTest, UpdateEnabledState) { 124 TEST_F(ToolbarControllerTest, UpdateEnabledState) {
124 CommandUpdater* updater = helper_.browser()->command_updater(); 125 CommandUpdater* updater = helper_.browser()->command_updater();
125 EXPECT_FALSE(updater->IsCommandEnabled(IDC_BACK)); 126 EXPECT_FALSE(updater->IsCommandEnabled(IDC_BACK));
126 EXPECT_FALSE(updater->IsCommandEnabled(IDC_FORWARD)); 127 EXPECT_FALSE(updater->IsCommandEnabled(IDC_FORWARD));
127 updater->UpdateCommandEnabled(IDC_BACK, true); 128 updater->UpdateCommandEnabled(IDC_BACK, true);
128 updater->UpdateCommandEnabled(IDC_FORWARD, true); 129 updater->UpdateCommandEnabled(IDC_FORWARD, true);
129 CompareState(updater, [bar_ toolbarViews]); 130 CompareState(updater, [bar_ toolbarViews]);
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 EXPECT_EQ(showButtons, [pageButton isHidden]); 202 EXPECT_EQ(showButtons, [pageButton isHidden]);
202 EXPECT_EQ(showButtons, [wrenchButton isHidden]); 203 EXPECT_EQ(showButtons, [wrenchButton isHidden]);
203 EXPECT_NE(NSMinX(originalGoFrame), NSMinX([goButton frame])); 204 EXPECT_NE(NSMinX(originalGoFrame), NSMinX([goButton frame]));
204 EXPECT_NE(NSWidth(originalLocationBarFrame), NSWidth([locationBar frame])); 205 EXPECT_NE(NSWidth(originalLocationBarFrame), NSWidth([locationBar frame]));
205 } 206 }
206 207
207 // Ensure that we don't toggle the buttons when we have a strip marked as not 208 // Ensure that we don't toggle the buttons when we have a strip marked as not
208 // having the full toolbar. Also ensure that the location bar doesn't change 209 // having the full toolbar. Also ensure that the location bar doesn't change
209 // size. 210 // size.
210 TEST_F(ToolbarControllerTest, DontToggleWhenNoToolbar) { 211 TEST_F(ToolbarControllerTest, DontToggleWhenNoToolbar) {
211 [bar_ setHasToolbar:NO]; 212 [bar_ setHasToolbar:NO hasLocationBar:YES];
212 NSView* homeButton = [[bar_ toolbarViews] objectAtIndex:kHomeIndex]; 213 NSView* homeButton = [[bar_ toolbarViews] objectAtIndex:kHomeIndex];
213 NSView* pageButton = [[bar_ toolbarViews] objectAtIndex:kPageIndex]; 214 NSView* pageButton = [[bar_ toolbarViews] objectAtIndex:kPageIndex];
214 NSView* wrenchButton = [[bar_ toolbarViews] objectAtIndex:kWrenchIndex]; 215 NSView* wrenchButton = [[bar_ toolbarViews] objectAtIndex:kWrenchIndex];
215 NSView* locationBar = [[bar_ toolbarViews] objectAtIndex:kLocationIndex]; 216 NSView* locationBar = [[bar_ toolbarViews] objectAtIndex:kLocationIndex];
216 NSRect locationBarFrame = [locationBar frame]; 217 NSRect locationBarFrame = [locationBar frame];
217 EXPECT_EQ([homeButton isHidden], YES); 218 EXPECT_EQ([homeButton isHidden], YES);
218 EXPECT_EQ([pageButton isHidden], YES); 219 EXPECT_EQ([pageButton isHidden], YES);
219 EXPECT_EQ([wrenchButton isHidden], YES); 220 EXPECT_EQ([wrenchButton isHidden], YES);
220 [bar_ showOptionalHomeButton]; 221 [bar_ showOptionalHomeButton];
221 EXPECT_EQ([homeButton isHidden], YES); 222 EXPECT_EQ([homeButton isHidden], YES);
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 [view setHitTestReturn:button]; 278 [view setHitTestReturn:button];
278 EXPECT_FALSE([bar_ hoverButtonForEvent:event]); 279 EXPECT_FALSE([bar_ hoverButtonForEvent:event]);
279 280
280 // Now! 281 // Now!
281 scoped_nsobject<GradientButtonCell> cell([[GradientButtonCell alloc] init]); 282 scoped_nsobject<GradientButtonCell> cell([[GradientButtonCell alloc] init]);
282 [button setCell:cell.get()]; 283 [button setCell:cell.get()];
283 EXPECT_TRUE([bar_ hoverButtonForEvent:nil]); 284 EXPECT_TRUE([bar_ hoverButtonForEvent:nil]);
284 } 285 }
285 286
286 } // namespace 287 } // namespace
OLDNEW
« no previous file with comments | « chrome/browser/cocoa/toolbar_controller.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698