diff options
Diffstat (limited to 'tests/RegionTest.cpp')
-rw-r--r-- | tests/RegionTest.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/RegionTest.cpp b/tests/RegionTest.cpp index be84d14c14..422e06e968 100644 --- a/tests/RegionTest.cpp +++ b/tests/RegionTest.cpp @@ -419,3 +419,18 @@ DEF_TEST(region_toobig, reporter) { REPORTER_ASSERT(reporter, rgn.isEmpty()); } +DEF_TEST(region_inverse_union_skbug_7491, reporter) { + SkPath path; + path.setFillType(SkPath::kInverseWinding_FillType); + path.moveTo(10, 20); path.lineTo(10, 30); path.lineTo(10.1f, 10); path.close(); + + SkRegion clip; + clip.op(SkIRect::MakeLTRB(10, 10, 15, 20), SkRegion::kUnion_Op); + clip.op(SkIRect::MakeLTRB(20, 10, 25, 20), SkRegion::kUnion_Op); + + SkRegion rgn; + rgn.setPath(path, clip); + + REPORTER_ASSERT(reporter, clip == rgn); +} + |