Index: tests/PathTest.cpp |
diff --git a/tests/PathTest.cpp b/tests/PathTest.cpp |
index 61f06e099eb20d5b1689939b139cac6307089ed1..c47b2c4858d6f9ff3f2351c4a2db25fe484ca8aa 100644 |
--- a/tests/PathTest.cpp |
+++ b/tests/PathTest.cpp |
@@ -1312,9 +1312,31 @@ static void test_conservativelyContains(skiatest::Reporter* reporter) { |
} |
+static void test_isRect_open_close(skiatest::Reporter* reporter) { |
+ SkPath path; |
+ bool isClosed; |
+ |
+ path.moveTo(0, 0); path.lineTo(1, 0); path.lineTo(1, 1); path.lineTo(0, 1); |
+ |
+ if (false) { |
+ // I think these should pass, but isRect() doesn't behave |
+ // this way... yet |
+ REPORTER_ASSERT(reporter, path.isRect(NULL, NULL)); |
+ REPORTER_ASSERT(reporter, path.isRect(&isClosed, NULL)); |
+ REPORTER_ASSERT(reporter, !isClosed); |
+ } |
+ |
+ path.close(); |
+ REPORTER_ASSERT(reporter, path.isRect(NULL, NULL)); |
+ REPORTER_ASSERT(reporter, path.isRect(&isClosed, NULL)); |
+ REPORTER_ASSERT(reporter, isClosed); |
+} |
+ |
// Simple isRect test is inline TestPath, below. |
// test_isRect provides more extensive testing. |
static void test_isRect(skiatest::Reporter* reporter) { |
+ test_isRect_open_close(reporter); |
+ |
// passing tests (all moveTo / lineTo... |
SkPoint r1[] = {{0, 0}, {1, 0}, {1, 1}, {0, 1}}; |
SkPoint r2[] = {{1, 0}, {1, 1}, {0, 1}, {0, 0}}; |