aboutsummaryrefslogtreecommitdiff
path: root/tests/PathTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/PathTest.cpp')
-rw-r--r--tests/PathTest.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/PathTest.cpp b/tests/PathTest.cpp
index 9be3976dae..81ec1187cb 100644
--- a/tests/PathTest.cpp
+++ b/tests/PathTest.cpp
@@ -4319,6 +4319,29 @@ static void test_fuzz_crbug_662952(skiatest::Reporter* reporter) {
surface->getCanvas()->drawRectCoords(0, 0, 100, 100, paint);
}
+static void test_path_crbugskia6003() {
+ auto surface(SkSurface::MakeRasterN32Premul(500, 500));
+ SkCanvas* canvas = surface->getCanvas();
+ SkPaint paint;
+ paint.setAntiAlias(true);
+ SkPath path;
+ path.moveTo(SkBits2Float(0x4325e666), SkBits2Float(0x42a1999a)); // 165.9f, 80.8f
+ path.lineTo(SkBits2Float(0x4325e666), SkBits2Float(0x42a2999a)); // 165.9f, 81.3f
+ path.lineTo(SkBits2Float(0x4325b333), SkBits2Float(0x42a2999a)); // 165.7f, 81.3f
+ path.lineTo(SkBits2Float(0x4325b333), SkBits2Float(0x42a16666)); // 165.7f, 80.7f
+ path.lineTo(SkBits2Float(0x4325b333), SkBits2Float(0x429f6666)); // 165.7f, 79.7f
+ // 165.7f, 79.7f, 165.8f, 79.7f, 165.8f, 79.7f
+ path.cubicTo(SkBits2Float(0x4325b333), SkBits2Float(0x429f6666), SkBits2Float(0x4325cccc),
+ SkBits2Float(0x429f6666), SkBits2Float(0x4325cccc), SkBits2Float(0x429f6666));
+ // 165.8f, 79.7f, 165.8f, 79.7f, 165.9f, 79.7f
+ path.cubicTo(SkBits2Float(0x4325cccc), SkBits2Float(0x429f6666), SkBits2Float(0x4325cccc),
+ SkBits2Float(0x429f6666), SkBits2Float(0x4325e666), SkBits2Float(0x429f6666));
+ path.lineTo(SkBits2Float(0x4325e666), SkBits2Float(0x42a1999a)); // 165.9f, 80.8f
+ path.close();
+ canvas->clipPath(path, true);
+ canvas->drawRectCoords(0, 0, 500, 500, paint);
+}
+
static void test_fuzz_crbug_662730(skiatest::Reporter* reporter) {
SkPath path;
path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
@@ -4391,6 +4414,7 @@ DEF_TEST(Paths, reporter) {
test_fuzz_crbug_662730(reporter);
test_fuzz_crbug_662780();
test_mask_overflow();
+ test_path_crbugskia6003();
SkTSize<SkScalar>::Make(3,4);