| Index: tests/GrShapeTest.cpp
|
| diff --git a/tests/GrShapeTest.cpp b/tests/GrShapeTest.cpp
|
| index 23ebe8a3da09714eacd38de7c7b59396b62a02f5..e03570564ac8ff1cbaaefc446cc256e6737d1bef 100644
|
| --- a/tests/GrShapeTest.cpp
|
| +++ b/tests/GrShapeTest.cpp
|
| @@ -251,6 +251,34 @@ static void test_basic(skiatest::Reporter* reporter, const GEO& geo) {
|
| stroke2RoundBevelCase.compare(reporter, stroke2RoundBevelDashCase,
|
| TestCase::kSameUpToPE_ComparisonExpecation);
|
|
|
| + // Stroke and fill cases
|
| + SkPaint stroke2RoundBevelAndFill = stroke2RoundBevel;
|
| + stroke2RoundBevelAndFill.setStyle(SkPaint::kStrokeAndFill_Style);
|
| + TestCase stroke2RoundBevelAndFillCase(geo, stroke2RoundBevelAndFill, reporter);
|
| + expectations.fPEHasValidKey = true;
|
| + expectations.fPEHasEffect = false;
|
| + expectations.fStrokeApplies = true;
|
| + stroke2RoundBevelAndFillCase.testExpectations(reporter, expectations);
|
| + TestCase(geo, stroke2RoundBevelAndFill, reporter).compare(reporter,
|
| + stroke2RoundBevelAndFillCase, TestCase::kAllSame_ComparisonExpecation);
|
| +
|
| + SkPaint stroke2RoundBevelAndFillDash = stroke2RoundBevelDash;
|
| + stroke2RoundBevelAndFillDash.setStyle(SkPaint::kStrokeAndFill_Style);
|
| + TestCase stroke2RoundBevelAndFillDashCase(geo, stroke2RoundBevelAndFillDash, reporter);
|
| + expectations.fPEHasValidKey = true;
|
| + expectations.fPEHasEffect = true;
|
| + expectations.fStrokeApplies = true;
|
| + stroke2RoundBevelAndFillDashCase.testExpectations(reporter, expectations);
|
| + TestCase(geo, stroke2RoundBevelAndFillDash, reporter).compare(
|
| + reporter, stroke2RoundBevelAndFillDashCase, TestCase::kAllSame_ComparisonExpecation);
|
| +
|
| + stroke2RoundBevelAndFillCase.compare(reporter, stroke2RoundBevelCase,
|
| + TestCase::kSameUpToStroke_ComparisonExpecation);
|
| + stroke2RoundBevelAndFillDashCase.compare(reporter, stroke2RoundBevelDashCase,
|
| + TestCase::kSameUpToStroke_ComparisonExpecation);
|
| + stroke2RoundBevelAndFillCase.compare(reporter, stroke2RoundBevelAndFillDashCase,
|
| + TestCase::kSameUpToPE_ComparisonExpecation);
|
| +
|
| SkPaint hairline;
|
| hairline.setStyle(SkPaint::kStroke_Style);
|
| hairline.setStrokeWidth(0.f);
|
| @@ -286,6 +314,20 @@ static void test_stroke_param_impl(skiatest::Reporter* reporter, const GEO& geo,
|
| strokeACase.compare(reporter, strokeBCase, TestCase::kAllSame_ComparisonExpecation);
|
| }
|
|
|
| + SkPaint strokeAndFillA = strokeA;
|
| + SkPaint strokeAndFillB = strokeB;
|
| + strokeAndFillA.setStyle(SkPaint::kStrokeAndFill_Style);
|
| + strokeAndFillB.setStyle(SkPaint::kStrokeAndFill_Style);
|
| + TestCase strokeAndFillACase(geo, strokeAndFillA, reporter);
|
| + TestCase strokeAndFillBCase(geo, strokeAndFillB, reporter);
|
| + if (paramAffectsStroke) {
|
| + strokeAndFillACase.compare(reporter, strokeAndFillBCase,
|
| + TestCase::kSameUpToStroke_ComparisonExpecation);
|
| + } else {
|
| + strokeAndFillACase.compare(reporter, strokeAndFillBCase,
|
| + TestCase::kAllSame_ComparisonExpecation);
|
| + }
|
| +
|
| // Make sure stroking params don't affect fill style.
|
| SkPaint fillA = strokeA, fillB = strokeB;
|
| fillA.setStyle(SkPaint::kFill_Style);
|
| @@ -306,6 +348,19 @@ static void test_stroke_param_impl(skiatest::Reporter* reporter, const GEO& geo,
|
| } else {
|
| dashACase.compare(reporter, dashBCase, TestCase::kAllSame_ComparisonExpecation);
|
| }
|
| +
|
| + SkPaint dashStrokeAndFillA = dashA, dashStrokeAndFillB = dashB;
|
| + dashStrokeAndFillA.setStyle(SkPaint::kStrokeAndFill_Style);
|
| + dashStrokeAndFillB.setStyle(SkPaint::kStrokeAndFill_Style);
|
| + TestCase dashStrokeAndFillACase(geo, dashStrokeAndFillA, reporter);
|
| + TestCase dashStrokeAndFillBCase(geo, dashStrokeAndFillB, reporter);
|
| + if (paramAffectsDashAndStroke) {
|
| + dashStrokeAndFillACase.compare(reporter, dashStrokeAndFillBCase,
|
| + TestCase::kSameUpToStroke_ComparisonExpecation);
|
| + } else {
|
| + dashStrokeAndFillACase.compare(reporter, dashStrokeAndFillBCase,
|
| + TestCase::kAllSame_ComparisonExpecation);
|
| + }
|
| }
|
|
|
| template <typename GEO, typename T>
|
|
|