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

Side by Side Diff: ash/wm/caption_buttons/frame_caption_button_container_view_unittest.cc

Issue 24048003: [Refactor] Cache the views::Widget* that the FrameMaximizeButton acts on (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Nits per jamescook@ Created 7 years, 3 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #include "ash/wm/caption_buttons/frame_caption_button_container_view.h" 5 #include "ash/wm/caption_buttons/frame_caption_button_container_view.h"
6 6
7 #include "ash/ash_switches.h" 7 #include "ash/ash_switches.h"
8 #include "ash/test/ash_test_base.h" 8 #include "ash/test/ash_test_base.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "grit/ash_resources.h" 10 #include "grit/ash_resources.h"
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 private: 131 private:
132 DISALLOW_COPY_AND_ASSIGN(FrameCaptionButtonContainerViewTestOldStyle); 132 DISALLOW_COPY_AND_ASSIGN(FrameCaptionButtonContainerViewTestOldStyle);
133 }; 133 };
134 134
135 // Test how the allowed actions affect which caption buttons are visible. 135 // Test how the allowed actions affect which caption buttons are visible.
136 TEST_F(FrameCaptionButtonContainerViewTestOldStyle, ButtonVisibility) { 136 TEST_F(FrameCaptionButtonContainerViewTestOldStyle, ButtonVisibility) {
137 // The minimize button should be hidden when both minimizing and maximizing 137 // The minimize button should be hidden when both minimizing and maximizing
138 // are allowed because the size button can do both. 138 // are allowed because the size button can do both.
139 scoped_ptr<views::Widget> widget_can_maximize( 139 scoped_ptr<views::Widget> widget_can_maximize(
140 CreateTestWidget(MAXIMIZE_ALLOWED)); 140 CreateTestWidget(MAXIMIZE_ALLOWED));
141 FrameCaptionButtonContainerView container1(NULL, widget_can_maximize.get(), 141 FrameCaptionButtonContainerView container1(widget_can_maximize.get(),
142 FrameCaptionButtonContainerView::MINIMIZE_ALLOWED); 142 FrameCaptionButtonContainerView::MINIMIZE_ALLOWED);
143 container1.Layout(); 143 container1.Layout();
144 FrameCaptionButtonContainerView::TestApi t1(&container1); 144 FrameCaptionButtonContainerView::TestApi t1(&container1);
145 EXPECT_FALSE(t1.minimize_button()->visible()); 145 EXPECT_FALSE(t1.minimize_button()->visible());
146 EXPECT_TRUE(t1.size_button()->visible()); 146 EXPECT_TRUE(t1.size_button()->visible());
147 EXPECT_TRUE(t1.close_button()->visible()); 147 EXPECT_TRUE(t1.close_button()->visible());
148 EXPECT_TRUE(CheckButtonsAtEdges( 148 EXPECT_TRUE(CheckButtonsAtEdges(
149 &container1, *t1.size_button(), *t1.close_button())); 149 &container1, *t1.size_button(), *t1.close_button()));
150 150
151 // The minimize button should be visible when minimizing is allowed but 151 // The minimize button should be visible when minimizing is allowed but
152 // maximizing is disallowed. 152 // maximizing is disallowed.
153 scoped_ptr<views::Widget> widget_cannot_maximize( 153 scoped_ptr<views::Widget> widget_cannot_maximize(
154 CreateTestWidget(MAXIMIZE_DISALLOWED)); 154 CreateTestWidget(MAXIMIZE_DISALLOWED));
155 FrameCaptionButtonContainerView container2(NULL, widget_cannot_maximize.get(), 155 FrameCaptionButtonContainerView container2(widget_cannot_maximize.get(),
156 FrameCaptionButtonContainerView::MINIMIZE_ALLOWED); 156 FrameCaptionButtonContainerView::MINIMIZE_ALLOWED);
157 container2.Layout(); 157 container2.Layout();
158 FrameCaptionButtonContainerView::TestApi t2(&container2); 158 FrameCaptionButtonContainerView::TestApi t2(&container2);
159 EXPECT_TRUE(t2.minimize_button()->visible()); 159 EXPECT_TRUE(t2.minimize_button()->visible());
160 EXPECT_FALSE(t2.size_button()->visible()); 160 EXPECT_FALSE(t2.size_button()->visible());
161 EXPECT_TRUE(t2.close_button()->visible()); 161 EXPECT_TRUE(t2.close_button()->visible());
162 EXPECT_TRUE(CheckButtonsAtEdges( 162 EXPECT_TRUE(CheckButtonsAtEdges(
163 &container2, *t2.minimize_button(), *t2.close_button())); 163 &container2, *t2.minimize_button(), *t2.close_button()));
164 164
165 // Neither the minimize button nor the size button should be visible when 165 // Neither the minimize button nor the size button should be visible when
166 // neither minimizing nor maximizing are allowed. 166 // neither minimizing nor maximizing are allowed.
167 FrameCaptionButtonContainerView container3(NULL, widget_cannot_maximize.get(), 167 FrameCaptionButtonContainerView container3(widget_cannot_maximize.get(),
168 FrameCaptionButtonContainerView::MINIMIZE_DISALLOWED); 168 FrameCaptionButtonContainerView::MINIMIZE_DISALLOWED);
169 container3.Layout(); 169 container3.Layout();
170 FrameCaptionButtonContainerView::TestApi t3(&container3); 170 FrameCaptionButtonContainerView::TestApi t3(&container3);
171 EXPECT_FALSE(t3.minimize_button()->visible()); 171 EXPECT_FALSE(t3.minimize_button()->visible());
172 EXPECT_FALSE(t3.size_button()->visible()); 172 EXPECT_FALSE(t3.size_button()->visible());
173 EXPECT_TRUE(t3.close_button()->visible()); 173 EXPECT_TRUE(t3.close_button()->visible());
174 EXPECT_TRUE(CheckButtonsAtEdges( 174 EXPECT_TRUE(CheckButtonsAtEdges(
175 &container3, *t3.close_button(), *t3.close_button())); 175 &container3, *t3.close_button(), *t3.close_button()));
176 176
177 // Neither the minimize button nor the size button should be visible when the 177 // Neither the minimize button nor the size button should be visible when the
178 // "force-maximize-mode" experiment is turned on. 178 // "force-maximize-mode" experiment is turned on.
179 CommandLine::ForCurrentProcess()->AppendSwitch(switches::kForcedMaximizeMode); 179 CommandLine::ForCurrentProcess()->AppendSwitch(switches::kForcedMaximizeMode);
180 FrameCaptionButtonContainerView container4(NULL, widget_can_maximize.get(), 180 FrameCaptionButtonContainerView container4(widget_can_maximize.get(),
181 FrameCaptionButtonContainerView::MINIMIZE_ALLOWED); 181 FrameCaptionButtonContainerView::MINIMIZE_ALLOWED);
182 container4.Layout(); 182 container4.Layout();
183 FrameCaptionButtonContainerView::TestApi t4(&container4); 183 FrameCaptionButtonContainerView::TestApi t4(&container4);
184 EXPECT_FALSE(t4.minimize_button()->visible()); 184 EXPECT_FALSE(t4.minimize_button()->visible());
185 EXPECT_FALSE(t4.size_button()->visible()); 185 EXPECT_FALSE(t4.size_button()->visible());
186 EXPECT_TRUE(t4.close_button()->visible()); 186 EXPECT_TRUE(t4.close_button()->visible());
187 EXPECT_TRUE(CheckButtonsAtEdges( 187 EXPECT_TRUE(CheckButtonsAtEdges(
188 &container4, *t4.close_button(), *t4.close_button())); 188 &container4, *t4.close_button(), *t4.close_button()));
189 } 189 }
190 190
191 // Test the layout when a border is set on the container. 191 // Test the layout when a border is set on the container.
192 TEST_F(FrameCaptionButtonContainerViewTestOldStyle, LayoutBorder) { 192 TEST_F(FrameCaptionButtonContainerViewTestOldStyle, LayoutBorder) {
193 const int kTopInset = 1; 193 const int kTopInset = 1;
194 const int kLeftInset = 2; 194 const int kLeftInset = 2;
195 const int kBottomInset = 3; 195 const int kBottomInset = 3;
196 const int kRightInset = 4; 196 const int kRightInset = 4;
197 197
198 scoped_ptr<views::Widget> widget(CreateTestWidget(MAXIMIZE_ALLOWED)); 198 scoped_ptr<views::Widget> widget(CreateTestWidget(MAXIMIZE_ALLOWED));
199 FrameCaptionButtonContainerView container(NULL, widget.get(), 199 FrameCaptionButtonContainerView container(widget.get(),
200 FrameCaptionButtonContainerView::MINIMIZE_ALLOWED); 200 FrameCaptionButtonContainerView::MINIMIZE_ALLOWED);
201 container.set_border(views::Border::CreateEmptyBorder( 201 container.set_border(views::Border::CreateEmptyBorder(
202 kTopInset, kLeftInset, kBottomInset, kRightInset)); 202 kTopInset, kLeftInset, kBottomInset, kRightInset));
203 container.Layout(); 203 container.Layout();
204 FrameCaptionButtonContainerView::TestApi t(&container); 204 FrameCaptionButtonContainerView::TestApi t(&container);
205 205
206 EXPECT_EQ(kLeftInset, t.size_button()->x()); 206 EXPECT_EQ(kLeftInset, t.size_button()->x());
207 EXPECT_EQ(kTopInset, t.close_button()->y()); 207 EXPECT_EQ(kTopInset, t.close_button()->y());
208 EXPECT_EQ(container.GetPreferredSize().height(), 208 EXPECT_EQ(container.GetPreferredSize().height(),
209 t.close_button()->bounds().bottom() + kBottomInset); 209 t.close_button()->bounds().bottom() + kBottomInset);
210 EXPECT_EQ(container.GetPreferredSize().width(), 210 EXPECT_EQ(container.GetPreferredSize().width(),
211 t.close_button()->bounds().right() + kRightInset); 211 t.close_button()->bounds().right() + kRightInset);
212 } 212 }
213 213
214 // Test how the header style affects which images are used for the buttons. 214 // Test how the header style affects which images are used for the buttons.
215 TEST_F(FrameCaptionButtonContainerViewTestOldStyle, HeaderStyle) { 215 TEST_F(FrameCaptionButtonContainerViewTestOldStyle, HeaderStyle) {
216 scoped_ptr<views::Widget> widget(CreateTestWidget(MAXIMIZE_ALLOWED)); 216 scoped_ptr<views::Widget> widget(CreateTestWidget(MAXIMIZE_ALLOWED));
217 FrameCaptionButtonContainerView container(NULL, widget.get(), 217 FrameCaptionButtonContainerView container(widget.get(),
218 FrameCaptionButtonContainerView::MINIMIZE_ALLOWED); 218 FrameCaptionButtonContainerView::MINIMIZE_ALLOWED);
219 FrameCaptionButtonContainerView::TestApi t(&container); 219 FrameCaptionButtonContainerView::TestApi t(&container);
220 220
221 // Tall header style. 221 // Tall header style.
222 container.set_header_style( 222 container.set_header_style(
223 FrameCaptionButtonContainerView::HEADER_STYLE_TALL); 223 FrameCaptionButtonContainerView::HEADER_STYLE_TALL);
224 container.Layout(); 224 container.Layout();
225 EXPECT_TRUE(ImagesMatch(t.size_button(), 225 EXPECT_TRUE(ImagesMatch(t.size_button(),
226 IDR_AURA_WINDOW_MAXIMIZE, 226 IDR_AURA_WINDOW_MAXIMIZE,
227 IDR_AURA_WINDOW_MAXIMIZE_H, 227 IDR_AURA_WINDOW_MAXIMIZE_H,
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 }; 304 };
305 305
306 // Test how the alternate button style affects which buttons are visible in the 306 // Test how the alternate button style affects which buttons are visible in the
307 // default case. 307 // default case.
308 TEST_F(FrameCaptionButtonContainerViewTestAlternateStyle, ButtonVisibility) { 308 TEST_F(FrameCaptionButtonContainerViewTestAlternateStyle, ButtonVisibility) {
309 // Both the minimize button and the maximize button should be visible when 309 // Both the minimize button and the maximize button should be visible when
310 // both minimizing and maximizing are allowed when using the alternate 310 // both minimizing and maximizing are allowed when using the alternate
311 // button style. 311 // button style.
312 scoped_ptr<views::Widget> widget_can_maximize( 312 scoped_ptr<views::Widget> widget_can_maximize(
313 CreateTestWidget(MAXIMIZE_ALLOWED)); 313 CreateTestWidget(MAXIMIZE_ALLOWED));
314 FrameCaptionButtonContainerView container(NULL, widget_can_maximize.get(), 314 FrameCaptionButtonContainerView container(widget_can_maximize.get(),
315 FrameCaptionButtonContainerView::MINIMIZE_ALLOWED); 315 FrameCaptionButtonContainerView::MINIMIZE_ALLOWED);
316 container.Layout(); 316 container.Layout();
317 FrameCaptionButtonContainerView::TestApi t(&container); 317 FrameCaptionButtonContainerView::TestApi t(&container);
318 EXPECT_TRUE(t.minimize_button()->visible()); 318 EXPECT_TRUE(t.minimize_button()->visible());
319 EXPECT_TRUE(t.size_button()->visible()); 319 EXPECT_TRUE(t.size_button()->visible());
320 EXPECT_TRUE(t.close_button()->visible()); 320 EXPECT_TRUE(t.close_button()->visible());
321 EXPECT_TRUE(CheckButtonsAtEdges( 321 EXPECT_TRUE(CheckButtonsAtEdges(
322 &container, *t.minimize_button(), *t.close_button())); 322 &container, *t.minimize_button(), *t.close_button()));
323 } 323 }
324 324
325 } // namespace ash 325 } // namespace ash
OLDNEW
« no previous file with comments | « ash/wm/caption_buttons/frame_caption_button_container_view.cc ('k') | ash/wm/caption_buttons/frame_maximize_button.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698