OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 "testing/gtest/include/gtest/gtest.h" | 5 #include "testing/gtest/include/gtest/gtest.h" |
6 #include "views/grid_layout.h" | 6 #include "views/grid_layout.h" |
7 #include "views/view.h" | 7 #include "views/view.h" |
8 | 8 |
9 using views::ColumnSet; | 9 using views::ColumnSet; |
10 using views::GridLayout; | 10 using views::GridLayout; |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 for (int i = host.GetChildViewCount() - 1; i >= 0; i--) { | 46 for (int i = host.GetChildViewCount() - 1; i >= 0; i--) { |
47 host.RemoveChildView(host.GetChildViewAt(i)); | 47 host.RemoveChildView(host.GetChildViewAt(i)); |
48 } | 48 } |
49 } | 49 } |
50 | 50 |
51 void GetPreferredSize() { | 51 void GetPreferredSize() { |
52 pref = layout->GetPreferredSize(&host); | 52 pref = layout->GetPreferredSize(&host); |
53 } | 53 } |
54 | 54 |
55 gfx::Size pref; | 55 gfx::Size pref; |
56 CRect bounds; | 56 gfx::Rect bounds; |
57 View host; | 57 View host; |
58 GridLayout* layout; | 58 GridLayout* layout; |
59 }; | 59 }; |
60 | 60 |
61 class GridLayoutAlignmentTest : public testing::Test { | 61 class GridLayoutAlignmentTest : public testing::Test { |
62 public: | 62 public: |
63 GridLayoutAlignmentTest() : | 63 GridLayoutAlignmentTest() : |
64 host(), | 64 host(), |
65 v1(gfx::Size(10, 20)), | 65 v1(gfx::Size(10, 20)), |
66 layout(new GridLayout(&host)) {} | 66 layout(new GridLayout(&host)) {} |
67 | 67 |
68 virtual void SetUp() { | 68 virtual void SetUp() { |
69 } | 69 } |
70 | 70 |
71 virtual void TearDown() { | 71 virtual void TearDown() { |
72 delete layout; | 72 delete layout; |
73 } | 73 } |
74 | 74 |
75 virtual void RemoveAll() { | 75 virtual void RemoveAll() { |
76 for (int i = host.GetChildViewCount() - 1; i >= 0; i--) { | 76 for (int i = host.GetChildViewCount() - 1; i >= 0; i--) { |
77 host.RemoveChildView(host.GetChildViewAt(i)); | 77 host.RemoveChildView(host.GetChildViewAt(i)); |
78 } | 78 } |
79 } | 79 } |
80 | 80 |
81 void TestAlignment(GridLayout::Alignment alignment, CRect* bounds) { | 81 void TestAlignment(GridLayout::Alignment alignment, gfx::Rect* bounds) { |
82 ColumnSet* c1 = layout->AddColumnSet(0); | 82 ColumnSet* c1 = layout->AddColumnSet(0); |
83 c1->AddColumn(alignment, alignment, 1, GridLayout::USE_PREF, 0, 0); | 83 c1->AddColumn(alignment, alignment, 1, GridLayout::USE_PREF, 0, 0); |
84 layout->StartRow(1, 0); | 84 layout->StartRow(1, 0); |
85 layout->AddView(&v1); | 85 layout->AddView(&v1); |
86 gfx::Size pref = layout->GetPreferredSize(&host); | 86 gfx::Size pref = layout->GetPreferredSize(&host); |
87 EXPECT_TRUE(gfx::Size(10, 20) == pref); | 87 EXPECT_EQ(gfx::Size(10, 20), pref); |
88 host.SetBounds(0, 0, 100, 100); | 88 host.SetBounds(0, 0, 100, 100); |
89 layout->Layout(&host); | 89 layout->Layout(&host); |
90 *bounds = v1.bounds().ToRECT(); | 90 *bounds = v1.bounds(); |
91 RemoveAll(); | 91 RemoveAll(); |
92 } | 92 } |
93 | 93 |
94 View host; | 94 View host; |
95 SettableSizeView v1; | 95 SettableSizeView v1; |
96 GridLayout* layout; | 96 GridLayout* layout; |
97 }; | 97 }; |
98 | 98 |
99 TEST_F(GridLayoutAlignmentTest, Fill) { | 99 TEST_F(GridLayoutAlignmentTest, Fill) { |
100 CRect bounds; | 100 gfx::Rect bounds; |
101 TestAlignment(GridLayout::FILL, &bounds); | 101 TestAlignment(GridLayout::FILL, &bounds); |
102 EXPECT_TRUE(CRect(0, 0, 100, 100) == bounds); | 102 EXPECT_EQ(gfx::Rect(0, 0, 100, 100), bounds); |
103 } | 103 } |
104 | 104 |
105 TEST_F(GridLayoutAlignmentTest, Leading) { | 105 TEST_F(GridLayoutAlignmentTest, Leading) { |
106 CRect bounds; | 106 gfx::Rect bounds; |
107 TestAlignment(GridLayout::LEADING, &bounds); | 107 TestAlignment(GridLayout::LEADING, &bounds); |
108 EXPECT_TRUE(CRect(0, 0, 10, 20) == bounds); | 108 EXPECT_EQ(gfx::Rect(0, 0, 10, 20), bounds); |
109 } | 109 } |
110 | 110 |
111 TEST_F(GridLayoutAlignmentTest, Center) { | 111 TEST_F(GridLayoutAlignmentTest, Center) { |
112 CRect bounds; | 112 gfx::Rect bounds; |
113 TestAlignment(GridLayout::CENTER, &bounds); | 113 TestAlignment(GridLayout::CENTER, &bounds); |
114 EXPECT_TRUE(CRect(45, 40, 55, 60) == bounds); | 114 EXPECT_EQ(gfx::Rect(45, 40, 10, 20), bounds); |
115 } | 115 } |
116 | 116 |
117 TEST_F(GridLayoutAlignmentTest, Trailing) { | 117 TEST_F(GridLayoutAlignmentTest, Trailing) { |
118 CRect bounds; | 118 gfx::Rect bounds; |
119 TestAlignment(GridLayout::TRAILING, &bounds); | 119 TestAlignment(GridLayout::TRAILING, &bounds); |
120 EXPECT_TRUE(CRect(90, 80, 100, 100) == bounds); | 120 EXPECT_EQ(gfx::Rect(90, 80, 10, 20), bounds); |
121 } | 121 } |
122 | 122 |
123 TEST_F(GridLayoutTest, TwoColumns) { | 123 TEST_F(GridLayoutTest, TwoColumns) { |
124 SettableSizeView v1(gfx::Size(10, 20)); | 124 SettableSizeView v1(gfx::Size(10, 20)); |
125 SettableSizeView v2(gfx::Size(20, 20)); | 125 SettableSizeView v2(gfx::Size(20, 20)); |
126 ColumnSet* c1 = layout->AddColumnSet(0); | 126 ColumnSet* c1 = layout->AddColumnSet(0); |
127 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, | 127 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, |
128 0, GridLayout::USE_PREF, 0, 0); | 128 0, GridLayout::USE_PREF, 0, 0); |
129 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, | 129 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, |
130 0, GridLayout::USE_PREF, 0, 0); | 130 0, GridLayout::USE_PREF, 0, 0); |
131 layout->StartRow(0, 0); | 131 layout->StartRow(0, 0); |
132 layout->AddView(&v1); | 132 layout->AddView(&v1); |
133 layout->AddView(&v2); | 133 layout->AddView(&v2); |
134 | 134 |
135 GetPreferredSize(); | 135 GetPreferredSize(); |
136 EXPECT_TRUE(gfx::Size(30, 20) == pref); | 136 EXPECT_EQ(gfx::Size(30, 20), pref); |
137 | 137 |
138 host.SetBounds(0, 0, pref.width(), pref.height()); | 138 host.SetBounds(0, 0, pref.width(), pref.height()); |
139 layout->Layout(&host); | 139 layout->Layout(&host); |
140 ExpectViewBoundsEquals(0, 0, 10, 20, &v1); | 140 ExpectViewBoundsEquals(0, 0, 10, 20, &v1); |
141 ExpectViewBoundsEquals(10, 0, 20, 20, &v2); | 141 ExpectViewBoundsEquals(10, 0, 20, 20, &v2); |
142 | 142 |
143 RemoveAll(); | 143 RemoveAll(); |
144 } | 144 } |
145 | 145 |
146 TEST_F(GridLayoutTest, ColSpan1) { | 146 TEST_F(GridLayoutTest, ColSpan1) { |
147 SettableSizeView v1(gfx::Size(100, 20)); | 147 SettableSizeView v1(gfx::Size(100, 20)); |
148 SettableSizeView v2(gfx::Size(10, 40)); | 148 SettableSizeView v2(gfx::Size(10, 40)); |
149 ColumnSet* c1 = layout->AddColumnSet(0); | 149 ColumnSet* c1 = layout->AddColumnSet(0); |
150 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, | 150 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, |
151 0, GridLayout::USE_PREF, 0, 0); | 151 0, GridLayout::USE_PREF, 0, 0); |
152 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, | 152 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, |
153 1, GridLayout::USE_PREF, 0, 0); | 153 1, GridLayout::USE_PREF, 0, 0); |
154 layout->StartRow(0, 0); | 154 layout->StartRow(0, 0); |
155 layout->AddView(&v1, 2, 1); | 155 layout->AddView(&v1, 2, 1); |
156 layout->StartRow(0, 0); | 156 layout->StartRow(0, 0); |
157 layout->AddView(&v2); | 157 layout->AddView(&v2); |
158 | 158 |
159 GetPreferredSize(); | 159 GetPreferredSize(); |
160 EXPECT_TRUE(gfx::Size(100, 60) == pref); | 160 EXPECT_EQ(gfx::Size(100, 60), pref); |
161 | 161 |
162 host.SetBounds(0, 0, pref.width(), pref.height()); | 162 host.SetBounds(0, 0, pref.width(), pref.height()); |
163 layout->Layout(&host); | 163 layout->Layout(&host); |
164 ExpectViewBoundsEquals(0, 0, 100, 20, &v1); | 164 ExpectViewBoundsEquals(0, 0, 100, 20, &v1); |
165 ExpectViewBoundsEquals(0, 20, 10, 40, &v2); | 165 ExpectViewBoundsEquals(0, 20, 10, 40, &v2); |
166 | 166 |
167 RemoveAll(); | 167 RemoveAll(); |
168 } | 168 } |
169 | 169 |
170 TEST_F(GridLayoutTest, ColSpan2) { | 170 TEST_F(GridLayoutTest, ColSpan2) { |
171 SettableSizeView v1(gfx::Size(100, 20)); | 171 SettableSizeView v1(gfx::Size(100, 20)); |
172 SettableSizeView v2(gfx::Size(10, 20)); | 172 SettableSizeView v2(gfx::Size(10, 20)); |
173 ColumnSet* c1 = layout->AddColumnSet(0); | 173 ColumnSet* c1 = layout->AddColumnSet(0); |
174 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, | 174 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, |
175 1, GridLayout::USE_PREF, 0, 0); | 175 1, GridLayout::USE_PREF, 0, 0); |
176 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, | 176 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, |
177 0, GridLayout::USE_PREF, 0, 0); | 177 0, GridLayout::USE_PREF, 0, 0); |
178 layout->StartRow(0, 0); | 178 layout->StartRow(0, 0); |
179 layout->AddView(&v1, 2, 1); | 179 layout->AddView(&v1, 2, 1); |
180 layout->StartRow(0, 0); | 180 layout->StartRow(0, 0); |
181 layout->SkipColumns(1); | 181 layout->SkipColumns(1); |
182 layout->AddView(&v2); | 182 layout->AddView(&v2); |
183 | 183 |
184 GetPreferredSize(); | 184 GetPreferredSize(); |
185 EXPECT_TRUE(gfx::Size(100, 40) == pref); | 185 EXPECT_EQ(gfx::Size(100, 40), pref); |
186 | 186 |
187 host.SetBounds(0, 0, pref.width(), pref.height()); | 187 host.SetBounds(0, 0, pref.width(), pref.height()); |
188 layout->Layout(&host); | 188 layout->Layout(&host); |
189 ExpectViewBoundsEquals(0, 0, 100, 20, &v1); | 189 ExpectViewBoundsEquals(0, 0, 100, 20, &v1); |
190 ExpectViewBoundsEquals(90, 20, 10, 20, &v2); | 190 ExpectViewBoundsEquals(90, 20, 10, 20, &v2); |
191 | 191 |
192 RemoveAll(); | 192 RemoveAll(); |
193 } | 193 } |
194 | 194 |
195 TEST_F(GridLayoutTest, ColSpan3) { | 195 TEST_F(GridLayoutTest, ColSpan3) { |
196 SettableSizeView v1(gfx::Size(100, 20)); | 196 SettableSizeView v1(gfx::Size(100, 20)); |
197 SettableSizeView v2(gfx::Size(10, 20)); | 197 SettableSizeView v2(gfx::Size(10, 20)); |
198 SettableSizeView v3(gfx::Size(10, 20)); | 198 SettableSizeView v3(gfx::Size(10, 20)); |
199 ColumnSet* c1 = layout->AddColumnSet(0); | 199 ColumnSet* c1 = layout->AddColumnSet(0); |
200 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, | 200 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, |
201 0, GridLayout::USE_PREF, 0, 0); | 201 0, GridLayout::USE_PREF, 0, 0); |
202 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, | 202 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, |
203 0, GridLayout::USE_PREF, 0, 0); | 203 0, GridLayout::USE_PREF, 0, 0); |
204 layout->StartRow(0, 0); | 204 layout->StartRow(0, 0); |
205 layout->AddView(&v1, 2, 1); | 205 layout->AddView(&v1, 2, 1); |
206 layout->StartRow(0, 0); | 206 layout->StartRow(0, 0); |
207 layout->AddView(&v2); | 207 layout->AddView(&v2); |
208 layout->AddView(&v3); | 208 layout->AddView(&v3); |
209 | 209 |
210 GetPreferredSize(); | 210 GetPreferredSize(); |
211 EXPECT_TRUE(gfx::Size(100, 40) == pref); | 211 EXPECT_EQ(gfx::Size(100, 40), pref); |
212 | 212 |
213 host.SetBounds(0, 0, pref.width(), pref.height()); | 213 host.SetBounds(0, 0, pref.width(), pref.height()); |
214 layout->Layout(&host); | 214 layout->Layout(&host); |
215 ExpectViewBoundsEquals(0, 0, 100, 20, &v1); | 215 ExpectViewBoundsEquals(0, 0, 100, 20, &v1); |
216 ExpectViewBoundsEquals(0, 20, 10, 20, &v2); | 216 ExpectViewBoundsEquals(0, 20, 10, 20, &v2); |
217 ExpectViewBoundsEquals(50, 20, 10, 20, &v3); | 217 ExpectViewBoundsEquals(50, 20, 10, 20, &v3); |
218 | 218 |
219 RemoveAll(); | 219 RemoveAll(); |
220 } | 220 } |
221 | 221 |
222 | 222 |
223 TEST_F(GridLayoutTest, ColSpan4) { | 223 TEST_F(GridLayoutTest, ColSpan4) { |
224 views::ColumnSet* set = layout->AddColumnSet(0); | 224 views::ColumnSet* set = layout->AddColumnSet(0); |
225 | 225 |
226 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 0, | 226 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 0, |
227 GridLayout::USE_PREF, 0, 0); | 227 GridLayout::USE_PREF, 0, 0); |
228 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 0, | 228 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 0, |
229 GridLayout::USE_PREF, 0, 0); | 229 GridLayout::USE_PREF, 0, 0); |
230 | 230 |
231 SettableSizeView v1(gfx::Size(10, 10)); | 231 SettableSizeView v1(gfx::Size(10, 10)); |
232 SettableSizeView v2(gfx::Size(10, 10)); | 232 SettableSizeView v2(gfx::Size(10, 10)); |
233 SettableSizeView v3(gfx::Size(25, 20)); | 233 SettableSizeView v3(gfx::Size(25, 20)); |
234 layout->StartRow(0, 0); | 234 layout->StartRow(0, 0); |
235 layout->AddView(&v1); | 235 layout->AddView(&v1); |
236 layout->AddView(&v2); | 236 layout->AddView(&v2); |
237 layout->StartRow(0, 0); | 237 layout->StartRow(0, 0); |
238 layout->AddView(&v3, 2, 1); | 238 layout->AddView(&v3, 2, 1); |
239 | 239 |
240 GetPreferredSize(); | 240 GetPreferredSize(); |
241 EXPECT_TRUE(gfx::Size(25, 30) == pref); | 241 EXPECT_EQ(gfx::Size(25, 30), pref); |
242 | 242 |
243 host.SetBounds(0, 0, pref.width(), pref.height()); | 243 host.SetBounds(0, 0, pref.width(), pref.height()); |
244 layout->Layout(&host); | 244 layout->Layout(&host); |
245 ExpectViewBoundsEquals(0, 0, 10, 10, &v1); | 245 ExpectViewBoundsEquals(0, 0, 10, 10, &v1); |
246 ExpectViewBoundsEquals(12, 0, 10, 10, &v2); | 246 ExpectViewBoundsEquals(12, 0, 10, 10, &v2); |
247 ExpectViewBoundsEquals(0, 10, 25, 20, &v3); | 247 ExpectViewBoundsEquals(0, 10, 25, 20, &v3); |
248 | 248 |
249 RemoveAll(); | 249 RemoveAll(); |
250 } | 250 } |
251 | 251 |
252 TEST_F(GridLayoutTest, SameSizeColumns) { | 252 TEST_F(GridLayoutTest, SameSizeColumns) { |
253 SettableSizeView v1(gfx::Size(50, 20)); | 253 SettableSizeView v1(gfx::Size(50, 20)); |
254 SettableSizeView v2(gfx::Size(10, 10)); | 254 SettableSizeView v2(gfx::Size(10, 10)); |
255 ColumnSet* c1 = layout->AddColumnSet(0); | 255 ColumnSet* c1 = layout->AddColumnSet(0); |
256 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, | 256 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, |
257 0, GridLayout::USE_PREF, 0, 0); | 257 0, GridLayout::USE_PREF, 0, 0); |
258 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, | 258 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, |
259 0, GridLayout::USE_PREF, 0, 0); | 259 0, GridLayout::USE_PREF, 0, 0); |
260 c1->LinkColumnSizes(0, 1, -1); | 260 c1->LinkColumnSizes(0, 1, -1); |
261 layout->StartRow(0, 0); | 261 layout->StartRow(0, 0); |
262 layout->AddView(&v1); | 262 layout->AddView(&v1); |
263 layout->AddView(&v2); | 263 layout->AddView(&v2); |
264 | 264 |
265 gfx::Size pref = layout->GetPreferredSize(&host); | 265 gfx::Size pref = layout->GetPreferredSize(&host); |
266 EXPECT_TRUE(gfx::Size(100, 20) == pref); | 266 EXPECT_EQ(gfx::Size(100, 20), pref); |
267 | 267 |
268 host.SetBounds(0, 0, pref.width(), pref.height()); | 268 host.SetBounds(0, 0, pref.width(), pref.height()); |
269 layout->Layout(&host); | 269 layout->Layout(&host); |
270 ExpectViewBoundsEquals(0, 0, 50, 20, &v1); | 270 ExpectViewBoundsEquals(0, 0, 50, 20, &v1); |
271 ExpectViewBoundsEquals(50, 0, 10, 10, &v2); | 271 ExpectViewBoundsEquals(50, 0, 10, 10, &v2); |
272 | 272 |
273 RemoveAll(); | 273 RemoveAll(); |
274 } | 274 } |
275 | 275 |
276 TEST_F(GridLayoutTest, HorizontalResizeTest1) { | 276 TEST_F(GridLayoutTest, HorizontalResizeTest1) { |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
318 SettableSizeView v2(gfx::Size(10, 10)); | 318 SettableSizeView v2(gfx::Size(10, 10)); |
319 ColumnSet* c1 = layout->AddColumnSet(0); | 319 ColumnSet* c1 = layout->AddColumnSet(0); |
320 c1->AddColumn(GridLayout::FILL, GridLayout::FILL, | 320 c1->AddColumn(GridLayout::FILL, GridLayout::FILL, |
321 1, GridLayout::USE_PREF, 0, 0); | 321 1, GridLayout::USE_PREF, 0, 0); |
322 layout->StartRow(1, 0); | 322 layout->StartRow(1, 0); |
323 layout->AddView(&v1); | 323 layout->AddView(&v1); |
324 layout->StartRow(0, 0); | 324 layout->StartRow(0, 0); |
325 layout->AddView(&v2); | 325 layout->AddView(&v2); |
326 | 326 |
327 GetPreferredSize(); | 327 GetPreferredSize(); |
328 EXPECT_TRUE(gfx::Size(50, 30) == pref); | 328 EXPECT_EQ(gfx::Size(50, 30), pref); |
329 | 329 |
330 host.SetBounds(0, 0, 50, 100); | 330 host.SetBounds(0, 0, 50, 100); |
331 layout->Layout(&host); | 331 layout->Layout(&host); |
332 ExpectViewBoundsEquals(0, 0, 50, 90, &v1); | 332 ExpectViewBoundsEquals(0, 0, 50, 90, &v1); |
333 ExpectViewBoundsEquals(0, 90, 50, 10, &v2); | 333 ExpectViewBoundsEquals(0, 90, 50, 10, &v2); |
334 | 334 |
335 RemoveAll(); | 335 RemoveAll(); |
336 } | 336 } |
337 | 337 |
338 TEST_F(GridLayoutTest, Insets) { | 338 TEST_F(GridLayoutTest, Insets) { |
339 SettableSizeView v1(gfx::Size(10, 20)); | 339 SettableSizeView v1(gfx::Size(10, 20)); |
340 ColumnSet* c1 = layout->AddColumnSet(0); | 340 ColumnSet* c1 = layout->AddColumnSet(0); |
341 layout->SetInsets(1, 2, 3, 4); | 341 layout->SetInsets(1, 2, 3, 4); |
342 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, | 342 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, |
343 0, GridLayout::USE_PREF, 0, 0); | 343 0, GridLayout::USE_PREF, 0, 0); |
344 layout->StartRow(0, 0); | 344 layout->StartRow(0, 0); |
345 layout->AddView(&v1); | 345 layout->AddView(&v1); |
346 | 346 |
347 GetPreferredSize(); | 347 GetPreferredSize(); |
348 EXPECT_TRUE(gfx::Size(16, 24) == pref); | 348 EXPECT_EQ(gfx::Size(16, 24), pref); |
349 | 349 |
350 host.SetBounds(0, 0, pref.width(), pref.height()); | 350 host.SetBounds(0, 0, pref.width(), pref.height()); |
351 layout->Layout(&host); | 351 layout->Layout(&host); |
352 ExpectViewBoundsEquals(2, 1, 10, 20, &v1); | 352 ExpectViewBoundsEquals(2, 1, 10, 20, &v1); |
353 | 353 |
354 RemoveAll(); | 354 RemoveAll(); |
355 } | 355 } |
356 | 356 |
357 TEST_F(GridLayoutTest, FixedSize) { | 357 TEST_F(GridLayoutTest, FixedSize) { |
358 layout->SetInsets(2, 2, 2, 2); | 358 layout->SetInsets(2, 2, 2, 2); |
(...skipping 29 matching lines...) Expand all Loading... |
388 View* view = host.GetChildViewAt(row * column_count + i); | 388 View* view = host.GetChildViewAt(row * column_count + i); |
389 ExpectViewBoundsEquals( | 389 ExpectViewBoundsEquals( |
390 2 + title_width * i + (title_width - pref_width) / 2, | 390 2 + title_width * i + (title_width - pref_width) / 2, |
391 2 + pref_height * row, | 391 2 + pref_height * row, |
392 pref_width, | 392 pref_width, |
393 pref_height, view); | 393 pref_height, view); |
394 } | 394 } |
395 } | 395 } |
396 | 396 |
397 GetPreferredSize(); | 397 GetPreferredSize(); |
398 EXPECT_TRUE(gfx::Size(column_count * title_width + 4, | 398 EXPECT_EQ(gfx::Size(column_count * title_width + 4, |
399 row_count * pref_height + 4) == pref); | 399 row_count * pref_height + 4), pref); |
400 } | 400 } |
401 | 401 |
402 TEST_F(GridLayoutTest, RowSpanWithPaddingRow) { | 402 TEST_F(GridLayoutTest, RowSpanWithPaddingRow) { |
403 views::ColumnSet* set = layout->AddColumnSet(0); | 403 views::ColumnSet* set = layout->AddColumnSet(0); |
404 | 404 |
405 set->AddColumn(views::GridLayout::CENTER, | 405 set->AddColumn(views::GridLayout::CENTER, |
406 views::GridLayout::CENTER, | 406 views::GridLayout::CENTER, |
407 0, | 407 0, |
408 views::GridLayout::FIXED, | 408 views::GridLayout::FIXED, |
409 10, | 409 10, |
(...skipping 21 matching lines...) Expand all Loading... |
431 0); | 431 0); |
432 | 432 |
433 layout->StartRow(0, 0); | 433 layout->StartRow(0, 0); |
434 layout->AddView(new SettableSizeView(gfx::Size(20, 10))); | 434 layout->AddView(new SettableSizeView(gfx::Size(20, 10))); |
435 layout->AddView(new SettableSizeView(gfx::Size(20, 40)), 1, 2); | 435 layout->AddView(new SettableSizeView(gfx::Size(20, 40)), 1, 2); |
436 layout->StartRow(1, 0); | 436 layout->StartRow(1, 0); |
437 views::View* s3 = new SettableSizeView(gfx::Size(20, 10)); | 437 views::View* s3 = new SettableSizeView(gfx::Size(20, 10)); |
438 layout->AddView(s3); | 438 layout->AddView(s3); |
439 | 439 |
440 GetPreferredSize(); | 440 GetPreferredSize(); |
441 EXPECT_TRUE(gfx::Size(40, 40) == pref); | 441 EXPECT_EQ(gfx::Size(40, 40), pref); |
442 | 442 |
443 host.SetBounds(0, 0, pref.width(), pref.height()); | 443 host.SetBounds(0, 0, pref.width(), pref.height()); |
444 layout->Layout(&host); | 444 layout->Layout(&host); |
445 ExpectViewBoundsEquals(0, 10, 20, 10, s3); | 445 ExpectViewBoundsEquals(0, 10, 20, 10, s3); |
446 } | 446 } |
447 | 447 |
448 TEST_F(GridLayoutTest, RowSpan2) { | 448 TEST_F(GridLayoutTest, RowSpan2) { |
449 views::ColumnSet* set = layout->AddColumnSet(0); | 449 views::ColumnSet* set = layout->AddColumnSet(0); |
450 | 450 |
451 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, | 451 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, |
452 0, GridLayout::USE_PREF, 0, 0); | 452 0, GridLayout::USE_PREF, 0, 0); |
453 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, | 453 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, |
454 0,GridLayout::USE_PREF, 0, 0); | 454 0,GridLayout::USE_PREF, 0, 0); |
455 | 455 |
456 layout->StartRow(0, 0); | 456 layout->StartRow(0, 0); |
457 layout->AddView(new SettableSizeView(gfx::Size(20, 20))); | 457 layout->AddView(new SettableSizeView(gfx::Size(20, 20))); |
458 views::View* s3 = new SettableSizeView(gfx::Size(64, 64)); | 458 views::View* s3 = new SettableSizeView(gfx::Size(64, 64)); |
459 layout->AddView(s3, 1, 3); | 459 layout->AddView(s3, 1, 3); |
460 | 460 |
461 layout->AddPaddingRow(0, 10); | 461 layout->AddPaddingRow(0, 10); |
462 | 462 |
463 layout->StartRow(0, 0); | 463 layout->StartRow(0, 0); |
464 layout->AddView(new SettableSizeView(gfx::Size(10, 20))); | 464 layout->AddView(new SettableSizeView(gfx::Size(10, 20))); |
465 | 465 |
466 GetPreferredSize(); | 466 GetPreferredSize(); |
467 EXPECT_TRUE(gfx::Size(84, 64) == pref); | 467 EXPECT_EQ(gfx::Size(84, 64), pref); |
468 | 468 |
469 host.SetBounds(0, 0, pref.width(), pref.height()); | 469 host.SetBounds(0, 0, pref.width(), pref.height()); |
470 layout->Layout(&host); | 470 layout->Layout(&host); |
471 ExpectViewBoundsEquals(20, 0, 64, 64, s3); | 471 ExpectViewBoundsEquals(20, 0, 64, 64, s3); |
472 } | 472 } |
473 | 473 |
474 TEST_F(GridLayoutTest, FixedViewWidth) { | 474 TEST_F(GridLayoutTest, FixedViewWidth) { |
475 views::ColumnSet* set = layout->AddColumnSet(0); | 475 views::ColumnSet* set = layout->AddColumnSet(0); |
476 | 476 |
477 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, | 477 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, |
(...skipping 27 matching lines...) Expand all Loading... |
505 layout->AddView(view, 1, 1, GridLayout::LEADING, GridLayout::LEADING, 0, 10); | 505 layout->AddView(view, 1, 1, GridLayout::LEADING, GridLayout::LEADING, 0, 10); |
506 | 506 |
507 GetPreferredSize(); | 507 GetPreferredSize(); |
508 EXPECT_EQ(30, pref.width()); | 508 EXPECT_EQ(30, pref.width()); |
509 EXPECT_EQ(10, pref.height()); | 509 EXPECT_EQ(10, pref.height()); |
510 | 510 |
511 host.SetBounds(0, 0, pref.width(), pref.height()); | 511 host.SetBounds(0, 0, pref.width(), pref.height()); |
512 layout->Layout(&host); | 512 layout->Layout(&host); |
513 ExpectViewBoundsEquals(0, 0, 30, 10, view); | 513 ExpectViewBoundsEquals(0, 0, 30, 10, view); |
514 } | 514 } |
OLD | NEW |