diff options
author | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-11-07 14:23:42 +0000 |
---|---|---|
committer | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-11-07 14:23:42 +0000 |
commit | bb094b947bb53374f5ad3df1b0cc71f41d43d9bf (patch) | |
tree | 7dfabffd5159e7026e45993bbfa2f72794e012fc /tests/RegionTest.cpp | |
parent | 3302783ea7edf667794b088e5fc0656946b99816 (diff) |
fix SkRegion::intersects(rect) where the part of the rgn that we intersect is
the last run. The old bug was that we did an early exit from the loop because
we were comparing against the next rgn.bottom, instead of the current one.
inspired and fixed by danakj http://code.google.com/p/skia/issues/detail?id=958
Review URL: https://codereview.appspot.com/6812099
git-svn-id: http://skia.googlecode.com/svn/trunk@6327 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'tests/RegionTest.cpp')
-rw-r--r-- | tests/RegionTest.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/tests/RegionTest.cpp b/tests/RegionTest.cpp index e629a9eb93..a8ce0e0db0 100644 --- a/tests/RegionTest.cpp +++ b/tests/RegionTest.cpp @@ -67,6 +67,13 @@ static void test_fromchrome(skiatest::Reporter* reporter) { Union(&container, SkIRect::MakeXYWH(30, 20, 10, 20)); TEST_NO_CONTAINS(container, SkIRect::MakeXYWH(0, 0, 10, 39)); TEST_NO_CONTAINS(container, SkIRect::MakeXYWH(29, 0, 10, 39)); + + { + SkRegion rgn; + Union(&rgn, SkIRect::MakeXYWH(0, 0, 10, 10)); + Union(&rgn, SkIRect::MakeLTRB(5, 10, 20, 20)); + TEST_INTERSECT(rgn, SkIRect::MakeXYWH(15, 0, 5, 11)); + } } static void test_empties(skiatest::Reporter* reporter) { |