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

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

Issue 607723002: mac: Refactor tab strip layout logic. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@tabstrip_relayout_bug_base
Patch Set: Fix unit test. Created 6 years, 2 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 #import "chrome/browser/ui/cocoa/browser_window_layout.h" 8 #import "chrome/browser/ui/cocoa/browser_window_layout.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
11 class BrowserWindowLayoutTest : public testing::Test { 11 class BrowserWindowLayoutTest : public testing::Test {
12 public: 12 public:
13 BrowserWindowLayoutTest() {} 13 BrowserWindowLayoutTest() {}
14 virtual void SetUp() OVERRIDE { 14 virtual void SetUp() OVERRIDE {
15 layout.reset([[BrowserWindowLayout alloc] init]); 15 layout.reset([[BrowserWindowLayout alloc] init]);
16 16
17 [layout setContentViewSize:NSMakeSize(600, 600)]; 17 [layout setContentViewSize:NSMakeSize(600, 600)];
18 [layout setWindowSize:NSMakeSize(600, 622)]; 18 [layout setWindowSize:NSMakeSize(600, 622)];
19 [layout setInAnyFullscreen:NO]; 19 [layout setInAnyFullscreen:NO];
20 [layout setHasTabStrip:YES]; 20 [layout setHasTabStrip:YES];
21 [layout setFullscreenButtonFrame:NSMakeRect(575, 596, 16, 17)];
22 [layout setShouldShowAvatar:YES];
23 [layout setShouldUseNewAvatar:YES];
24 [layout setAvatarSize:NSMakeSize(63, 27)];
25 [layout setAvatarLineWidth:1];
21 [layout setHasToolbar:YES]; 26 [layout setHasToolbar:YES];
22 [layout setToolbarHeight:32]; 27 [layout setToolbarHeight:32];
23 [layout setPlaceBookmarkBarBelowInfoBar:NO]; 28 [layout setPlaceBookmarkBarBelowInfoBar:NO];
24 [layout setBookmarkBarHidden:NO]; 29 [layout setBookmarkBarHidden:NO];
25 [layout setBookmarkBarHeight:26]; 30 [layout setBookmarkBarHeight:26];
26 [layout setInfoBarHeight:72]; 31 [layout setInfoBarHeight:72];
27 [layout setPageInfoBubblePointY:13]; 32 [layout setPageInfoBubblePointY:13];
28 [layout setHasDownloadShelf:YES]; 33 [layout setHasDownloadShelf:YES];
29 [layout setDownloadShelfHeight:44]; 34 [layout setDownloadShelfHeight:44];
30 } 35 }
31 36
32 base::scoped_nsobject<BrowserWindowLayout> layout; 37 base::scoped_nsobject<BrowserWindowLayout> layout;
33 38
34 private: 39 private:
35 DISALLOW_COPY_AND_ASSIGN(BrowserWindowLayoutTest); 40 DISALLOW_COPY_AND_ASSIGN(BrowserWindowLayoutTest);
36 }; 41 };
37 42
38 TEST_F(BrowserWindowLayoutTest, TestAllViews) { 43 TEST_F(BrowserWindowLayoutTest, TestAllViews) {
39 chrome::LayoutOutput output = [layout computeLayout]; 44 chrome::LayoutOutput output = [layout computeLayout];
40 45
41 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 585, 600, 37), output.tabStripFrame)); 46 EXPECT_TRUE(
47 NSEqualRects(NSMakeRect(0, 585, 600, 37), output.tabStripLayout.frame));
48 EXPECT_TRUE(NSEqualRects(NSMakeRect(508, 590, 63, 27),
49 output.tabStripLayout.avatarFrame));
50 EXPECT_EQ(70, output.tabStripLayout.leftIndent);
51 EXPECT_EQ(92, output.tabStripLayout.rightIndent);
42 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 553, 600, 32), output.toolbarFrame)); 52 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 553, 600, 32), output.toolbarFrame));
43 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 527, 600, 26), output.bookmarkFrame)); 53 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 527, 600, 26), output.bookmarkFrame));
44 EXPECT_TRUE(NSEqualRects(NSZeroRect, output.fullscreenBackingBarFrame)); 54 EXPECT_TRUE(NSEqualRects(NSZeroRect, output.fullscreenBackingBarFrame));
45 EXPECT_EQ(527, output.findBarMaxY); 55 EXPECT_EQ(527, output.findBarMaxY);
46 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 455, 600, 111), output.infoBarFrame)); 56 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 455, 600, 111), output.infoBarFrame));
47 EXPECT_TRUE( 57 EXPECT_TRUE(
48 NSEqualRects(NSMakeRect(0, 0, 600, 44), output.downloadShelfFrame)); 58 NSEqualRects(NSMakeRect(0, 0, 600, 44), output.downloadShelfFrame));
49 EXPECT_TRUE( 59 EXPECT_TRUE(
50 NSEqualRects(NSMakeRect(0, 44, 600, 411), output.contentAreaFrame)); 60 NSEqualRects(NSMakeRect(0, 44, 600, 411), output.contentAreaFrame));
51 } 61 }
52 62
53 TEST_F(BrowserWindowLayoutTest, TestAllViewsFullscreen) { 63 TEST_F(BrowserWindowLayoutTest, TestAllViewsFullscreen) {
54 // Content view has same size as window in AppKit Fullscreen. 64 // Content view has same size as window in AppKit Fullscreen.
55 [layout setContentViewSize:NSMakeSize(600, 622)]; 65 [layout setContentViewSize:NSMakeSize(600, 622)];
56 [layout setInAnyFullscreen:YES]; 66 [layout setInAnyFullscreen:YES];
57 [layout setFullscreenSlidingStyle:fullscreen_mac::OMNIBOX_TABS_PRESENT]; 67 [layout setFullscreenSlidingStyle:fullscreen_mac::OMNIBOX_TABS_PRESENT];
58 [layout setFullscreenMenubarOffset:0]; 68 [layout setFullscreenMenubarOffset:0];
59 [layout setFullscreenToolbarFraction:0]; 69 [layout setFullscreenToolbarFraction:0];
70 [layout setFullscreenButtonFrame:NSZeroRect];
60 71
61 chrome::LayoutOutput output = [layout computeLayout]; 72 chrome::LayoutOutput output = [layout computeLayout];
62 73
63 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 585, 600, 37), output.tabStripFrame)); 74 EXPECT_TRUE(
75 NSEqualRects(NSMakeRect(0, 585, 600, 37), output.tabStripLayout.frame));
76 EXPECT_TRUE(NSEqualRects(NSMakeRect(533, 590, 63, 27),
77 output.tabStripLayout.avatarFrame));
78 EXPECT_EQ(0, output.tabStripLayout.leftIndent);
79 EXPECT_EQ(67, output.tabStripLayout.rightIndent);
64 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 553, 600, 32), output.toolbarFrame)); 80 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 553, 600, 32), output.toolbarFrame));
65 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 527, 600, 26), output.bookmarkFrame)); 81 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 527, 600, 26), output.bookmarkFrame));
66 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 527, 600, 95), 82 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 527, 600, 95),
67 output.fullscreenBackingBarFrame)); 83 output.fullscreenBackingBarFrame));
68 EXPECT_EQ(527, output.findBarMaxY); 84 EXPECT_EQ(527, output.findBarMaxY);
69 EXPECT_EQ(527, output.fullscreenExitButtonMaxY); 85 EXPECT_EQ(527, output.fullscreenExitButtonMaxY);
70 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 455, 600, 111), output.infoBarFrame)); 86 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 455, 600, 111), output.infoBarFrame));
71 EXPECT_TRUE( 87 EXPECT_TRUE(
72 NSEqualRects(NSMakeRect(0, 0, 600, 44), output.downloadShelfFrame)); 88 NSEqualRects(NSMakeRect(0, 0, 600, 44), output.downloadShelfFrame));
73 EXPECT_TRUE( 89 EXPECT_TRUE(
74 NSEqualRects(NSMakeRect(0, 44, 600, 411), output.contentAreaFrame)); 90 NSEqualRects(NSMakeRect(0, 44, 600, 411), output.contentAreaFrame));
75 } 91 }
76 92
77 TEST_F(BrowserWindowLayoutTest, TestAllViewsFullscreenMenuBarShowing) { 93 TEST_F(BrowserWindowLayoutTest, TestAllViewsFullscreenMenuBarShowing) {
78 // Content view has same size as window in AppKit Fullscreen. 94 // Content view has same size as window in AppKit Fullscreen.
79 [layout setContentViewSize:NSMakeSize(600, 622)]; 95 [layout setContentViewSize:NSMakeSize(600, 622)];
80 [layout setInAnyFullscreen:YES]; 96 [layout setInAnyFullscreen:YES];
81 [layout setFullscreenSlidingStyle:fullscreen_mac::OMNIBOX_TABS_PRESENT]; 97 [layout setFullscreenSlidingStyle:fullscreen_mac::OMNIBOX_TABS_PRESENT];
82 [layout setFullscreenMenubarOffset:-10]; 98 [layout setFullscreenMenubarOffset:-10];
83 [layout setFullscreenToolbarFraction:0]; 99 [layout setFullscreenToolbarFraction:0];
84 100
85 chrome::LayoutOutput output = [layout computeLayout]; 101 chrome::LayoutOutput output = [layout computeLayout];
86 102
87 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 575, 600, 37), output.tabStripFrame)); 103 EXPECT_TRUE(
104 NSEqualRects(NSMakeRect(0, 575, 600, 37), output.tabStripLayout.frame));
105 EXPECT_TRUE(NSEqualRects(NSMakeRect(533, 580, 63, 27),
106 output.tabStripLayout.avatarFrame));
107 EXPECT_EQ(0, output.tabStripLayout.leftIndent);
108 EXPECT_EQ(67, output.tabStripLayout.rightIndent);
88 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 543, 600, 32), output.toolbarFrame)); 109 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 543, 600, 32), output.toolbarFrame));
89 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 517, 600, 26), output.bookmarkFrame)); 110 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 517, 600, 26), output.bookmarkFrame));
90 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 517, 600, 95), 111 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 517, 600, 95),
91 output.fullscreenBackingBarFrame)); 112 output.fullscreenBackingBarFrame));
92 EXPECT_EQ(517, output.findBarMaxY); 113 EXPECT_EQ(517, output.findBarMaxY);
93 EXPECT_EQ(517, output.fullscreenExitButtonMaxY); 114 EXPECT_EQ(517, output.fullscreenExitButtonMaxY);
94 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 445, 600, 111), output.infoBarFrame)); 115 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 445, 600, 111), output.infoBarFrame));
95 EXPECT_TRUE( 116 EXPECT_TRUE(
96 NSEqualRects(NSMakeRect(0, 0, 600, 44), output.downloadShelfFrame)); 117 NSEqualRects(NSMakeRect(0, 0, 600, 44), output.downloadShelfFrame));
97 EXPECT_TRUE( 118 EXPECT_TRUE(
98 NSEqualRects(NSMakeRect(0, 44, 600, 411), output.contentAreaFrame)); 119 NSEqualRects(NSMakeRect(0, 44, 600, 411), output.contentAreaFrame));
99 } 120 }
100 121
101 TEST_F(BrowserWindowLayoutTest, TestPopupWindow) { 122 TEST_F(BrowserWindowLayoutTest, TestPopupWindow) {
102 [layout setHasTabStrip:NO]; 123 [layout setHasTabStrip:NO];
103 [layout setHasToolbar:NO]; 124 [layout setHasToolbar:NO];
104 [layout setHasLocationBar:YES]; 125 [layout setHasLocationBar:YES];
105 [layout setBookmarkBarHidden:YES]; 126 [layout setBookmarkBarHidden:YES];
106 [layout setHasDownloadShelf:NO]; 127 [layout setHasDownloadShelf:NO];
107 128
108 chrome::LayoutOutput output = [layout computeLayout]; 129 chrome::LayoutOutput output = [layout computeLayout];
109 130
110 EXPECT_TRUE(NSEqualRects(NSZeroRect, output.tabStripFrame)); 131 EXPECT_TRUE(NSEqualRects(NSZeroRect, output.tabStripLayout.frame));
132 EXPECT_TRUE(NSEqualRects(NSZeroRect, output.tabStripLayout.avatarFrame));
133 EXPECT_EQ(0, output.tabStripLayout.leftIndent);
134 EXPECT_EQ(0, output.tabStripLayout.rightIndent);
111 EXPECT_TRUE(NSEqualRects(NSMakeRect(1, 568, 598, 32), output.toolbarFrame)); 135 EXPECT_TRUE(NSEqualRects(NSMakeRect(1, 568, 598, 32), output.toolbarFrame));
112 EXPECT_TRUE(NSEqualRects(NSZeroRect, output.bookmarkFrame)); 136 EXPECT_TRUE(NSEqualRects(NSZeroRect, output.bookmarkFrame));
113 EXPECT_TRUE(NSEqualRects(NSZeroRect, output.fullscreenBackingBarFrame)); 137 EXPECT_TRUE(NSEqualRects(NSZeroRect, output.fullscreenBackingBarFrame));
114 EXPECT_EQ(567, output.findBarMaxY); 138 EXPECT_EQ(567, output.findBarMaxY);
115 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 495, 600, 86), output.infoBarFrame)); 139 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 495, 600, 86), output.infoBarFrame));
116 EXPECT_TRUE(NSEqualRects(NSZeroRect, output.downloadShelfFrame)); 140 EXPECT_TRUE(NSEqualRects(NSZeroRect, output.downloadShelfFrame));
117 EXPECT_TRUE( 141 EXPECT_TRUE(
118 NSEqualRects(NSMakeRect(0, 0, 600, 495), output.contentAreaFrame)); 142 NSEqualRects(NSMakeRect(0, 0, 600, 495), output.contentAreaFrame));
119 } 143 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/browser_window_layout.mm ('k') | chrome/browser/ui/cocoa/tabs/tab_strip_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698