diff options
author | Derek Sollenberger <djsollen@google.com> | 2017-03-01 15:33:23 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-03-02 20:16:17 +0000 |
commit | d7875f57bd5f17ac27f1cb2ace25224299ff2389 (patch) | |
tree | b3592daa34cae97c713e1e6571c694ba5690a9ff /tests/SkLiteDLTest.cpp | |
parent | c66390560ed845dbaf8656615f6a9524da643fa4 (diff) |
Refactor SkLiteDL to no longer extend SkDrawable.
Change-Id: Ieaa849bceba0e98e4c99491c721fe945a0694e68
Reviewed-on: https://skia-review.googlesource.com/9111
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Diffstat (limited to 'tests/SkLiteDLTest.cpp')
-rw-r--r-- | tests/SkLiteDLTest.cpp | 36 |
1 files changed, 28 insertions, 8 deletions
diff --git a/tests/SkLiteDLTest.cpp b/tests/SkLiteDLTest.cpp index 96046ccc8a..514464aaf9 100644 --- a/tests/SkLiteDLTest.cpp +++ b/tests/SkLiteDLTest.cpp @@ -10,21 +10,41 @@ #include "SkLiteRecorder.h" DEF_TEST(SkLiteDL_basics, r) { - sk_sp<SkLiteDL> p { SkLiteDL::New({2,2,3,3}) }; + SkLiteDL p; + p.save(); + p.clipRect(SkRect{2,3,4,5}, kIntersect_SkClipOp, true); + p.drawRect(SkRect{0,0,9,9}, SkPaint{}); + p.restore(); +} - p->save(); - p->clipRect(SkRect{2,3,4,5}, kIntersect_SkClipOp, true); - p->drawRect(SkRect{0,0,9,9}, SkPaint{}); - p->restore(); +DEF_TEST(SkLiteDL_unbalanced, r) { + SkLiteRecorder rec; + SkCanvas* c = &rec; + + SkLiteDL p; + rec.reset(&p, {2,2,3,3}); + c->save(); + c->scale(2,2); + c->save(); + c->translate(1,1); + // missing restore() but SkLiteDL::draw should balance it for us + c->restore(); + + // reinit the recorder so we can playback the original SkLiteDL + SkLiteDL p2; + rec.reset(&p2, {2,2,3,3}); + + REPORTER_ASSERT(r, 1 == rec.getSaveCount()); + p.draw(c); + REPORTER_ASSERT(r, 1 == rec.getSaveCount()); } DEF_TEST(SkLiteRecorder, r) { - sk_sp<SkLiteDL> p { SkLiteDL::New({2,2,3,3}) }; - + SkLiteDL p; SkLiteRecorder rec; SkCanvas* c = &rec; - rec.reset(p.get()); + rec.reset(&p, {2,2,3,3}); c->save(); c->clipRect(SkRect{2,3,4,5}, kIntersect_SkClipOp, true); |