OLD | NEW |
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 } |
OLD | NEW |