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

Side by Side Diff: chrome/views/grid_layout_unittest.cc

Issue 7344: Convert GetPreferredSize from:... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 12 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 | Annotate | Revision Log
OLDNEW
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 "chrome/views/grid_layout.h" 5 #include "chrome/views/grid_layout.h"
6 #include "chrome/views/view.h" 6 #include "chrome/views/view.h"
7 7
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 9
10 using ChromeViews::ColumnSet; 10 using ChromeViews::ColumnSet;
11 using ChromeViews::GridLayout; 11 using ChromeViews::GridLayout;
12 using ChromeViews::View; 12 using ChromeViews::View;
13 13
14 static void ExpectViewBoundsEquals(int x, int y, int w, int h, 14 static void ExpectViewBoundsEquals(int x, int y, int w, int h,
15 const View* view) { 15 const View* view) {
16 EXPECT_EQ(x, view->x()); 16 EXPECT_EQ(x, view->x());
17 EXPECT_EQ(y, view->y()); 17 EXPECT_EQ(y, view->y());
18 EXPECT_EQ(w, view->width()); 18 EXPECT_EQ(w, view->width());
19 EXPECT_EQ(h, view->height()); 19 EXPECT_EQ(h, view->height());
20 } 20 }
21 21
22 class SettableSizeView : public View { 22 class SettableSizeView : public View {
23 public: 23 public:
24 explicit SettableSizeView(const CSize& pref) { 24 explicit SettableSizeView(const gfx::Size& pref) {
25 pref_ = pref; 25 pref_ = pref;
26 } 26 }
27 27
28 virtual void GetPreferredSize(CSize *out) { 28 virtual gfx::Size GetPreferredSize() {
29 *out = pref_; 29 return pref_;
30 } 30 }
31 31
32 private: 32 private:
33 CSize pref_; 33 gfx::Size pref_;
34 }; 34 };
35 35
36 class GridLayoutTest : public testing::Test { 36 class GridLayoutTest : public testing::Test {
37 public: 37 public:
38 virtual void SetUp() { 38 virtual void SetUp() {
39 layout = new GridLayout(&host); 39 layout = new GridLayout(&host);
40 } 40 }
41 41
42 virtual void TearDown() { 42 virtual void TearDown() {
43 delete layout; 43 delete layout;
44 } 44 }
45 45
46 virtual void RemoveAll() { 46 virtual void RemoveAll() {
47 for (int i = host.GetChildViewCount() - 1; i >= 0; i--) { 47 for (int i = host.GetChildViewCount() - 1; i >= 0; i--) {
48 host.RemoveChildView(host.GetChildViewAt(i)); 48 host.RemoveChildView(host.GetChildViewAt(i));
49 } 49 }
50 } 50 }
51 51
52 void GetPreferredSize() { 52 void GetPreferredSize() {
53 layout->GetPreferredSize(&host, &pref); 53 pref = layout->GetPreferredSize(&host);
54 } 54 }
55 55
56 CSize pref; 56 gfx::Size pref;
57 CRect bounds; 57 CRect bounds;
58 View host; 58 View host;
59 GridLayout* layout; 59 GridLayout* layout;
60 }; 60 };
61 61
62 class GridLayoutAlignmentTest : public testing::Test { 62 class GridLayoutAlignmentTest : public testing::Test {
63 public: 63 public:
64 GridLayoutAlignmentTest() : 64 GridLayoutAlignmentTest() :
65 host(), 65 host(),
66 v1(CSize(10, 20)), 66 v1(gfx::Size(10, 20)),
67 layout(new GridLayout(&host)) {} 67 layout(new GridLayout(&host)) {}
68 68
69 virtual void SetUp() { 69 virtual void SetUp() {
70 } 70 }
71 71
72 virtual void TearDown() { 72 virtual void TearDown() {
73 delete layout; 73 delete layout;
74 } 74 }
75 75
76 virtual void RemoveAll() { 76 virtual void RemoveAll() {
77 for (int i = host.GetChildViewCount() - 1; i >= 0; i--) { 77 for (int i = host.GetChildViewCount() - 1; i >= 0; i--) {
78 host.RemoveChildView(host.GetChildViewAt(i)); 78 host.RemoveChildView(host.GetChildViewAt(i));
79 } 79 }
80 } 80 }
81 81
82 void TestAlignment(GridLayout::Alignment alignment, CRect* bounds) { 82 void TestAlignment(GridLayout::Alignment alignment, CRect* bounds) {
83 ColumnSet* c1 = layout->AddColumnSet(0); 83 ColumnSet* c1 = layout->AddColumnSet(0);
84 c1->AddColumn(alignment, alignment, 1, GridLayout::USE_PREF, 0, 0); 84 c1->AddColumn(alignment, alignment, 1, GridLayout::USE_PREF, 0, 0);
85 layout->StartRow(1, 0); 85 layout->StartRow(1, 0);
86 layout->AddView(&v1); 86 layout->AddView(&v1);
87 CSize pref; 87 gfx::Size pref = layout->GetPreferredSize(&host);
88 layout->GetPreferredSize(&host, &pref); 88 EXPECT_TRUE(gfx::Size(10, 20) == pref);
89 EXPECT_TRUE(CSize(10, 20) == pref);
90 host.SetBounds(0, 0, 100, 100); 89 host.SetBounds(0, 0, 100, 100);
91 layout->Layout(&host); 90 layout->Layout(&host);
92 *bounds = v1.bounds().ToRECT(); 91 *bounds = v1.bounds().ToRECT();
93 RemoveAll(); 92 RemoveAll();
94 } 93 }
95 94
96 View host; 95 View host;
97 SettableSizeView v1; 96 SettableSizeView v1;
98 GridLayout* layout; 97 GridLayout* layout;
99 }; 98 };
(...skipping 16 matching lines...) Expand all
116 EXPECT_TRUE(CRect(45, 40, 55, 60) == bounds); 115 EXPECT_TRUE(CRect(45, 40, 55, 60) == bounds);
117 } 116 }
118 117
119 TEST_F(GridLayoutAlignmentTest, Trailing) { 118 TEST_F(GridLayoutAlignmentTest, Trailing) {
120 CRect bounds; 119 CRect bounds;
121 TestAlignment(GridLayout::TRAILING, &bounds); 120 TestAlignment(GridLayout::TRAILING, &bounds);
122 EXPECT_TRUE(CRect(90, 80, 100, 100) == bounds); 121 EXPECT_TRUE(CRect(90, 80, 100, 100) == bounds);
123 } 122 }
124 123
125 TEST_F(GridLayoutTest, TwoColumns) { 124 TEST_F(GridLayoutTest, TwoColumns) {
126 SettableSizeView v1(CSize(10, 20)); 125 SettableSizeView v1(gfx::Size(10, 20));
127 SettableSizeView v2(CSize(20, 20)); 126 SettableSizeView v2(gfx::Size(20, 20));
128 ColumnSet* c1 = layout->AddColumnSet(0); 127 ColumnSet* c1 = layout->AddColumnSet(0);
129 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 128 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING,
130 0, GridLayout::USE_PREF, 0, 0); 129 0, GridLayout::USE_PREF, 0, 0);
131 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 130 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING,
132 0, GridLayout::USE_PREF, 0, 0); 131 0, GridLayout::USE_PREF, 0, 0);
133 layout->StartRow(0, 0); 132 layout->StartRow(0, 0);
134 layout->AddView(&v1); 133 layout->AddView(&v1);
135 layout->AddView(&v2); 134 layout->AddView(&v2);
136 135
137 GetPreferredSize(); 136 GetPreferredSize();
138 EXPECT_TRUE(CSize(30, 20) == pref); 137 EXPECT_TRUE(gfx::Size(30, 20) == pref);
139 138
140 host.SetBounds(0, 0, pref.cx, pref.cy); 139 host.SetBounds(0, 0, pref.width(), pref.height());
141 layout->Layout(&host); 140 layout->Layout(&host);
142 ExpectViewBoundsEquals(0, 0, 10, 20, &v1); 141 ExpectViewBoundsEquals(0, 0, 10, 20, &v1);
143 ExpectViewBoundsEquals(10, 0, 20, 20, &v2); 142 ExpectViewBoundsEquals(10, 0, 20, 20, &v2);
144 143
145 RemoveAll(); 144 RemoveAll();
146 } 145 }
147 146
148 TEST_F(GridLayoutTest, ColSpan1) { 147 TEST_F(GridLayoutTest, ColSpan1) {
149 SettableSizeView v1(CSize(100, 20)); 148 SettableSizeView v1(gfx::Size(100, 20));
150 SettableSizeView v2(CSize(10, 40)); 149 SettableSizeView v2(gfx::Size(10, 40));
151 ColumnSet* c1 = layout->AddColumnSet(0); 150 ColumnSet* c1 = layout->AddColumnSet(0);
152 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 151 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING,
153 0, GridLayout::USE_PREF, 0, 0); 152 0, GridLayout::USE_PREF, 0, 0);
154 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 153 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING,
155 1, GridLayout::USE_PREF, 0, 0); 154 1, GridLayout::USE_PREF, 0, 0);
156 layout->StartRow(0, 0); 155 layout->StartRow(0, 0);
157 layout->AddView(&v1, 2, 1); 156 layout->AddView(&v1, 2, 1);
158 layout->StartRow(0, 0); 157 layout->StartRow(0, 0);
159 layout->AddView(&v2); 158 layout->AddView(&v2);
160 159
161 GetPreferredSize(); 160 GetPreferredSize();
162 EXPECT_TRUE(CSize(100, 60) == pref); 161 EXPECT_TRUE(gfx::Size(100, 60) == pref);
163 162
164 host.SetBounds(0, 0, pref.cx, pref.cy); 163 host.SetBounds(0, 0, pref.width(), pref.height());
165 layout->Layout(&host); 164 layout->Layout(&host);
166 ExpectViewBoundsEquals(0, 0, 100, 20, &v1); 165 ExpectViewBoundsEquals(0, 0, 100, 20, &v1);
167 ExpectViewBoundsEquals(0, 20, 10, 40, &v2); 166 ExpectViewBoundsEquals(0, 20, 10, 40, &v2);
168 167
169 RemoveAll(); 168 RemoveAll();
170 } 169 }
171 170
172 TEST_F(GridLayoutTest, ColSpan2) { 171 TEST_F(GridLayoutTest, ColSpan2) {
173 SettableSizeView v1(CSize(100, 20)); 172 SettableSizeView v1(gfx::Size(100, 20));
174 SettableSizeView v2(CSize(10, 20)); 173 SettableSizeView v2(gfx::Size(10, 20));
175 ColumnSet* c1 = layout->AddColumnSet(0); 174 ColumnSet* c1 = layout->AddColumnSet(0);
176 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 175 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING,
177 1, GridLayout::USE_PREF, 0, 0); 176 1, GridLayout::USE_PREF, 0, 0);
178 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 177 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING,
179 0, GridLayout::USE_PREF, 0, 0); 178 0, GridLayout::USE_PREF, 0, 0);
180 layout->StartRow(0, 0); 179 layout->StartRow(0, 0);
181 layout->AddView(&v1, 2, 1); 180 layout->AddView(&v1, 2, 1);
182 layout->StartRow(0, 0); 181 layout->StartRow(0, 0);
183 layout->SkipColumns(1); 182 layout->SkipColumns(1);
184 layout->AddView(&v2); 183 layout->AddView(&v2);
185 184
186 GetPreferredSize(); 185 GetPreferredSize();
187 EXPECT_TRUE(CSize(100, 40) == pref); 186 EXPECT_TRUE(gfx::Size(100, 40) == pref);
188 187
189 host.SetBounds(0, 0, pref.cx, pref.cy); 188 host.SetBounds(0, 0, pref.width(), pref.height());
190 layout->Layout(&host); 189 layout->Layout(&host);
191 ExpectViewBoundsEquals(0, 0, 100, 20, &v1); 190 ExpectViewBoundsEquals(0, 0, 100, 20, &v1);
192 ExpectViewBoundsEquals(90, 20, 10, 20, &v2); 191 ExpectViewBoundsEquals(90, 20, 10, 20, &v2);
193 192
194 RemoveAll(); 193 RemoveAll();
195 } 194 }
196 195
197 TEST_F(GridLayoutTest, ColSpan3) { 196 TEST_F(GridLayoutTest, ColSpan3) {
198 SettableSizeView v1(CSize(100, 20)); 197 SettableSizeView v1(gfx::Size(100, 20));
199 SettableSizeView v2(CSize(10, 20)); 198 SettableSizeView v2(gfx::Size(10, 20));
200 SettableSizeView v3(CSize(10, 20)); 199 SettableSizeView v3(gfx::Size(10, 20));
201 ColumnSet* c1 = layout->AddColumnSet(0); 200 ColumnSet* c1 = layout->AddColumnSet(0);
202 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 201 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING,
203 0, GridLayout::USE_PREF, 0, 0); 202 0, GridLayout::USE_PREF, 0, 0);
204 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 203 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING,
205 0, GridLayout::USE_PREF, 0, 0); 204 0, GridLayout::USE_PREF, 0, 0);
206 layout->StartRow(0, 0); 205 layout->StartRow(0, 0);
207 layout->AddView(&v1, 2, 1); 206 layout->AddView(&v1, 2, 1);
208 layout->StartRow(0, 0); 207 layout->StartRow(0, 0);
209 layout->AddView(&v2); 208 layout->AddView(&v2);
210 layout->AddView(&v3); 209 layout->AddView(&v3);
211 210
212 GetPreferredSize(); 211 GetPreferredSize();
213 EXPECT_TRUE(CSize(100, 40) == pref); 212 EXPECT_TRUE(gfx::Size(100, 40) == pref);
214 213
215 host.SetBounds(0, 0, pref.cx, pref.cy); 214 host.SetBounds(0, 0, pref.width(), pref.height());
216 layout->Layout(&host); 215 layout->Layout(&host);
217 ExpectViewBoundsEquals(0, 0, 100, 20, &v1); 216 ExpectViewBoundsEquals(0, 0, 100, 20, &v1);
218 ExpectViewBoundsEquals(0, 20, 10, 20, &v2); 217 ExpectViewBoundsEquals(0, 20, 10, 20, &v2);
219 ExpectViewBoundsEquals(50, 20, 10, 20, &v3); 218 ExpectViewBoundsEquals(50, 20, 10, 20, &v3);
220 219
221 RemoveAll(); 220 RemoveAll();
222 } 221 }
223 222
224 223
225 TEST_F(GridLayoutTest, ColSpan4) { 224 TEST_F(GridLayoutTest, ColSpan4) {
226 ChromeViews::ColumnSet* set = layout->AddColumnSet(0); 225 ChromeViews::ColumnSet* set = layout->AddColumnSet(0);
227 226
228 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 0, 227 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 0,
229 GridLayout::USE_PREF, 0, 0); 228 GridLayout::USE_PREF, 0, 0);
230 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 0, 229 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 0,
231 GridLayout::USE_PREF, 0, 0); 230 GridLayout::USE_PREF, 0, 0);
232 231
233 SettableSizeView v1(CSize(10, 10)); 232 SettableSizeView v1(gfx::Size(10, 10));
234 SettableSizeView v2(CSize(10, 10)); 233 SettableSizeView v2(gfx::Size(10, 10));
235 SettableSizeView v3(CSize(25, 20)); 234 SettableSizeView v3(gfx::Size(25, 20));
236 layout->StartRow(0, 0); 235 layout->StartRow(0, 0);
237 layout->AddView(&v1); 236 layout->AddView(&v1);
238 layout->AddView(&v2); 237 layout->AddView(&v2);
239 layout->StartRow(0, 0); 238 layout->StartRow(0, 0);
240 layout->AddView(&v3, 2, 1); 239 layout->AddView(&v3, 2, 1);
241 240
242 GetPreferredSize(); 241 GetPreferredSize();
243 EXPECT_TRUE(CSize(25, 30) == pref); 242 EXPECT_TRUE(gfx::Size(25, 30) == pref);
244 243
245 host.SetBounds(0, 0, pref.cx, pref.cy); 244 host.SetBounds(0, 0, pref.width(), pref.height());
246 layout->Layout(&host); 245 layout->Layout(&host);
247 ExpectViewBoundsEquals(0, 0, 10, 10, &v1); 246 ExpectViewBoundsEquals(0, 0, 10, 10, &v1);
248 ExpectViewBoundsEquals(12, 0, 10, 10, &v2); 247 ExpectViewBoundsEquals(12, 0, 10, 10, &v2);
249 ExpectViewBoundsEquals(0, 10, 25, 20, &v3); 248 ExpectViewBoundsEquals(0, 10, 25, 20, &v3);
250 249
251 RemoveAll(); 250 RemoveAll();
252 } 251 }
253 252
254 TEST_F(GridLayoutTest, SameSizeColumns) { 253 TEST_F(GridLayoutTest, SameSizeColumns) {
255 SettableSizeView v1(CSize(50, 20)); 254 SettableSizeView v1(gfx::Size(50, 20));
256 SettableSizeView v2(CSize(10, 10)); 255 SettableSizeView v2(gfx::Size(10, 10));
257 ColumnSet* c1 = layout->AddColumnSet(0); 256 ColumnSet* c1 = layout->AddColumnSet(0);
258 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 257 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING,
259 0, GridLayout::USE_PREF, 0, 0); 258 0, GridLayout::USE_PREF, 0, 0);
260 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 259 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING,
261 0, GridLayout::USE_PREF, 0, 0); 260 0, GridLayout::USE_PREF, 0, 0);
262 c1->LinkColumnSizes(0, 1, -1); 261 c1->LinkColumnSizes(0, 1, -1);
263 layout->StartRow(0, 0); 262 layout->StartRow(0, 0);
264 layout->AddView(&v1); 263 layout->AddView(&v1);
265 layout->AddView(&v2); 264 layout->AddView(&v2);
266 265
267 CSize pref; 266 gfx::Size pref = layout->GetPreferredSize(&host);
268 layout->GetPreferredSize(&host, &pref); 267 EXPECT_TRUE(gfx::Size(100, 20) == pref);
269 EXPECT_TRUE(CSize(100, 20) == pref);
270 268
271 host.SetBounds(0, 0, pref.cx, pref.cy); 269 host.SetBounds(0, 0, pref.width(), pref.height());
272 layout->Layout(&host); 270 layout->Layout(&host);
273 ExpectViewBoundsEquals(0, 0, 50, 20, &v1); 271 ExpectViewBoundsEquals(0, 0, 50, 20, &v1);
274 ExpectViewBoundsEquals(50, 0, 10, 10, &v2); 272 ExpectViewBoundsEquals(50, 0, 10, 10, &v2);
275 273
276 RemoveAll(); 274 RemoveAll();
277 } 275 }
278 276
279 TEST_F(GridLayoutTest, HorizontalResizeTest1) { 277 TEST_F(GridLayoutTest, HorizontalResizeTest1) {
280 SettableSizeView v1(CSize(50, 20)); 278 SettableSizeView v1(gfx::Size(50, 20));
281 SettableSizeView v2(CSize(10, 10)); 279 SettableSizeView v2(gfx::Size(10, 10));
282 ColumnSet* c1 = layout->AddColumnSet(0); 280 ColumnSet* c1 = layout->AddColumnSet(0);
283 c1->AddColumn(GridLayout::FILL, GridLayout::LEADING, 281 c1->AddColumn(GridLayout::FILL, GridLayout::LEADING,
284 1, GridLayout::USE_PREF, 0, 0); 282 1, GridLayout::USE_PREF, 0, 0);
285 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 283 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING,
286 0, GridLayout::USE_PREF, 0, 0); 284 0, GridLayout::USE_PREF, 0, 0);
287 layout->StartRow(0, 0); 285 layout->StartRow(0, 0);
288 layout->AddView(&v1); 286 layout->AddView(&v1);
289 layout->AddView(&v2); 287 layout->AddView(&v2);
290 288
291 host.SetBounds(0, 0, 110, 20); 289 host.SetBounds(0, 0, 110, 20);
292 layout->Layout(&host); 290 layout->Layout(&host);
293 ExpectViewBoundsEquals(0, 0, 100, 20, &v1); 291 ExpectViewBoundsEquals(0, 0, 100, 20, &v1);
294 ExpectViewBoundsEquals(100, 0, 10, 10, &v2); 292 ExpectViewBoundsEquals(100, 0, 10, 10, &v2);
295 293
296 RemoveAll(); 294 RemoveAll();
297 } 295 }
298 296
299 TEST_F(GridLayoutTest, HorizontalResizeTest2) { 297 TEST_F(GridLayoutTest, HorizontalResizeTest2) {
300 SettableSizeView v1(CSize(50, 20)); 298 SettableSizeView v1(gfx::Size(50, 20));
301 SettableSizeView v2(CSize(10, 10)); 299 SettableSizeView v2(gfx::Size(10, 10));
302 ColumnSet* c1 = layout->AddColumnSet(0); 300 ColumnSet* c1 = layout->AddColumnSet(0);
303 c1->AddColumn(GridLayout::FILL, GridLayout::LEADING, 301 c1->AddColumn(GridLayout::FILL, GridLayout::LEADING,
304 1, GridLayout::USE_PREF, 0, 0); 302 1, GridLayout::USE_PREF, 0, 0);
305 c1->AddColumn(GridLayout::TRAILING, GridLayout::LEADING, 303 c1->AddColumn(GridLayout::TRAILING, GridLayout::LEADING,
306 1, GridLayout::USE_PREF, 0, 0); 304 1, GridLayout::USE_PREF, 0, 0);
307 layout->StartRow(0, 0); 305 layout->StartRow(0, 0);
308 layout->AddView(&v1); 306 layout->AddView(&v1);
309 layout->AddView(&v2); 307 layout->AddView(&v2);
310 308
311 host.SetBounds(0, 0, 120, 20); 309 host.SetBounds(0, 0, 120, 20);
312 layout->Layout(&host); 310 layout->Layout(&host);
313 ExpectViewBoundsEquals(0, 0, 80, 20, &v1); 311 ExpectViewBoundsEquals(0, 0, 80, 20, &v1);
314 ExpectViewBoundsEquals(110, 0, 10, 10, &v2); 312 ExpectViewBoundsEquals(110, 0, 10, 10, &v2);
315 313
316 RemoveAll(); 314 RemoveAll();
317 } 315 }
318 316
319 TEST_F(GridLayoutTest, TestVerticalResize1) { 317 TEST_F(GridLayoutTest, TestVerticalResize1) {
320 SettableSizeView v1(CSize(50, 20)); 318 SettableSizeView v1(gfx::Size(50, 20));
321 SettableSizeView v2(CSize(10, 10)); 319 SettableSizeView v2(gfx::Size(10, 10));
322 ColumnSet* c1 = layout->AddColumnSet(0); 320 ColumnSet* c1 = layout->AddColumnSet(0);
323 c1->AddColumn(GridLayout::FILL, GridLayout::FILL, 321 c1->AddColumn(GridLayout::FILL, GridLayout::FILL,
324 1, GridLayout::USE_PREF, 0, 0); 322 1, GridLayout::USE_PREF, 0, 0);
325 layout->StartRow(1, 0); 323 layout->StartRow(1, 0);
326 layout->AddView(&v1); 324 layout->AddView(&v1);
327 layout->StartRow(0, 0); 325 layout->StartRow(0, 0);
328 layout->AddView(&v2); 326 layout->AddView(&v2);
329 327
330 GetPreferredSize(); 328 GetPreferredSize();
331 EXPECT_TRUE(CSize(50, 30) == pref); 329 EXPECT_TRUE(gfx::Size(50, 30) == pref);
332 330
333 host.SetBounds(0, 0, 50, 100); 331 host.SetBounds(0, 0, 50, 100);
334 layout->Layout(&host); 332 layout->Layout(&host);
335 ExpectViewBoundsEquals(0, 0, 50, 90, &v1); 333 ExpectViewBoundsEquals(0, 0, 50, 90, &v1);
336 ExpectViewBoundsEquals(0, 90, 50, 10, &v2); 334 ExpectViewBoundsEquals(0, 90, 50, 10, &v2);
337 335
338 RemoveAll(); 336 RemoveAll();
339 } 337 }
340 338
341 TEST_F(GridLayoutTest, Insets) { 339 TEST_F(GridLayoutTest, Insets) {
342 SettableSizeView v1(CSize(10, 20)); 340 SettableSizeView v1(gfx::Size(10, 20));
343 ColumnSet* c1 = layout->AddColumnSet(0); 341 ColumnSet* c1 = layout->AddColumnSet(0);
344 layout->SetInsets(1, 2, 3, 4); 342 layout->SetInsets(1, 2, 3, 4);
345 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 343 c1->AddColumn(GridLayout::LEADING, GridLayout::LEADING,
346 0, GridLayout::USE_PREF, 0, 0); 344 0, GridLayout::USE_PREF, 0, 0);
347 layout->StartRow(0, 0); 345 layout->StartRow(0, 0);
348 layout->AddView(&v1); 346 layout->AddView(&v1);
349 347
350 GetPreferredSize(); 348 GetPreferredSize();
351 EXPECT_TRUE(CSize(16, 24) == pref); 349 EXPECT_TRUE(gfx::Size(16, 24) == pref);
352 350
353 host.SetBounds(0, 0, pref.cx, pref.cy); 351 host.SetBounds(0, 0, pref.width(), pref.height());
354 layout->Layout(&host); 352 layout->Layout(&host);
355 ExpectViewBoundsEquals(2, 1, 10, 20, &v1); 353 ExpectViewBoundsEquals(2, 1, 10, 20, &v1);
356 354
357 RemoveAll(); 355 RemoveAll();
358 } 356 }
359 357
360 TEST_F(GridLayoutTest, FixedSize) { 358 TEST_F(GridLayoutTest, FixedSize) {
361 layout->SetInsets(2, 2, 2, 2); 359 layout->SetInsets(2, 2, 2, 2);
362 360
363 ChromeViews::ColumnSet* set = layout->AddColumnSet(0); 361 ChromeViews::ColumnSet* set = layout->AddColumnSet(0);
364 362
365 int column_count = 4; 363 int column_count = 4;
366 int title_width = 100; 364 int title_width = 100;
367 int row_count = 2; 365 int row_count = 2;
368 int pref_width = 10; 366 int pref_width = 10;
369 int pref_height = 20; 367 int pref_height = 20;
370 368
371 for (int i = 0; i < column_count; ++i) { 369 for (int i = 0; i < column_count; ++i) {
372 set->AddColumn(ChromeViews::GridLayout::CENTER, 370 set->AddColumn(ChromeViews::GridLayout::CENTER,
373 ChromeViews::GridLayout::CENTER, 371 ChromeViews::GridLayout::CENTER,
374 0, 372 0,
375 ChromeViews::GridLayout::FIXED, 373 ChromeViews::GridLayout::FIXED,
376 title_width, 374 title_width,
377 title_width); 375 title_width);
378 } 376 }
379 377
380 for (int row = 0; row < row_count; ++row) { 378 for (int row = 0; row < row_count; ++row) {
381 layout->StartRow(0, 0); 379 layout->StartRow(0, 0);
382 for (int col = 0; col < column_count; ++col) { 380 for (int col = 0; col < column_count; ++col) {
383 layout->AddView(new SettableSizeView(CSize(pref_width, pref_height))); 381 layout->AddView(new SettableSizeView(gfx::Size(pref_width, pref_height)));
384 } 382 }
385 } 383 }
386 384
387 layout->Layout(&host); 385 layout->Layout(&host);
388 386
389 for (int i = 0; i < column_count; ++i) { 387 for (int i = 0; i < column_count; ++i) {
390 for (int row = 0; row < row_count; ++row) { 388 for (int row = 0; row < row_count; ++row) {
391 View* view = host.GetChildViewAt(row * column_count + i); 389 View* view = host.GetChildViewAt(row * column_count + i);
392 ExpectViewBoundsEquals(2 + title_width * i + (title_width - pref_width) / 2, 390 ExpectViewBoundsEquals(2 + title_width * i + (title_width - pref_width) / 2,
393 2 + pref_height * row, 391 2 + pref_height * row,
394 pref_width, pref_height, view); 392 pref_width, pref_height, view);
395 } 393 }
396 } 394 }
397 395
398 GetPreferredSize(); 396 GetPreferredSize();
399 EXPECT_TRUE(CSize(column_count * title_width + 4, 397 EXPECT_TRUE(gfx::Size(column_count * title_width + 4,
400 row_count * pref_height + 4) == pref); 398 row_count * pref_height + 4) == pref);
401 } 399 }
402 400
403 TEST_F(GridLayoutTest, RowSpanWithPaddingRow) { 401 TEST_F(GridLayoutTest, RowSpanWithPaddingRow) {
404 ChromeViews::ColumnSet* set = layout->AddColumnSet(0); 402 ChromeViews::ColumnSet* set = layout->AddColumnSet(0);
405 403
406 set->AddColumn(ChromeViews::GridLayout::CENTER, 404 set->AddColumn(ChromeViews::GridLayout::CENTER,
407 ChromeViews::GridLayout::CENTER, 405 ChromeViews::GridLayout::CENTER,
408 0, 406 0,
409 ChromeViews::GridLayout::FIXED, 407 ChromeViews::GridLayout::FIXED,
410 10, 408 10,
411 10); 409 10);
412 410
413 layout->StartRow(0, 0); 411 layout->StartRow(0, 0);
414 layout->AddView(new SettableSizeView(CSize(10, 10)), 1, 2); 412 layout->AddView(new SettableSizeView(gfx::Size(10, 10)), 1, 2);
415 layout->AddPaddingRow(0, 10); 413 layout->AddPaddingRow(0, 10);
416 } 414 }
417 415
418 TEST_F(GridLayoutTest, RowSpan) { 416 TEST_F(GridLayoutTest, RowSpan) {
419 ChromeViews::ColumnSet* set = layout->AddColumnSet(0); 417 ChromeViews::ColumnSet* set = layout->AddColumnSet(0);
420 418
421 set->AddColumn(ChromeViews::GridLayout::LEADING, 419 set->AddColumn(ChromeViews::GridLayout::LEADING,
422 ChromeViews::GridLayout::LEADING, 420 ChromeViews::GridLayout::LEADING,
423 0, 421 0,
424 ChromeViews::GridLayout::USE_PREF, 422 ChromeViews::GridLayout::USE_PREF,
425 0, 423 0,
426 0); 424 0);
427 set->AddColumn(ChromeViews::GridLayout::LEADING, 425 set->AddColumn(ChromeViews::GridLayout::LEADING,
428 ChromeViews::GridLayout::LEADING, 426 ChromeViews::GridLayout::LEADING,
429 0, 427 0,
430 ChromeViews::GridLayout::USE_PREF, 428 ChromeViews::GridLayout::USE_PREF,
431 0, 429 0,
432 0); 430 0);
433 431
434 layout->StartRow(0, 0); 432 layout->StartRow(0, 0);
435 layout->AddView(new SettableSizeView(CSize(20, 10))); 433 layout->AddView(new SettableSizeView(gfx::Size(20, 10)));
436 layout->AddView(new SettableSizeView(CSize(20, 40)), 1, 2); 434 layout->AddView(new SettableSizeView(gfx::Size(20, 40)), 1, 2);
437 layout->StartRow(1, 0); 435 layout->StartRow(1, 0);
438 ChromeViews::View* s3 = new SettableSizeView(CSize(20, 10)); 436 ChromeViews::View* s3 = new SettableSizeView(gfx::Size(20, 10));
439 layout->AddView(s3); 437 layout->AddView(s3);
440 438
441 GetPreferredSize(); 439 GetPreferredSize();
442 EXPECT_TRUE(CSize(40, 40) == pref); 440 EXPECT_TRUE(gfx::Size(40, 40) == pref);
443 441
444 host.SetBounds(0, 0, pref.cx, pref.cy); 442 host.SetBounds(0, 0, pref.width(), pref.height());
445 layout->Layout(&host); 443 layout->Layout(&host);
446 ExpectViewBoundsEquals(0, 10, 20, 10, s3); 444 ExpectViewBoundsEquals(0, 10, 20, 10, s3);
447 } 445 }
448 446
449 TEST_F(GridLayoutTest, RowSpan2) { 447 TEST_F(GridLayoutTest, RowSpan2) {
450 ChromeViews::ColumnSet* set = layout->AddColumnSet(0); 448 ChromeViews::ColumnSet* set = layout->AddColumnSet(0);
451 449
452 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 450 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING,
453 0, GridLayout::USE_PREF, 0, 0); 451 0, GridLayout::USE_PREF, 0, 0);
454 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 452 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING,
455 0,GridLayout::USE_PREF, 0, 0); 453 0,GridLayout::USE_PREF, 0, 0);
456 454
457 layout->StartRow(0, 0); 455 layout->StartRow(0, 0);
458 layout->AddView(new SettableSizeView(CSize(20, 20))); 456 layout->AddView(new SettableSizeView(gfx::Size(20, 20)));
459 ChromeViews::View* s3 = new SettableSizeView(CSize(64, 64)); 457 ChromeViews::View* s3 = new SettableSizeView(gfx::Size(64, 64));
460 layout->AddView(s3, 1, 3); 458 layout->AddView(s3, 1, 3);
461 459
462 layout->AddPaddingRow(0, 10); 460 layout->AddPaddingRow(0, 10);
463 461
464 layout->StartRow(0, 0); 462 layout->StartRow(0, 0);
465 layout->AddView(new SettableSizeView(CSize(10, 20))); 463 layout->AddView(new SettableSizeView(gfx::Size(10, 20)));
466 464
467 GetPreferredSize(); 465 GetPreferredSize();
468 EXPECT_TRUE(CSize(84, 64) == pref); 466 EXPECT_TRUE(gfx::Size(84, 64) == pref);
469 467
470 host.SetBounds(0, 0, pref.cx, pref.cy); 468 host.SetBounds(0, 0, pref.width(), pref.height());
471 layout->Layout(&host); 469 layout->Layout(&host);
472 ExpectViewBoundsEquals(20, 0, 64, 64, s3); 470 ExpectViewBoundsEquals(20, 0, 64, 64, s3);
473 } 471 }
474 472
475 TEST_F(GridLayoutTest, FixedViewWidth) { 473 TEST_F(GridLayoutTest, FixedViewWidth) {
476 ChromeViews::ColumnSet* set = layout->AddColumnSet(0); 474 ChromeViews::ColumnSet* set = layout->AddColumnSet(0);
477 475
478 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 476 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING,
479 0, GridLayout::USE_PREF, 0, 0); 477 0, GridLayout::USE_PREF, 0, 0);
480 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 478 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING,
481 0,GridLayout::USE_PREF, 0, 0); 479 0,GridLayout::USE_PREF, 0, 0);
482 480
483 layout->StartRow(0, 0); 481 layout->StartRow(0, 0);
484 View* view = new SettableSizeView(CSize(30, 40)); 482 View* view = new SettableSizeView(gfx::Size(30, 40));
485 layout->AddView(view, 1, 1, GridLayout::LEADING, GridLayout::LEADING, 10, 0); 483 layout->AddView(view, 1, 1, GridLayout::LEADING, GridLayout::LEADING, 10, 0);
486 484
487 GetPreferredSize(); 485 GetPreferredSize();
488 EXPECT_EQ(10, pref.cx); 486 EXPECT_EQ(10, pref.width());
489 EXPECT_EQ(40, pref.cy); 487 EXPECT_EQ(40, pref.height());
490 488
491 host.SetBounds(0, 0, pref.cx, pref.cy); 489 host.SetBounds(0, 0, pref.width(), pref.height());
492 layout->Layout(&host); 490 layout->Layout(&host);
493 ExpectViewBoundsEquals(0, 0, 10, 40, view); 491 ExpectViewBoundsEquals(0, 0, 10, 40, view);
494 } 492 }
495 493
496 TEST_F(GridLayoutTest, FixedViewHeight) { 494 TEST_F(GridLayoutTest, FixedViewHeight) {
497 ChromeViews::ColumnSet* set = layout->AddColumnSet(0); 495 ChromeViews::ColumnSet* set = layout->AddColumnSet(0);
498 496
499 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 497 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING,
500 0, GridLayout::USE_PREF, 0, 0); 498 0, GridLayout::USE_PREF, 0, 0);
501 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 499 set->AddColumn(GridLayout::LEADING, GridLayout::LEADING,
502 0,GridLayout::USE_PREF, 0, 0); 500 0,GridLayout::USE_PREF, 0, 0);
503 501
504 layout->StartRow(0, 0); 502 layout->StartRow(0, 0);
505 View* view = new SettableSizeView(CSize(30, 40)); 503 View* view = new SettableSizeView(gfx::Size(30, 40));
506 layout->AddView(view, 1, 1, GridLayout::LEADING, GridLayout::LEADING, 0, 10); 504 layout->AddView(view, 1, 1, GridLayout::LEADING, GridLayout::LEADING, 0, 10);
507 505
508 GetPreferredSize(); 506 GetPreferredSize();
509 EXPECT_EQ(30, pref.cx); 507 EXPECT_EQ(30, pref.width());
510 EXPECT_EQ(10, pref.cy); 508 EXPECT_EQ(10, pref.height());
511 509
512 host.SetBounds(0, 0, pref.cx, pref.cy); 510 host.SetBounds(0, 0, pref.width(), pref.height());
513 layout->Layout(&host); 511 layout->Layout(&host);
514 ExpectViewBoundsEquals(0, 0, 30, 10, view); 512 ExpectViewBoundsEquals(0, 0, 30, 10, view);
515 } 513 }
516 514
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698