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

Side by Side Diff: chrome/browser/ui/cocoa/browser_window_layout_unittest.mm

Issue 1971343004: [Material][Mac] Reduced the area above tabs by 2 pts (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed test Created 4 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/scoped_nsobject.h" 7 #include "base/mac/scoped_nsobject.h"
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #import "chrome/browser/ui/cocoa/browser_window_layout.h" 9 #import "chrome/browser/ui/cocoa/browser_window_layout.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
11 #import "testing/gtest_mac.h" 11 #import "testing/gtest_mac.h"
12 #include "ui/base/material_design/material_design_controller.h"
13
14 namespace {
15
16 // In Material Design, the tabstrip's height is 2px smaller. As such, the
17 // expected y values in the tests need to take account of the offset.
18
19 int TabStripYOffset() {
20 return ui::MaterialDesignController::IsModeMaterial() ? 2 : 0;
21 }
22
23 int AvatarYOffset() {
24 return ui::MaterialDesignController::IsModeMaterial() ? 1 : 0;
25 }
26
27 } // namespace
12 28
13 class BrowserWindowLayoutTest : public testing::Test { 29 class BrowserWindowLayoutTest : public testing::Test {
14 public: 30 public:
15 BrowserWindowLayoutTest() {} 31 BrowserWindowLayoutTest() {}
16 void SetUp() override { 32 void SetUp() override {
17 layout.reset([[BrowserWindowLayout alloc] init]); 33 layout.reset([[BrowserWindowLayout alloc] init]);
18 34
19 [layout setContentViewSize:NSMakeSize(600, 600)]; 35 [layout setContentViewSize:NSMakeSize(600, 600)];
20 [layout setWindowSize:NSMakeSize(600, 622)]; 36 [layout setWindowSize:NSMakeSize(600, 622)];
21 [layout setInAnyFullscreen:NO]; 37 [layout setInAnyFullscreen:NO];
(...skipping 27 matching lines...) Expand all
49 [layout setFullscreenMenubarOffset:0]; 65 [layout setFullscreenMenubarOffset:0];
50 [layout setFullscreenToolbarFraction:0]; 66 [layout setFullscreenToolbarFraction:0];
51 [layout setFullscreenButtonFrame:NSZeroRect]; 67 [layout setFullscreenButtonFrame:NSZeroRect];
52 } 68 }
53 69
54 private: 70 private:
55 DISALLOW_COPY_AND_ASSIGN(BrowserWindowLayoutTest); 71 DISALLOW_COPY_AND_ASSIGN(BrowserWindowLayoutTest);
56 }; 72 };
57 73
58 TEST_F(BrowserWindowLayoutTest, TestAllViews) { 74 TEST_F(BrowserWindowLayoutTest, TestAllViews) {
75 int yOffset = TabStripYOffset();
59 chrome::LayoutOutput output = [layout computeLayout]; 76 chrome::LayoutOutput output = [layout computeLayout];
60 77
61 EXPECT_NSEQ(NSMakeRect(0, 585, 600, 37), output.tabStripLayout.frame); 78 EXPECT_NSEQ(NSMakeRect(0, 585 + yOffset, 600, 37 - yOffset),
62 EXPECT_NSEQ(NSMakeRect(502, 589, 63, 28), output.tabStripLayout.avatarFrame); 79 output.tabStripLayout.frame);
80 EXPECT_NSEQ(NSMakeRect(502, 589 + AvatarYOffset(), 63, 28),
81 output.tabStripLayout.avatarFrame);
63 EXPECT_EQ(70, output.tabStripLayout.leftIndent); 82 EXPECT_EQ(70, output.tabStripLayout.leftIndent);
64 EXPECT_EQ(98, output.tabStripLayout.rightIndent); 83 EXPECT_EQ(98, output.tabStripLayout.rightIndent);
65 EXPECT_NSEQ(NSMakeRect(0, 553, 600, 32), output.toolbarFrame); 84
66 EXPECT_NSEQ(NSMakeRect(0, 527, 600, 26), output.bookmarkFrame); 85 EXPECT_NSEQ(NSMakeRect(0, 553 + yOffset, 600, 32), output.toolbarFrame);
86 EXPECT_NSEQ(NSMakeRect(0, 527 + yOffset, 600, 26), output.bookmarkFrame);
67 EXPECT_NSEQ(NSZeroRect, output.fullscreenBackingBarFrame); 87 EXPECT_NSEQ(NSZeroRect, output.fullscreenBackingBarFrame);
68 EXPECT_EQ(527, output.findBarMaxY); 88 EXPECT_EQ(527 + yOffset, output.findBarMaxY);
69 EXPECT_NSEQ(NSMakeRect(0, 455, 600, 111), output.infoBarFrame); 89 EXPECT_NSEQ(NSMakeRect(0, 455 + yOffset, 600, 111), output.infoBarFrame);
70 EXPECT_NSEQ(NSMakeRect(0, 0, 600, 44), output.downloadShelfFrame); 90 EXPECT_NSEQ(NSMakeRect(0, 0, 600, 44), output.downloadShelfFrame);
71 EXPECT_NSEQ(NSMakeRect(0, 44, 600, 411), output.contentAreaFrame); 91 EXPECT_NSEQ(NSMakeRect(0, 44, 600, 411 + yOffset), output.contentAreaFrame);
72 } 92 }
73 93
74 TEST_F(BrowserWindowLayoutTest, TestAllViewsFullscreen) { 94 TEST_F(BrowserWindowLayoutTest, TestAllViewsFullscreen) {
75 ApplyStandardFullscreenLayoutParameters(); 95 ApplyStandardFullscreenLayoutParameters();
76 96 int yOffset = TabStripYOffset();
77 chrome::LayoutOutput output = [layout computeLayout]; 97 chrome::LayoutOutput output = [layout computeLayout];
78 98
79 EXPECT_NSEQ(NSMakeRect(0, 585, 600, 37), output.tabStripLayout.frame); 99 EXPECT_NSEQ(NSMakeRect(0, 585 + yOffset, 600, 37 - yOffset),
80 EXPECT_NSEQ(NSMakeRect(533, 589, 63, 28), output.tabStripLayout.avatarFrame); 100 output.tabStripLayout.frame);
101 EXPECT_NSEQ(NSMakeRect(533, 589 + AvatarYOffset(), 63, 28),
102 output.tabStripLayout.avatarFrame);
81 EXPECT_EQ(0, output.tabStripLayout.leftIndent); 103 EXPECT_EQ(0, output.tabStripLayout.leftIndent);
82 EXPECT_FALSE(output.tabStripLayout.addCustomWindowControls); 104 EXPECT_FALSE(output.tabStripLayout.addCustomWindowControls);
83 EXPECT_EQ(67, output.tabStripLayout.rightIndent); 105 EXPECT_EQ(67, output.tabStripLayout.rightIndent);
84 EXPECT_NSEQ(NSMakeRect(0, 553, 600, 32), output.toolbarFrame); 106 EXPECT_NSEQ(NSMakeRect(0, 553 + yOffset, 600, 32), output.toolbarFrame);
85 EXPECT_NSEQ(NSMakeRect(0, 527, 600, 26), output.bookmarkFrame); 107 EXPECT_NSEQ(NSMakeRect(0, 527 + yOffset, 600, 26), output.bookmarkFrame);
86 EXPECT_NSEQ(NSMakeRect(0, 527, 600, 95), output.fullscreenBackingBarFrame); 108 EXPECT_NSEQ(NSMakeRect(0, 527 + yOffset, 600, 95 - yOffset),
87 EXPECT_EQ(527, output.findBarMaxY); 109 output.fullscreenBackingBarFrame);
88 EXPECT_EQ(527, output.fullscreenExitButtonMaxY); 110 EXPECT_EQ(527 + yOffset, output.findBarMaxY);
89 EXPECT_NSEQ(NSMakeRect(0, 455, 600, 111), output.infoBarFrame); 111 EXPECT_EQ(527 + yOffset, output.fullscreenExitButtonMaxY);
112 EXPECT_NSEQ(NSMakeRect(0, 455 + yOffset, 600, 111), output.infoBarFrame);
90 EXPECT_NSEQ(NSMakeRect(0, 0, 600, 44), output.downloadShelfFrame); 113 EXPECT_NSEQ(NSMakeRect(0, 0, 600, 44), output.downloadShelfFrame);
91 EXPECT_NSEQ(NSMakeRect(0, 44, 600, 411), output.contentAreaFrame); 114 EXPECT_NSEQ(NSMakeRect(0, 44, 600, 411 + yOffset), output.contentAreaFrame);
92 } 115 }
93 116
94 // In fullscreen mode for Yosemite, the tab strip's left indent should be 117 // In fullscreen mode for Yosemite, the tab strip's left indent should be
95 // sufficiently large to accomodate the addition of traffic light buttons. 118 // sufficiently large to accomodate the addition of traffic light buttons.
96 TEST_F(BrowserWindowLayoutTest, TestYosemiteFullscreenTrafficLights) { 119 TEST_F(BrowserWindowLayoutTest, TestYosemiteFullscreenTrafficLights) {
97 ApplyStandardFullscreenLayoutParameters(); 120 ApplyStandardFullscreenLayoutParameters();
98 [layout setOSYosemiteOrLater:YES]; 121 [layout setOSYosemiteOrLater:YES];
99 122
100 chrome::LayoutOutput output = [layout computeLayout]; 123 chrome::LayoutOutput output = [layout computeLayout];
101 124
102 EXPECT_EQ(70, output.tabStripLayout.leftIndent); 125 EXPECT_EQ(70, output.tabStripLayout.leftIndent);
103 EXPECT_TRUE(output.tabStripLayout.addCustomWindowControls); 126 EXPECT_TRUE(output.tabStripLayout.addCustomWindowControls);
104 } 127 }
105 128
106 TEST_F(BrowserWindowLayoutTest, TestAllViewsFullscreenMenuBarShowing) { 129 TEST_F(BrowserWindowLayoutTest, TestAllViewsFullscreenMenuBarShowing) {
107 ApplyStandardFullscreenLayoutParameters(); 130 ApplyStandardFullscreenLayoutParameters();
108 [layout setFullscreenMenubarOffset:-10]; 131 [layout setFullscreenMenubarOffset:-10];
109 132
133 int yOffset = TabStripYOffset();
110 chrome::LayoutOutput output = [layout computeLayout]; 134 chrome::LayoutOutput output = [layout computeLayout];
111 135
112 EXPECT_NSEQ(NSMakeRect(0, 575, 600, 37), output.tabStripLayout.frame); 136 EXPECT_NSEQ(NSMakeRect(0, 575 + yOffset, 600, 37 - yOffset),
113 EXPECT_NSEQ(NSMakeRect(533, 579, 63, 28), output.tabStripLayout.avatarFrame); 137 output.tabStripLayout.frame);
138 EXPECT_NSEQ(NSMakeRect(533, 579 + AvatarYOffset(), 63, 28),
139 output.tabStripLayout.avatarFrame);
114 EXPECT_EQ(0, output.tabStripLayout.leftIndent); 140 EXPECT_EQ(0, output.tabStripLayout.leftIndent);
115 EXPECT_FALSE(output.tabStripLayout.addCustomWindowControls); 141 EXPECT_FALSE(output.tabStripLayout.addCustomWindowControls);
116 EXPECT_EQ(67, output.tabStripLayout.rightIndent); 142 EXPECT_EQ(67, output.tabStripLayout.rightIndent);
117 EXPECT_NSEQ(NSMakeRect(0, 543, 600, 32), output.toolbarFrame); 143 EXPECT_NSEQ(NSMakeRect(0, 543 + yOffset, 600, 32), output.toolbarFrame);
118 EXPECT_NSEQ(NSMakeRect(0, 517, 600, 26), output.bookmarkFrame); 144 EXPECT_NSEQ(NSMakeRect(0, 517 + yOffset, 600, 26), output.bookmarkFrame);
119 EXPECT_NSEQ(NSMakeRect(0, 517, 600, 95), output.fullscreenBackingBarFrame); 145 EXPECT_NSEQ(NSMakeRect(0, 517 + yOffset, 600, 95 - yOffset),
120 EXPECT_EQ(517, output.findBarMaxY); 146 output.fullscreenBackingBarFrame);
121 EXPECT_EQ(517, output.fullscreenExitButtonMaxY); 147 EXPECT_EQ(517 + yOffset, output.findBarMaxY);
122 EXPECT_NSEQ(NSMakeRect(0, 445, 600, 111), output.infoBarFrame); 148 EXPECT_EQ(517 + yOffset, output.fullscreenExitButtonMaxY);
149 EXPECT_NSEQ(NSMakeRect(0, 445 + yOffset, 600, 111), output.infoBarFrame);
123 EXPECT_NSEQ(NSMakeRect(0, 0, 600, 44), output.downloadShelfFrame); 150 EXPECT_NSEQ(NSMakeRect(0, 0, 600, 44), output.downloadShelfFrame);
124 EXPECT_NSEQ(NSMakeRect(0, 44, 600, 411), output.contentAreaFrame); 151 EXPECT_NSEQ(NSMakeRect(0, 44, 600, 411 + yOffset), output.contentAreaFrame);
125 } 152 }
126 153
127 TEST_F(BrowserWindowLayoutTest, TestPopupWindow) { 154 TEST_F(BrowserWindowLayoutTest, TestPopupWindow) {
128 [layout setHasTabStrip:NO]; 155 [layout setHasTabStrip:NO];
129 [layout setHasToolbar:NO]; 156 [layout setHasToolbar:NO];
130 [layout setHasLocationBar:YES]; 157 [layout setHasLocationBar:YES];
131 [layout setBookmarkBarHidden:YES]; 158 [layout setBookmarkBarHidden:YES];
132 [layout setHasDownloadShelf:NO]; 159 [layout setHasDownloadShelf:NO];
133 160
134 chrome::LayoutOutput output = [layout computeLayout]; 161 chrome::LayoutOutput output = [layout computeLayout];
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 231
205 EXPECT_NSEQ(NSMakeRect(0, 528, 600, 72), output.infoBarFrame); 232 EXPECT_NSEQ(NSMakeRect(0, 528, 600, 72), output.infoBarFrame);
206 } 233 }
207 234
208 // Tests that the avatar button is not aligned on the half pixel. 235 // Tests that the avatar button is not aligned on the half pixel.
209 TEST_F(BrowserWindowLayoutTest, TestAvatarButtonPixelAlignment) { 236 TEST_F(BrowserWindowLayoutTest, TestAvatarButtonPixelAlignment) {
210 [layout setAvatarSize:NSMakeSize(28, 28)]; 237 [layout setAvatarSize:NSMakeSize(28, 28)];
211 238
212 chrome::LayoutOutput output = [layout computeLayout]; 239 chrome::LayoutOutput output = [layout computeLayout];
213 240
214 EXPECT_NSEQ(NSMakeRect(537, 589, 28, 28), output.tabStripLayout.avatarFrame); 241 EXPECT_NSEQ(NSMakeRect(537, 589 + AvatarYOffset(), 28, 28),
242 output.tabStripLayout.avatarFrame);
215 } 243 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/browser_window_layout.mm ('k') | chrome/browser/ui/cocoa/tabs/tab_window_controller.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698