Index: tests/CanvasTest.cpp |
diff --git a/tests/CanvasTest.cpp b/tests/CanvasTest.cpp |
index 26bd631de228f8128967741290bda849d7a2389c..b209d0df34a88a009ad771af1315bfac1523ba50 100644 |
--- a/tests/CanvasTest.cpp |
+++ b/tests/CanvasTest.cpp |
@@ -169,20 +169,6 @@ private: |
} |
}; |
-static bool equal_clips(const SkCanvas& a, const SkCanvas& b) { |
- if (a.isClipEmpty()) { |
- return b.isClipEmpty(); |
- } |
- if (!a.isClipRect()) { |
- // this is liberally true, since we don't expose a way to know this exactly (for non-rects) |
- return !b.isClipRect(); |
- } |
- SkIRect ar, br; |
- a.getClipDeviceBounds(&ar); |
- b.getClipDeviceBounds(&br); |
- return ar == br; |
-} |
- |
class Canvas2CanvasClipVisitor : public SkCanvas::ClipVisitor { |
public: |
Canvas2CanvasClipVisitor(SkCanvas* target) : fTarget(target) {} |
@@ -201,19 +187,6 @@ private: |
SkCanvas* fTarget; |
}; |
-static void test_clipVisitor(skiatest::Reporter* reporter, SkCanvas* canvas) { |
- SkISize size = canvas->getDeviceSize(); |
- |
- SkBitmap bm; |
- bm.setInfo(SkImageInfo::MakeN32Premul(size.width(), size.height())); |
- SkCanvas c(bm); |
- |
- Canvas2CanvasClipVisitor visitor(&c); |
- canvas->replayClips(&visitor); |
- |
- REPORTER_ASSERT(reporter, equal_clips(c, *canvas)); |
-} |
- |
static void test_clipstack(skiatest::Reporter* reporter) { |
// The clipstack is refcounted, and needs to be able to out-live the canvas if a client has |
// ref'd it. |
@@ -234,14 +207,6 @@ static void test_clipstack(skiatest::Reporter* reporter) { |
static const char* const kDefaultAssertMessageFormat = "%s"; |
static const char* const kCanvasDrawAssertMessageFormat = |
"Drawing test step %s with SkCanvas"; |
-static const char* const kNWayDrawAssertMessageFormat = |
- "Drawing test step %s with SkNWayCanvas"; |
-static const char* const kNWayStateAssertMessageFormat = |
- "test step %s, SkNWayCanvas state consistency"; |
-static const char* const kNWayIndirect1StateAssertMessageFormat = |
- "test step %s, SkNWayCanvas indirect canvas 1 state consistency"; |
-static const char* const kNWayIndirect2StateAssertMessageFormat = |
- "test step %s, SkNWayCanvas indirect canvas 2 state consistency"; |
static const char* const kPdfAssertMessageFormat = |
"PDF sanity check failed %s"; |
@@ -538,78 +503,7 @@ static void DescribeTopLayerTestStep(SkCanvas* canvas, |
TEST_STEP(DescribeTopLayer, DescribeTopLayerTestStep); |
-class CanvasTestingAccess { |
-public: |
- static bool SameState(const SkCanvas* canvas1, const SkCanvas* canvas2) { |
- SkCanvas::LayerIter layerIter1(const_cast<SkCanvas*>(canvas1), false); |
- SkCanvas::LayerIter layerIter2(const_cast<SkCanvas*>(canvas2), false); |
- while (!layerIter1.done() && !layerIter2.done()) { |
- if (layerIter1.matrix() != layerIter2.matrix()) { |
- return false; |
- } |
- if (layerIter1.clip() != layerIter2.clip()) { |
- return false; |
- } |
- if (layerIter1.paint() != layerIter2.paint()) { |
- return false; |
- } |
- if (layerIter1.x() != layerIter2.x()) { |
- return false; |
- } |
- if (layerIter1.y() != layerIter2.y()) { |
- return false; |
- } |
- layerIter1.next(); |
- layerIter2.next(); |
- } |
- if (!layerIter1.done()) { |
- return false; |
- } |
- if (!layerIter2.done()) { |
- return false; |
- } |
- return true; |
- } |
-}; |
- |
-static void AssertCanvasStatesEqual(skiatest::Reporter* reporter, const TestData& d, |
- const SkCanvas* canvas1, const SkCanvas* canvas2, |
- CanvasTestStep* testStep) { |
- REPORTER_ASSERT_MESSAGE(reporter, canvas1->getDeviceSize() == |
- canvas2->getDeviceSize(), testStep->assertMessage()); |
- REPORTER_ASSERT_MESSAGE(reporter, canvas1->getSaveCount() == |
- canvas2->getSaveCount(), testStep->assertMessage()); |
- |
- SkRect bounds1, bounds2; |
- REPORTER_ASSERT_MESSAGE(reporter, |
- canvas1->getClipBounds(&bounds1) == canvas2->getClipBounds(&bounds2), |
- testStep->assertMessage()); |
- REPORTER_ASSERT_MESSAGE(reporter, bounds1 == bounds2, |
- testStep->assertMessage()); |
- |
-#ifdef SK_SUPPORT_LEGACY_DRAWFILTER |
- REPORTER_ASSERT_MESSAGE(reporter, canvas1->getDrawFilter() == |
- canvas2->getDrawFilter(), testStep->assertMessage()); |
-#endif |
- |
- SkIRect deviceBounds1, deviceBounds2; |
- REPORTER_ASSERT_MESSAGE(reporter, |
- canvas1->getClipDeviceBounds(&deviceBounds1) == |
- canvas2->getClipDeviceBounds(&deviceBounds2), |
- testStep->assertMessage()); |
- REPORTER_ASSERT_MESSAGE(reporter, deviceBounds1 == deviceBounds2, testStep->assertMessage()); |
- REPORTER_ASSERT_MESSAGE(reporter, canvas1->getTotalMatrix() == |
- canvas2->getTotalMatrix(), testStep->assertMessage()); |
- REPORTER_ASSERT_MESSAGE(reporter, equal_clips(*canvas1, *canvas2), testStep->assertMessage()); |
- |
- REPORTER_ASSERT_MESSAGE(reporter, |
- CanvasTestingAccess::SameState(canvas1, canvas2), |
- testStep->assertMessage()); |
-} |
- |
-static void TestPdfDevice(skiatest::Reporter* reporter, |
- const TestData& d, |
- CanvasTestStep* testStep) { |
+static void TestPdfDevice(skiatest::Reporter* reporter, const TestData& d, CanvasTestStep* step) { |
SkDynamicMemoryWStream outStream; |
sk_sp<SkDocument> doc(SkDocument::MakePDF(&outStream)); |
REPORTER_ASSERT(reporter, doc); |
@@ -619,44 +513,12 @@ static void TestPdfDevice(skiatest::Reporter* reporter, |
SkCanvas* canvas = doc->beginPage(SkIntToScalar(d.fWidth), |
SkIntToScalar(d.fHeight)); |
REPORTER_ASSERT(reporter, canvas); |
- testStep->setAssertMessageFormat(kPdfAssertMessageFormat); |
- testStep->draw(canvas, d, reporter); |
+ step->setAssertMessageFormat(kPdfAssertMessageFormat); |
+ step->draw(canvas, d, reporter); |
REPORTER_ASSERT(reporter, doc->close()); |
} |
-// unused |
-static void TestNWayCanvasStateConsistency( |
- skiatest::Reporter* reporter, |
- const TestData& d, |
- CanvasTestStep* testStep, |
- const SkCanvas& referenceCanvas) { |
- |
- SkBitmap indirectStore1; |
- createBitmap(&indirectStore1, 0xFFFFFFFF); |
- SkCanvas indirectCanvas1(indirectStore1); |
- |
- SkBitmap indirectStore2; |
- createBitmap(&indirectStore2, 0xFFFFFFFF); |
- SkCanvas indirectCanvas2(indirectStore2); |
- |
- SkISize canvasSize = referenceCanvas.getDeviceSize(); |
- SkNWayCanvas nWayCanvas(canvasSize.width(), canvasSize.height()); |
- nWayCanvas.addCanvas(&indirectCanvas1); |
- nWayCanvas.addCanvas(&indirectCanvas2); |
- |
- testStep->setAssertMessageFormat(kNWayDrawAssertMessageFormat); |
- testStep->draw(&nWayCanvas, d, reporter); |
- // Verify that the SkNWayCanvas reports consitent state |
- testStep->setAssertMessageFormat(kNWayStateAssertMessageFormat); |
- AssertCanvasStatesEqual(reporter, d, &nWayCanvas, &referenceCanvas, testStep); |
- // Verify that the indirect canvases report consitent state |
- testStep->setAssertMessageFormat(kNWayIndirect1StateAssertMessageFormat); |
- AssertCanvasStatesEqual(reporter, d, &indirectCanvas1, &referenceCanvas, testStep); |
- testStep->setAssertMessageFormat(kNWayIndirect2StateAssertMessageFormat); |
- AssertCanvasStatesEqual(reporter, d, &indirectCanvas2, &referenceCanvas, testStep); |
-} |
- |
/* |
* This sub-test verifies that the test step passes when executed |
* with SkCanvas and with classes derrived from SkCanvas. It also verifies |
@@ -671,17 +533,6 @@ static void TestOverrideStateConsistency(skiatest::Reporter* reporter, const Tes |
testStep->setAssertMessageFormat(kCanvasDrawAssertMessageFormat); |
testStep->draw(&referenceCanvas, d, reporter); |
- // The following test code is disabled because SkNWayCanvas does not |
- // report correct clipping and device bounds information |
- // Issue: http://code.google.com/p/skia/issues/detail?id=501 |
- |
- if (false) { // avoid bit rot, suppress warning |
- TestNWayCanvasStateConsistency(reporter, d, testStep, referenceCanvas); |
- } |
- |
- if (false) { // avoid bit rot, suppress warning |
- test_clipVisitor(reporter, &referenceCanvas); |
- } |
test_clipstack(reporter); |
} |