| Index: tests/PathOpsTightBoundsTest.cpp
|
| diff --git a/tests/PathOpsTightBoundsTest.cpp b/tests/PathOpsTightBoundsTest.cpp
|
| index 953756170bd0ea9490e0de8aa044f10ee2ce0fe2..8fd0fdb453c658b60eb133231c2a85248af715a7 100644
|
| --- a/tests/PathOpsTightBoundsTest.cpp
|
| +++ b/tests/PathOpsTightBoundsTest.cpp
|
| @@ -120,3 +120,71 @@ DEF_TEST(PathOpsTightBoundsQuads, reporter) {
|
| }
|
| testRunner.render();
|
| }
|
| +
|
| +DEF_TEST(PathOpsTightBoundsMove, reporter) {
|
| + SkPath path;
|
| + path.moveTo(10, 10);
|
| + path.close();
|
| + path.moveTo(20, 20);
|
| + path.lineTo(20, 20);
|
| + path.close();
|
| + path.moveTo(15, 15);
|
| + path.lineTo(15, 15);
|
| + path.close();
|
| + const SkRect& bounds = path.getBounds();
|
| + SkRect tight;
|
| + REPORTER_ASSERT(reporter, TightBounds(path, &tight));
|
| + REPORTER_ASSERT(reporter, bounds == tight);
|
| +}
|
| +
|
| +DEF_TEST(PathOpsTightBoundsMoveOne, reporter) {
|
| + SkPath path;
|
| + path.moveTo(20, 20);
|
| + const SkRect& bounds = path.getBounds();
|
| + SkRect tight;
|
| + REPORTER_ASSERT(reporter, TightBounds(path, &tight));
|
| + REPORTER_ASSERT(reporter, bounds == tight);
|
| +}
|
| +
|
| +DEF_TEST(PathOpsTightBoundsMoveTwo, reporter) {
|
| + SkPath path;
|
| + path.moveTo(20, 20);
|
| + path.moveTo(40, 40);
|
| + const SkRect& bounds = path.getBounds();
|
| + SkRect tight;
|
| + REPORTER_ASSERT(reporter, TightBounds(path, &tight));
|
| + REPORTER_ASSERT(reporter, bounds == tight);
|
| +}
|
| +
|
| +DEF_TEST(PathOpsTightBoundsTiny, reporter) {
|
| + SkPath path;
|
| + path.moveTo(1, 1);
|
| + path.quadTo(1.000001f, 1, 1, 1);
|
| + const SkRect& bounds = path.getBounds();
|
| + SkRect tight;
|
| + REPORTER_ASSERT(reporter, TightBounds(path, &tight));
|
| + SkRect moveBounds = {1, 1, 1, 1};
|
| + REPORTER_ASSERT(reporter, bounds != tight);
|
| + REPORTER_ASSERT(reporter, moveBounds == tight);
|
| +}
|
| +
|
| +DEF_TEST(PathOpsTightBoundsWellBehaved, reporter) {
|
| + SkPath path;
|
| + path.moveTo(1, 1);
|
| + path.quadTo(2, 3, 4, 5);
|
| + const SkRect& bounds = path.getBounds();
|
| + SkRect tight;
|
| + REPORTER_ASSERT(reporter, TightBounds(path, &tight));
|
| + REPORTER_ASSERT(reporter, bounds == tight);
|
| +}
|
| +
|
| +DEF_TEST(PathOpsTightBoundsIllBehaved, reporter) {
|
| + SkPath path;
|
| + path.moveTo(1, 1);
|
| + path.quadTo(4, 3, 2, 2);
|
| + const SkRect& bounds = path.getBounds();
|
| + SkRect tight;
|
| + REPORTER_ASSERT(reporter, TightBounds(path, &tight));
|
| + REPORTER_ASSERT(reporter, bounds != tight);
|
| +}
|
| +
|
|
|