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.ToString(), Region(gfx::Rect(0, 0, 50, 50)).ToString()); |
| 443 |
| 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.ToString(), Region(gfx::Rect(0, 0, 50, 50)).ToString()); |
| 450 EXPECT_EQ(r2.ToString(), r3.ToString()); |
| 451 } |
| 452 |
420 } // namespace | 453 } // namespace |
OLD | NEW |