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

Side by Side Diff: chrome/browser/ui/cocoa/fullscreen/fullscreen_toolbar_controller_unittest.mm

Issue 2671073002: [Mac] Fullscreen layout issues (Closed)
Patch Set: Created 3 years, 10 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/mac/mac_util.h" 7 #include "base/mac/mac_util.h"
8 #include "base/mac/scoped_nsobject.h" 8 #include "base/mac/scoped_nsobject.h"
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #import "chrome/browser/ui/cocoa/browser_window_controller.h" 10 #import "chrome/browser/ui/cocoa/browser_window_controller.h"
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 @end 86 @end
87 87
88 namespace { 88 namespace {
89 89
90 class FullscreenToolbarControllerTest : public testing::Test { 90 class FullscreenToolbarControllerTest : public testing::Test {
91 public: 91 public:
92 FullscreenToolbarControllerTest() {} 92 FullscreenToolbarControllerTest() {}
93 void SetUp() override { 93 void SetUp() override {
94 BOOL yes = YES; 94 BOOL yes = YES;
95 BOOL no = NO; 95 BOOL no = NO;
96 CGFloat menubarHeight = 22;
96 97
97 bwc_ = [OCMockObject mockForClass:[BrowserWindowController class]]; 98 bwc_ = [OCMockObject mockForClass:[BrowserWindowController class]];
98 [[[bwc_ stub] andReturnValue:OCMOCK_VALUE(yes)] 99 [[[bwc_ stub] andReturnValue:OCMOCK_VALUE(yes)]
99 isKindOfClass:[BrowserWindowController class]]; 100 isKindOfClass:[BrowserWindowController class]];
100 [[[bwc_ stub] andReturnValue:OCMOCK_VALUE(yes)] isInAppKitFullscreen]; 101 [[[bwc_ stub] andReturnValue:OCMOCK_VALUE(yes)] isInAppKitFullscreen];
101 [[[bwc_ stub] andReturnValue:OCMOCK_VALUE(no)] isInImmersiveFullscreen]; 102 [[[bwc_ stub] andReturnValue:OCMOCK_VALUE(no)] isInImmersiveFullscreen];
103 [[[bwc_ stub] andReturnValue:OCMOCK_VALUE(menubarHeight)] menubarHeight];
102 [[bwc_ stub] layoutSubviews]; 104 [[bwc_ stub] layoutSubviews];
103 105
104 controller_.reset( 106 controller_.reset(
105 [[FullscreenToolbarController alloc] initWithBrowserController:bwc_]); 107 [[FullscreenToolbarController alloc] initWithBrowserController:bwc_]);
106 SetToolbarStyle(FullscreenToolbarStyle::TOOLBAR_HIDDEN); 108 SetToolbarStyle(FullscreenToolbarStyle::TOOLBAR_HIDDEN);
107 109
108 menubar_tracker_.reset([[MockFullscreenMenubarTracker alloc] 110 menubar_tracker_.reset([[MockFullscreenMenubarTracker alloc]
109 initWithFullscreenToolbarController:nil]); 111 initWithFullscreenToolbarController:nil]);
110 [menubar_tracker_ setMenubarProgress:0.0]; 112 [menubar_tracker_ setMenubarProgress:0.0];
111 [controller_ setMenubarTracker:menubar_tracker_]; 113 [controller_ setMenubarTracker:menubar_tracker_];
112 114
113 mouse_tracker_.reset([[MockFullscreenToolbarMouseTracker alloc] init]); 115 mouse_tracker_.reset([[MockFullscreenToolbarMouseTracker alloc] init]);
114 [controller_ setMouseTracker:mouse_tracker_]; 116 [controller_ setMouseTracker:mouse_tracker_];
115 117
116 [controller_ animationController]->SetAnimationDuration(0.0); 118 [controller_ animationController]->SetAnimationDuration(0.0);
117 119
118 [controller_ setTestFullscreenMode:YES]; 120 [controller_ setTestFullscreenMode:YES];
119 } 121 }
120 122
121 void TearDown() override { [controller_ setTestFullscreenMode:NO]; } 123 void TearDown() override { [controller_ setTestFullscreenMode:NO]; }
122 124
123 void SetToolbarStyle(FullscreenToolbarStyle style) { 125 void SetToolbarStyle(FullscreenToolbarStyle style) {
124 [controller_ setToolbarStyle:style]; 126 [controller_ setToolbarStyle:style];
125 } 127 }
126 128
127 void CheckLayout(CGFloat toolbarFraction, CGFloat menubarFraction) { 129 void CheckLayout(CGFloat toolbarFraction, CGFloat menubarFraction) {
128 FullscreenToolbarLayout layout = [controller_ computeLayout]; 130 FullscreenToolbarLayout layout = [controller_ computeLayout];
129 EXPECT_EQ(toolbarFraction, layout.toolbarFraction); 131 EXPECT_EQ(toolbarFraction, layout.toolbarFraction);
130 EXPECT_EQ(menubarFraction * [controller_ toolbarVerticalOffset], 132 EXPECT_EQ(menubarFraction * -[bwc_ menubarHeight], layout.menubarOffset);
131 layout.menubarOffset);
132 } 133 }
133 134
134 // A mock BrowserWindowController object. 135 // A mock BrowserWindowController object.
135 id bwc_; 136 id bwc_;
136 137
137 // The FullscreenToolbarController object being tested. 138 // The FullscreenToolbarController object being tested.
138 base::scoped_nsobject<FullscreenToolbarController> controller_; 139 base::scoped_nsobject<FullscreenToolbarController> controller_;
139 140
140 // Mocks the state of the menubar. 141 // Mocks the state of the menubar.
141 base::scoped_nsobject<MockFullscreenMenubarTracker> menubar_tracker_; 142 base::scoped_nsobject<MockFullscreenMenubarTracker> menubar_tracker_;
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 291
291 // Move the mouse away from the toolbar. Toolbar should be fully visible. 292 // Move the mouse away from the toolbar. Toolbar should be fully visible.
292 [mouse_tracker_ setMouseInside:NO]; 293 [mouse_tracker_ setMouseInside:NO];
293 CheckLayout(1, 0); 294 CheckLayout(1, 0);
294 295
295 // Release the toolbar. Toolbar should be hidden. 296 // Release the toolbar. Toolbar should be hidden.
296 [locks releaseToolbarVisibilityForOwner:owner.get() withAnimation:NO]; 297 [locks releaseToolbarVisibilityForOwner:owner.get() withAnimation:NO];
297 } 298 }
298 299
299 } // namespace 300 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698