Index: tests/CanvasTest.cpp |
diff --git a/tests/CanvasTest.cpp b/tests/CanvasTest.cpp |
index 70c2c04ffabf511239239fe8fe3cf91ab78582af..afbaf8650936d016b759de6368b7b389dd93726e 100644 |
--- a/tests/CanvasTest.cpp |
+++ b/tests/CanvasTest.cpp |
@@ -779,6 +779,27 @@ DEF_TEST(Canvas_ClipEmptyPath, reporter) { |
canvas.restore(); |
} |
+class SkTestCanvas : public SkCanvas { |
+public: |
+ void testUpdateDepth(skiatest::Reporter* reporter) { |
+ // set some depths (with picture enabled), then check them as they get set |
+ |
+ REPORTER_ASSERT(reporter, this->getZ() == 0); |
+ this->translateZ(-10); |
+ REPORTER_ASSERT(reporter, this->getZ() == -10); |
+ |
+ this->save(); |
+ this->translateZ(20); |
+ REPORTER_ASSERT(reporter, this->getZ() == 10); |
+ |
+ this->restore(); |
+ REPORTER_ASSERT(reporter, this->getZ() == -10); |
+ |
+ this->translateZ(13.14f); |
+ REPORTER_ASSERT(reporter, SkScalarNearlyEqual(this->getZ(),3.14f)); |
+ } |
+}; |
+ |
namespace { |
class MockFilterCanvas : public SkPaintFilterCanvas { |
@@ -812,4 +833,9 @@ DEF_TEST(PaintFilterCanvas_ConsistentState, reporter) { |
REPORTER_ASSERT(reporter, canvas.getTotalMatrix() == filterCanvas.getTotalMatrix()); |
REPORTER_ASSERT(reporter, canvas.getClipBounds(&clip1) == filterCanvas.getClipBounds(&clip2)); |
REPORTER_ASSERT(reporter, clip1 == clip2); |
+ |
+ SkTestCanvas* tCanvas; |
+ |
+ tCanvas = (SkTestCanvas*) new SkCanvas(100,100); |
+ tCanvas->testUpdateDepth(reporter); |
} |