| Index: tests/PathOpsBuilderTest.cpp
|
| diff --git a/tests/PathOpsBuilderTest.cpp b/tests/PathOpsBuilderTest.cpp
|
| index 8547d850484262175c4424f795d67417349089f3..e658cf49e748fd75333ae7f8e18dc86936b2775f 100644
|
| --- a/tests/PathOpsBuilderTest.cpp
|
| +++ b/tests/PathOpsBuilderTest.cpp
|
| @@ -344,3 +344,63 @@ DEF_TEST(SkOpBuilder618991, reporter) {
|
| builder.add(path1, SkPathOp::kUnion_SkPathOp);
|
| builder.resolve(&path0);
|
| }
|
| +
|
| +DEF_TEST(SkOpBuilder623072, reporter) {
|
| + SkOpBuilder builder;
|
| + SkPath path;
|
| +
|
| + builder.add(path, SkPathOp::kDifference_SkPathOp);
|
| +
|
| + builder.add(path, SkPathOp::kIntersect_SkPathOp);
|
| +
|
| + path.moveTo(0, 0);
|
| + path.lineTo(1.50606e+13f, 1.43144e-13f);
|
| + path.conicTo(-2.04889f, 3.04132e+35f, 9.69467e-12f, 1.5954e+13f, 4.87407e+16f);
|
| + path.lineTo(1.43144e-13f, 4.7323e-37f);
|
| + path.conicTo(3.04132e+35f, 5.77848e-19f, 4.61198e-19f, 1.64987e+07f, 121589);
|
| + path.lineTo(0, 0);
|
| + path.close();
|
| + path.moveTo(0, 0);
|
| + path.quadTo(-1.2117e+19f, 0.00105459f, -8.10388e-33f, 0.00148185f);
|
| + path.lineTo(0, 0);
|
| + path.close();
|
| + builder.add(path, SkPathOp::kIntersect_SkPathOp);
|
| + path.reset();
|
| +
|
| + path.moveTo(0, 0);
|
| + path.lineTo(300.343f, 2.36623e-15f);
|
| + builder.add(path, SkPathOp::kUnion_SkPathOp);
|
| + path.reset();
|
| +
|
| + path.moveTo(5.78315e-19f, 4.7323e-37f);
|
| + path.lineTo(1.51217e-18f, -3.85756e-23f);
|
| + path.quadTo(9.2831e-15f, -1.85547e+23f, 1.79534e-28f, 2.36623e-15f);
|
| + builder.add(path, SkPathOp::kDifference_SkPathOp);
|
| + path.reset();
|
| +
|
| + builder.add(path, SkPathOp::kDifference_SkPathOp);
|
| +
|
| + builder.add(path, SkPathOp::kDifference_SkPathOp);
|
| +
|
| + builder.add(path, SkPathOp::kDifference_SkPathOp);
|
| +
|
| + path.moveTo(0, 0);
|
| + path.conicTo(2.49282e-13f, 4.78968e-34f, 1.99397e+36f, -4.84373e+27f, 3.41283e-20f);
|
| + path.lineTo(1.99397e+36f, -4.84373e+27f);
|
| + path.lineTo(9.4495e-15f, 0.000617492f);
|
| + path.lineTo(0, 0);
|
| + path.close();
|
| + path.moveTo(0, 0);
|
| + path.quadTo(-8.10388e-33f, 0.00148185f, 2.25206e-21f, 5.54035e+21f);
|
| + path.moveTo(3.71183e-14f, 3.13044e-13f);
|
| + path.quadTo(2.22225e-15f, 0.000615227f, -1.2117e+19f, -8.43217e-33f);
|
| + path.quadTo(1.11596e-05f, 1.35329e-19f, 2.98959e-15f, 2.8457e+15f);
|
| + path.quadTo(2.22225e-15f, 0.000615227f, -1.2117e+19f, 0.00105459f);
|
| + path.cubicTo(1.11598e-05f, 1.35327e-19f, 2.00186e+11f, 2.9896e-15f, 2.8457e+15f, 5.64327e+10f);
|
| + path.quadTo(-2.56957e+15f, 1.15242e-14f, -6.4318e-08f, 0.000712428f);
|
| + path.lineTo(-140445, 7.82294e-14f);
|
| + builder.add(path, SkPathOp::kIntersect_SkPathOp);
|
| +
|
| + SkPath result;
|
| + builder.resolve(&result);
|
| +}
|
|
|