OLD | NEW |
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/frame/caption_buttons/frame_caption_button_container_view.h" | 5 #include "ash/frame/caption_buttons/frame_caption_button_container_view.h" |
6 | 6 |
7 #include "ash/frame/caption_buttons/frame_caption_button.h" | 7 #include "ash/frame/caption_buttons/frame_caption_button.h" |
8 #include "ash/test/ash_test_base.h" | 8 #include "ash/test/ash_test_base.h" |
9 #include "grit/ash_resources.h" | 9 #include "grit/ash_resources.h" |
10 #include "ui/views/widget/widget.h" | 10 #include "ui/views/widget/widget.h" |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 | 101 |
102 // Test how the allowed actions affect which caption buttons are visible. | 102 // Test how the allowed actions affect which caption buttons are visible. |
103 TEST_F(FrameCaptionButtonContainerViewTest, ButtonVisibility) { | 103 TEST_F(FrameCaptionButtonContainerViewTest, ButtonVisibility) { |
104 // All the buttons should be visible when minimizing and maximizing are | 104 // All the buttons should be visible when minimizing and maximizing are |
105 // allowed. | 105 // allowed. |
106 scoped_ptr<views::Widget> widget_can_maximize( | 106 scoped_ptr<views::Widget> widget_can_maximize( |
107 CreateTestWidget(MAXIMIZE_ALLOWED)); | 107 CreateTestWidget(MAXIMIZE_ALLOWED)); |
108 FrameCaptionButtonContainerView container1(widget_can_maximize.get(), | 108 FrameCaptionButtonContainerView container1(widget_can_maximize.get(), |
109 FrameCaptionButtonContainerView::MINIMIZE_ALLOWED); | 109 FrameCaptionButtonContainerView::MINIMIZE_ALLOWED); |
110 SetMockImages(&container1); | 110 SetMockImages(&container1); |
| 111 container1.SetBoundsRect(gfx::Rect(container1.GetPreferredSize())); |
111 container1.Layout(); | 112 container1.Layout(); |
112 FrameCaptionButtonContainerView::TestApi t1(&container1); | 113 FrameCaptionButtonContainerView::TestApi t1(&container1); |
113 EXPECT_TRUE(t1.minimize_button()->visible()); | 114 EXPECT_TRUE(t1.minimize_button()->visible()); |
114 EXPECT_TRUE(t1.size_button()->visible()); | 115 EXPECT_TRUE(t1.size_button()->visible()); |
115 EXPECT_TRUE(t1.close_button()->visible()); | 116 EXPECT_TRUE(t1.close_button()->visible()); |
116 EXPECT_TRUE(CheckButtonsAtEdges( | 117 EXPECT_TRUE(CheckButtonsAtEdges( |
117 &container1, *t1.minimize_button(), *t1.close_button())); | 118 &container1, *t1.minimize_button(), *t1.close_button())); |
118 | 119 |
119 // The minimize button should be visible when minimizing is allowed but | 120 // The minimize button should be visible when minimizing is allowed but |
120 // maximizing is disallowed. | 121 // maximizing is disallowed. |
121 scoped_ptr<views::Widget> widget_cannot_maximize( | 122 scoped_ptr<views::Widget> widget_cannot_maximize( |
122 CreateTestWidget(MAXIMIZE_DISALLOWED)); | 123 CreateTestWidget(MAXIMIZE_DISALLOWED)); |
123 FrameCaptionButtonContainerView container2(widget_cannot_maximize.get(), | 124 FrameCaptionButtonContainerView container2(widget_cannot_maximize.get(), |
124 FrameCaptionButtonContainerView::MINIMIZE_ALLOWED); | 125 FrameCaptionButtonContainerView::MINIMIZE_ALLOWED); |
125 SetMockImages(&container2); | 126 SetMockImages(&container2); |
| 127 container2.SetBoundsRect(gfx::Rect(container2.GetPreferredSize())); |
126 container2.Layout(); | 128 container2.Layout(); |
127 FrameCaptionButtonContainerView::TestApi t2(&container2); | 129 FrameCaptionButtonContainerView::TestApi t2(&container2); |
128 EXPECT_TRUE(t2.minimize_button()->visible()); | 130 EXPECT_TRUE(t2.minimize_button()->visible()); |
129 EXPECT_FALSE(t2.size_button()->visible()); | 131 EXPECT_FALSE(t2.size_button()->visible()); |
130 EXPECT_TRUE(t2.close_button()->visible()); | 132 EXPECT_TRUE(t2.close_button()->visible()); |
131 EXPECT_TRUE(CheckButtonsAtEdges( | 133 EXPECT_TRUE(CheckButtonsAtEdges( |
132 &container2, *t2.minimize_button(), *t2.close_button())); | 134 &container2, *t2.minimize_button(), *t2.close_button())); |
133 | 135 |
134 // Neither the minimize button nor the size button should be visible when | 136 // Neither the minimize button nor the size button should be visible when |
135 // neither minimizing nor maximizing are allowed. | 137 // neither minimizing nor maximizing are allowed. |
136 FrameCaptionButtonContainerView container3(widget_cannot_maximize.get(), | 138 FrameCaptionButtonContainerView container3(widget_cannot_maximize.get(), |
137 FrameCaptionButtonContainerView::MINIMIZE_DISALLOWED); | 139 FrameCaptionButtonContainerView::MINIMIZE_DISALLOWED); |
138 SetMockImages(&container3); | 140 SetMockImages(&container3); |
| 141 container3.SetBoundsRect(gfx::Rect(container3.GetPreferredSize())); |
139 container3.Layout(); | 142 container3.Layout(); |
140 FrameCaptionButtonContainerView::TestApi t3(&container3); | 143 FrameCaptionButtonContainerView::TestApi t3(&container3); |
141 EXPECT_FALSE(t3.minimize_button()->visible()); | 144 EXPECT_FALSE(t3.minimize_button()->visible()); |
142 EXPECT_FALSE(t3.size_button()->visible()); | 145 EXPECT_FALSE(t3.size_button()->visible()); |
143 EXPECT_TRUE(t3.close_button()->visible()); | 146 EXPECT_TRUE(t3.close_button()->visible()); |
144 EXPECT_TRUE(CheckButtonsAtEdges( | 147 EXPECT_TRUE(CheckButtonsAtEdges( |
145 &container3, *t3.close_button(), *t3.close_button())); | 148 &container3, *t3.close_button(), *t3.close_button())); |
146 } | 149 } |
147 | 150 |
148 } // namespace ash | 151 } // namespace ash |
OLD | NEW |