OLD | NEW |
---|---|
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 "config.h" | 5 #include "config.h" |
6 | 6 |
7 #include "cc/region.h" | 7 #include "cc/region.h" |
8 | 8 |
9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
10 | 10 |
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
287 | 287 |
288 for (int i = 10; i < 20; i += 2) | 288 for (int i = 10; i < 20; i += 2) |
289 for (int j = 10; j < 20; j += 2) | 289 for (int j = 10; j < 20; j += 2) |
290 TEST_CONTAINS(grid, gfx::Rect(i, j, 1, 1)); | 290 TEST_CONTAINS(grid, gfx::Rect(i, j, 1, 1)); |
291 | 291 |
292 Region container; | 292 Region container; |
293 container.Union(gfx::Rect(0, 0, 40, 20)); | 293 container.Union(gfx::Rect(0, 0, 40, 20)); |
294 container.Union(gfx::Rect(0, 20, 41, 20)); | 294 container.Union(gfx::Rect(0, 20, 41, 20)); |
295 TEST_CONTAINS(container, gfx::Rect(5, 5, 30, 30)); | 295 TEST_CONTAINS(container, gfx::Rect(5, 5, 30, 30)); |
296 | 296 |
297 container = Region(); | 297 container.Clear(); |
298 container.Union(gfx::Rect(0, 0, 10, 10)); | 298 container.Union(gfx::Rect(0, 0, 10, 10)); |
299 container.Union(gfx::Rect(0, 30, 10, 10)); | 299 container.Union(gfx::Rect(0, 30, 10, 10)); |
300 container.Union(gfx::Rect(30, 30, 10, 10)); | 300 container.Union(gfx::Rect(30, 30, 10, 10)); |
301 container.Union(gfx::Rect(30, 0, 10, 10)); | 301 container.Union(gfx::Rect(30, 0, 10, 10)); |
302 TEST_NO_CONTAINS(container, gfx::Rect(5, 5, 30, 30)); | 302 TEST_NO_CONTAINS(container, gfx::Rect(5, 5, 30, 30)); |
303 | 303 |
304 container = Region(); | 304 container.Clear(); |
305 container.Union(gfx::Rect(0, 0, 10, 10)); | 305 container.Union(gfx::Rect(0, 0, 10, 10)); |
306 container.Union(gfx::Rect(0, 30, 10, 10)); | 306 container.Union(gfx::Rect(0, 30, 10, 10)); |
307 container.Union(gfx::Rect(30, 0, 10, 40)); | 307 container.Union(gfx::Rect(30, 0, 10, 40)); |
308 TEST_NO_CONTAINS(container, gfx::Rect(5, 5, 30, 30)); | 308 TEST_NO_CONTAINS(container, gfx::Rect(5, 5, 30, 30)); |
309 | 309 |
310 container = Region(); | 310 container.Clear(); |
311 container.Union(gfx::Rect(30, 0, 10, 10)); | 311 container.Union(gfx::Rect(30, 0, 10, 10)); |
312 container.Union(gfx::Rect(30, 30, 10, 10)); | 312 container.Union(gfx::Rect(30, 30, 10, 10)); |
313 container.Union(gfx::Rect(0, 0, 10, 40)); | 313 container.Union(gfx::Rect(0, 0, 10, 40)); |
314 TEST_NO_CONTAINS(container, gfx::Rect(5, 5, 30, 30)); | 314 TEST_NO_CONTAINS(container, gfx::Rect(5, 5, 30, 30)); |
315 | 315 |
316 container = Region(); | 316 container.Clear(); |
317 container.Union(gfx::Rect(0, 0, 10, 40)); | 317 container.Union(gfx::Rect(0, 0, 10, 40)); |
318 container.Union(gfx::Rect(30, 0, 10, 40)); | 318 container.Union(gfx::Rect(30, 0, 10, 40)); |
319 TEST_NO_CONTAINS(container, gfx::Rect(5, 5, 30, 30)); | 319 TEST_NO_CONTAINS(container, gfx::Rect(5, 5, 30, 30)); |
320 | 320 |
321 container = Region(); | 321 container.Clear(); |
322 container.Union(gfx::Rect(0, 0, 40, 40)); | 322 container.Union(gfx::Rect(0, 0, 40, 40)); |
323 TEST_NO_CONTAINS(container, gfx::Rect(10, -1, 20, 10)); | 323 TEST_NO_CONTAINS(container, gfx::Rect(10, -1, 20, 10)); |
324 | 324 |
325 container = Region(); | 325 container.Clear(); |
326 container.Union(gfx::Rect(0, 0, 40, 40)); | 326 container.Union(gfx::Rect(0, 0, 40, 40)); |
327 TEST_NO_CONTAINS(container, gfx::Rect(10, 31, 20, 10)); | 327 TEST_NO_CONTAINS(container, gfx::Rect(10, 31, 20, 10)); |
328 | 328 |
329 container = Region(); | 329 container.Clear(); |
330 container.Union(gfx::Rect(0, 0, 40, 20)); | 330 container.Union(gfx::Rect(0, 0, 40, 20)); |
331 container.Union(gfx::Rect(0, 20, 41, 20)); | 331 container.Union(gfx::Rect(0, 20, 41, 20)); |
332 TEST_NO_CONTAINS(container, gfx::Rect(-1, 10, 10, 20)); | 332 TEST_NO_CONTAINS(container, gfx::Rect(-1, 10, 10, 20)); |
333 | 333 |
334 container = Region(); | 334 container.Clear(); |
335 container.Union(gfx::Rect(0, 0, 40, 20)); | 335 container.Union(gfx::Rect(0, 0, 40, 20)); |
336 container.Union(gfx::Rect(0, 20, 41, 20)); | 336 container.Union(gfx::Rect(0, 20, 41, 20)); |
337 TEST_NO_CONTAINS(container, gfx::Rect(31, 10, 10, 20)); | 337 TEST_NO_CONTAINS(container, gfx::Rect(31, 10, 10, 20)); |
338 | 338 |
339 container = Region(); | 339 container.Clear(); |
340 container.Union(gfx::Rect(0, 0, 40, 40)); | 340 container.Union(gfx::Rect(0, 0, 40, 40)); |
341 container.Subtract(gfx::Rect(0, 20, 60, 0)); | 341 container.Subtract(gfx::Rect(0, 20, 60, 0)); |
342 TEST_NO_CONTAINS(container, gfx::Rect(31, 10, 10, 20)); | 342 TEST_NO_CONTAINS(container, gfx::Rect(31, 10, 10, 20)); |
343 | 343 |
344 container = Region(); | 344 container.Clear(); |
345 container.Union(gfx::Rect(0, 0, 60, 20)); | 345 container.Union(gfx::Rect(0, 0, 60, 20)); |
346 container.Union(gfx::Rect(30, 20, 10, 20)); | 346 container.Union(gfx::Rect(30, 20, 10, 20)); |
347 TEST_NO_CONTAINS(container, gfx::Rect(0, 0, 10, 39)); | 347 TEST_NO_CONTAINS(container, gfx::Rect(0, 0, 10, 39)); |
348 TEST_NO_CONTAINS(container, gfx::Rect(0, 0, 10, 40)); | 348 TEST_NO_CONTAINS(container, gfx::Rect(0, 0, 10, 40)); |
349 TEST_NO_CONTAINS(container, gfx::Rect(0, 0, 10, 41)); | 349 TEST_NO_CONTAINS(container, gfx::Rect(0, 0, 10, 41)); |
350 TEST_NO_CONTAINS(container, gfx::Rect(29, 0, 10, 39)); | 350 TEST_NO_CONTAINS(container, gfx::Rect(29, 0, 10, 39)); |
351 TEST_CONTAINS(container, gfx::Rect(30, 0, 10, 40)); | 351 TEST_CONTAINS(container, gfx::Rect(30, 0, 10, 40)); |
352 TEST_NO_CONTAINS(container, gfx::Rect(31, 0, 10, 41)); | 352 TEST_NO_CONTAINS(container, gfx::Rect(31, 0, 10, 41)); |
353 TEST_NO_CONTAINS(container, gfx::Rect(49, 0, 10, 39)); | 353 TEST_NO_CONTAINS(container, gfx::Rect(49, 0, 10, 39)); |
354 TEST_NO_CONTAINS(container, gfx::Rect(50, 0, 10, 40)); | 354 TEST_NO_CONTAINS(container, gfx::Rect(50, 0, 10, 40)); |
355 TEST_NO_CONTAINS(container, gfx::Rect(51, 0, 10, 41)); | 355 TEST_NO_CONTAINS(container, gfx::Rect(51, 0, 10, 41)); |
356 | 356 |
357 container = Region(); | 357 container.Clear(); |
358 container.Union(gfx::Rect(30, 0, 10, 20)); | 358 container.Union(gfx::Rect(30, 0, 10, 20)); |
359 container.Union(gfx::Rect(0, 20, 60, 20)); | 359 container.Union(gfx::Rect(0, 20, 60, 20)); |
360 TEST_NO_CONTAINS(container, gfx::Rect(0, 0, 10, 39)); | 360 TEST_NO_CONTAINS(container, gfx::Rect(0, 0, 10, 39)); |
361 TEST_NO_CONTAINS(container, gfx::Rect(0, 0, 10, 40)); | 361 TEST_NO_CONTAINS(container, gfx::Rect(0, 0, 10, 40)); |
362 TEST_NO_CONTAINS(container, gfx::Rect(0, 0, 10, 41)); | 362 TEST_NO_CONTAINS(container, gfx::Rect(0, 0, 10, 41)); |
363 TEST_NO_CONTAINS(container, gfx::Rect(29, 0, 10, 39)); | 363 TEST_NO_CONTAINS(container, gfx::Rect(29, 0, 10, 39)); |
364 TEST_CONTAINS(container, gfx::Rect(30, 0, 10, 40)); | 364 TEST_CONTAINS(container, gfx::Rect(30, 0, 10, 40)); |
365 TEST_NO_CONTAINS(container, gfx::Rect(31, 0, 10, 41)); | 365 TEST_NO_CONTAINS(container, gfx::Rect(31, 0, 10, 41)); |
366 TEST_NO_CONTAINS(container, gfx::Rect(49, 0, 10, 39)); | 366 TEST_NO_CONTAINS(container, gfx::Rect(49, 0, 10, 39)); |
367 TEST_NO_CONTAINS(container, gfx::Rect(50, 0, 10, 40)); | 367 TEST_NO_CONTAINS(container, gfx::Rect(50, 0, 10, 40)); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
410 | 410 |
411 EXPECT_TRUE(SkIRect::MakeXYWH(10, 10, 10, 0).isEmpty()); | 411 EXPECT_TRUE(SkIRect::MakeXYWH(10, 10, 10, 0).isEmpty()); |
412 EXPECT_TRUE(SkIRect::MakeXYWH(10, 10, 0, 10).isEmpty()); | 412 EXPECT_TRUE(SkIRect::MakeXYWH(10, 10, 0, 10).isEmpty()); |
413 EXPECT_TRUE(SkIRect::MakeXYWH(-10, 10, 10, 0).isEmpty()); | 413 EXPECT_TRUE(SkIRect::MakeXYWH(-10, 10, 10, 0).isEmpty()); |
414 EXPECT_TRUE(SkIRect::MakeXYWH(-10, 10, 0, 10).isEmpty()); | 414 EXPECT_TRUE(SkIRect::MakeXYWH(-10, 10, 0, 10).isEmpty()); |
415 EXPECT_FALSE(SkIRect::MakeXYWH(-1, -1, 1, 1).isEmpty()); | 415 EXPECT_FALSE(SkIRect::MakeXYWH(-1, -1, 1, 1).isEmpty()); |
416 EXPECT_FALSE(SkIRect::MakeXYWH(0, 0, 1, 1).isEmpty()); | 416 EXPECT_FALSE(SkIRect::MakeXYWH(0, 0, 1, 1).isEmpty()); |
417 EXPECT_FALSE(SkIRect::MakeXYWH(0, 0, 2, 2).isEmpty()); | 417 EXPECT_FALSE(SkIRect::MakeXYWH(0, 0, 2, 2).isEmpty()); |
418 } | 418 } |
419 | 419 |
420 TEST(RegionTest, Clear) { | |
421 Region r; | |
422 | |
423 r = gfx::Rect(0, 0, 50, 50); | |
424 EXPECT_FALSE(r.IsEmpty()); | |
425 r.Clear(); | |
426 EXPECT_TRUE(r.IsEmpty()); | |
427 | |
428 r = gfx::Rect(0, 0, 50, 50); | |
429 r.Union(gfx::Rect(100, 0, 50, 50)); | |
430 r.Union(gfx::Rect(0, 0, 500, 500)); | |
431 EXPECT_FALSE(r.IsEmpty()); | |
432 r.Clear(); | |
433 EXPECT_TRUE(r.IsEmpty()); | |
434 } | |
435 | |
436 TEST(RegionSwap, Swap) { | |
437 Region r1, r2, r3; | |
438 | |
439 r1 = gfx::Rect(0, 0, 50, 50); | |
440 r1.Swap(r2); | |
441 EXPECT_TRUE(r1.IsEmpty()); | |
442 EXPECT_EQ(r2, Region(gfx::Rect(0, 0, 50, 50))); | |
443 | |
danakj
2012/11/09 00:58:51
r2.ToString() Region(...).ToString()
| |
444 r1 = gfx::Rect(0, 0, 50, 50); | |
445 r1.Union(gfx::Rect(100, 0, 50, 50)); | |
446 r1.Union(gfx::Rect(0, 0, 500, 500)); | |
447 r3 = r1; | |
448 r1.Swap(r2); | |
449 EXPECT_EQ(r1, Region(gfx::Rect(0, 0, 50, 50))); | |
450 EXPECT_EQ(r2, r3); | |
danakj
2012/11/09 00:58:51
same on these
| |
451 } | |
452 | |
420 } // namespace | 453 } // namespace |
OLD | NEW |