Index: tests/PathTest.cpp |
diff --git a/tests/PathTest.cpp b/tests/PathTest.cpp |
index 313d84a142bc9c84a029c8968df0ef64d693b408..abe8b39590d7c58b1c7fefa1bf098c301711cb5b 100644 |
--- a/tests/PathTest.cpp |
+++ b/tests/PathTest.cpp |
@@ -568,6 +568,21 @@ static void test_clipped_cubic() { |
} |
} |
+static void test_bounds_crbug_513799(skiatest::Reporter* reporter) { |
+ SkPath path; |
+ |
+ REPORTER_ASSERT(reporter, SkRect::MakeLTRB(0, 0, 0, 0) == path.getBounds()); |
+ |
+ path.moveTo(-5, -8); |
+ REPORTER_ASSERT(reporter, SkRect::MakeLTRB(-5, -8, -5, -8) == path.getBounds()); |
+ |
+ path.addRect(SkRect::MakeLTRB(1, 2, 3, 4)); |
+ REPORTER_ASSERT(reporter, SkRect::MakeLTRB(-5, -8, 3, 4) == path.getBounds()); |
+ |
+ path.moveTo(1, 2); |
+ REPORTER_ASSERT(reporter, SkRect::MakeLTRB(-5, -8, 3, 4) == path.getBounds()); |
+} |
+ |
// Inspired by http://ie.microsoft.com/testdrive/Performance/Chalkboard/ |
// which triggered an assert, from a tricky cubic. This test replicates that |
// example, so we can ensure that we handle it (in SkEdge.cpp), and don't |
@@ -2358,9 +2373,9 @@ static void test_zero_length_paths(skiatest::Reporter* reporter) { |
SkPath::kMove_Verb, SkPath::kCubic_Verb, SkPath::kClose_Verb, SkPath::kMove_Verb, SkPath::kCubic_Verb, SkPath::kClose_Verb |
}; |
static const struct zeroPathTestData gZeroLengthTests[] = { |
- { "M 1 1", 1, {0, 0, 0, 0}, resultVerbs1, SK_ARRAY_COUNT(resultVerbs1) }, |
+ { "M 1 1", 1, {1, 1, 1, 1}, resultVerbs1, SK_ARRAY_COUNT(resultVerbs1) }, |
{ "M 1 1 M 2 1", 2, {SK_Scalar1, SK_Scalar1, 2*SK_Scalar1, SK_Scalar1}, resultVerbs2, SK_ARRAY_COUNT(resultVerbs2) }, |
- { "M 1 1 z", 1, {0, 0, 0, 0}, resultVerbs3, SK_ARRAY_COUNT(resultVerbs3) }, |
+ { "M 1 1 z", 1, {1, 1, 1, 1}, resultVerbs3, SK_ARRAY_COUNT(resultVerbs3) }, |
{ "M 1 1 z M 2 1 z", 2, {SK_Scalar1, SK_Scalar1, 2*SK_Scalar1, SK_Scalar1}, resultVerbs4, SK_ARRAY_COUNT(resultVerbs4) }, |
{ "M 1 1 L 1 1", 2, {SK_Scalar1, SK_Scalar1, SK_Scalar1, SK_Scalar1}, resultVerbs5, SK_ARRAY_COUNT(resultVerbs5) }, |
{ "M 1 1 L 1 1 M 2 1 L 2 1", 4, {SK_Scalar1, SK_Scalar1, 2*SK_Scalar1, SK_Scalar1}, resultVerbs6, SK_ARRAY_COUNT(resultVerbs6) }, |
@@ -3848,4 +3863,5 @@ DEF_TEST(Paths, reporter) { |
test_path_crbugskia2820(reporter); |
test_skbug_3469(reporter); |
test_skbug_3239(reporter); |
+ test_bounds_crbug_513799(reporter); |
} |