aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/TessellatingPathRendererTests.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/TessellatingPathRendererTests.cpp b/tests/TessellatingPathRendererTests.cpp
index ae20171b04..6b1f29fc80 100644
--- a/tests/TessellatingPathRendererTests.cpp
+++ b/tests/TessellatingPathRendererTests.cpp
@@ -616,6 +616,20 @@ static SkPath create_path_42() {
return path;
}
+// Reduction from crbug.com/866319. Cause is edges that are collinear when tested from
+// one side, but non-collinear when tested from the other.
+static SkPath create_path_43() {
+ SkPath path;
+ path.moveTo( 307316821852160, -28808363114496);
+ path.lineTo( 307165222928384, -28794154909696);
+ path.lineTo( 307013691113472, -28779948802048);
+ path.lineTo( 306862159298560, -28765744791552);
+ path.lineTo( 306870313025536, -28766508154880);
+ path.lineTo( 307049695019008, -28783327313920);
+ path.lineTo( 307408660332544, -28816974020608);
+ return path;
+}
+
static std::unique_ptr<GrFragmentProcessor> create_linear_gradient_processor(GrContext* ctx) {
SkPoint pts[2] = { {0, 0}, {1, 1} };
@@ -718,4 +732,5 @@ DEF_GPUTEST_FOR_ALL_CONTEXTS(TessellatingPathRendererTests, reporter, ctxInfo) {
test_path(ctx, rtc.get(), create_path_40());
test_path(ctx, rtc.get(), create_path_41(), SkMatrix(), GrAAType::kCoverage);
test_path(ctx, rtc.get(), create_path_42());
+ test_path(ctx, rtc.get(), create_path_43(), SkMatrix(), GrAAType::kCoverage);
}