diff options
author | caryclark <caryclark@google.com> | 2016-03-18 04:44:23 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-18 04:44:23 -0700 |
commit | 5e1a24808415df2748822e8082e21a361362cdfe (patch) | |
tree | 84ae073681487073f6ed1b0ae3e7f1c84f4ac9ce /tests/DashPathEffectTest.cpp | |
parent | 05849018c85403a34b88819db1c4bcf713b70a2b (diff) |
allow one zero length dash
If the constructed stroke that represents a dash has a
single dash of length zero, and the end cap is square or
round, draw the cap.
The old code initialized the initial dash length to zero,
making it ambiguous whether the first length is zero or
not.
R=robertphillips@google.com
BUG=583299
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1805963002
Review URL: https://codereview.chromium.org/1805963002
Diffstat (limited to 'tests/DashPathEffectTest.cpp')
-rw-r--r-- | tests/DashPathEffectTest.cpp | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/tests/DashPathEffectTest.cpp b/tests/DashPathEffectTest.cpp index 68fce9a142..fa2395ef75 100644 --- a/tests/DashPathEffectTest.cpp +++ b/tests/DashPathEffectTest.cpp @@ -12,20 +12,15 @@ #include "SkStrokeRec.h" // crbug.com/348821 was rooted in SkDashPathEffect refusing to flatten and unflatten itself when -// fInitialDashLength < 0 (a signal the effect is nonsense). Here we test that it flattens. +// the effect is nonsense. Here we test that it fails when passed nonsense parameters. DEF_TEST(DashPathEffectTest_crbug_348821, r) { SkScalar intervals[] = { 1.76934361e+36f, 2.80259693e-45f }; // Values from bug. const int count = 2; - SkScalar phase = SK_ScalarInfinity; // Used to force the bad fInitialDashLength = -1 path. + SkScalar phase = SK_ScalarInfinity; // Used to force a nonsense effect. SkAutoTUnref<SkPathEffect> dash(SkDashPathEffect::Create(intervals, count, phase)); - // nullptr -> refuses to work with flattening framework. - REPORTER_ASSERT(r, dash->getFactory() != nullptr); - - SkWriteBuffer buffer; - buffer.writeFlattenable(dash); - REPORTER_ASSERT(r, buffer.bytesWritten() > 12); // We'd write 12 if broken, >=40 if not. + REPORTER_ASSERT(r, dash == nullptr); } // Test out the asPoint culling behavior. |