Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(789)

Side by Side Diff: tests/CanvasTest.cpp

Issue 968683002: PDF: Switch some unit tests to higher level API. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests/AnnotationTest.cpp ('k') | tests/PDFPrimitivesTest.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2012 Google Inc. 2 * Copyright 2012 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 /* Description: 8 /* Description:
9 * This test defines a series of elementatry test steps that perform 9 * This test defines a series of elementatry test steps that perform
10 * a single or a small group of canvas API calls. Each test step is 10 * a single or a small group of canvas API calls. Each test step is
(...skipping 29 matching lines...) Expand all
40 * SIMPLE_TEST_STEP(MytestStep, someCanvasAPIMethod()); 40 * SIMPLE_TEST_STEP(MytestStep, someCanvasAPIMethod());
41 * 41 *
42 * There is another macro called SIMPLE_TEST_STEP_WITH_ASSERT that 42 * There is another macro called SIMPLE_TEST_STEP_WITH_ASSERT that
43 * works the same way as SIMPLE_TEST_STEP, and additionally verifies 43 * works the same way as SIMPLE_TEST_STEP, and additionally verifies
44 * that the invoked method returns a non-zero value. 44 * that the invoked method returns a non-zero value.
45 */ 45 */
46 #include "SkBitmap.h" 46 #include "SkBitmap.h"
47 #include "SkCanvas.h" 47 #include "SkCanvas.h"
48 #include "SkDeferredCanvas.h" 48 #include "SkDeferredCanvas.h"
49 #include "SkDevice.h" 49 #include "SkDevice.h"
50 #include "SkDocument.h"
50 #include "SkMatrix.h" 51 #include "SkMatrix.h"
51 #include "SkNWayCanvas.h" 52 #include "SkNWayCanvas.h"
52 #include "SkPDFCanon.h"
53 #include "SkPDFDevice.h"
54 #include "SkPDFDocument.h"
55 #include "SkPaint.h" 53 #include "SkPaint.h"
56 #include "SkPath.h" 54 #include "SkPath.h"
57 #include "SkPicture.h" 55 #include "SkPicture.h"
58 #include "SkPictureRecord.h" 56 #include "SkPictureRecord.h"
59 #include "SkPictureRecorder.h" 57 #include "SkPictureRecorder.h"
60 #include "SkRect.h" 58 #include "SkRect.h"
61 #include "SkRegion.h" 59 #include "SkRegion.h"
62 #include "SkShader.h" 60 #include "SkShader.h"
63 #include "SkStream.h" 61 #include "SkStream.h"
64 #include "SkSurface.h" 62 #include "SkSurface.h"
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after
551 REPORTER_ASSERT_MESSAGE(reporter, layerIter1.done(), 549 REPORTER_ASSERT_MESSAGE(reporter, layerIter1.done(),
552 testStep->assertMessage()); 550 testStep->assertMessage());
553 REPORTER_ASSERT_MESSAGE(reporter, layerIter2.done(), 551 REPORTER_ASSERT_MESSAGE(reporter, layerIter2.done(),
554 testStep->assertMessage()); 552 testStep->assertMessage());
555 553
556 } 554 }
557 555
558 static void TestPdfDevice(skiatest::Reporter* reporter, 556 static void TestPdfDevice(skiatest::Reporter* reporter,
559 const TestData& d, 557 const TestData& d,
560 CanvasTestStep* testStep) { 558 CanvasTestStep* testStep) {
561 SkISize pageSize = SkISize::Make(d.fWidth, d.fHeight); 559 SkDynamicMemoryWStream outStream;
562 SkPDFCanon canon; 560 SkAutoTUnref<SkDocument> doc(SkDocument::CreatePDF(&outStream));
563 SkAutoTUnref<SkPDFDevice> pdfDevice( 561 SkCanvas* canvas = doc->beginPage(SkIntToScalar(d.fWidth),
564 SkPDFDevice::Create(pageSize, 72.0f, &canon)); 562 SkIntToScalar(d.fHeight));
565 SkCanvas canvas(pdfDevice.get()); 563 REPORTER_ASSERT(reporter, canvas);
566 testStep->setAssertMessageFormat(kPdfAssertMessageFormat); 564 testStep->setAssertMessageFormat(kPdfAssertMessageFormat);
567 testStep->draw(&canvas, d, reporter); 565 testStep->draw(canvas, d, reporter);
568 SkPDFDocument doc; 566
569 doc.appendPage(pdfDevice.get()); 567 REPORTER_ASSERT(reporter, doc->close());
570 SkDynamicMemoryWStream stream;
571 doc.emitPDF(&stream);
572 } 568 }
573 569
574 // The following class groups static functions that need to access 570 // The following class groups static functions that need to access
575 // the privates members of SkDeferredCanvas 571 // the privates members of SkDeferredCanvas
576 class SkDeferredCanvasTester { 572 class SkDeferredCanvasTester {
577 public: 573 public:
578 static void TestDeferredCanvasStateConsistency( 574 static void TestDeferredCanvasStateConsistency(
579 skiatest::Reporter* reporter, 575 skiatest::Reporter* reporter,
580 const TestData& d, 576 const TestData& d,
581 CanvasTestStep* testStep, 577 CanvasTestStep* testStep,
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
744 740
745 n = canvas.saveLayer(NULL, NULL); 741 n = canvas.saveLayer(NULL, NULL);
746 REPORTER_ASSERT(reporter, 2 == n); 742 REPORTER_ASSERT(reporter, 2 == n);
747 REPORTER_ASSERT(reporter, 3 == canvas.getSaveCount()); 743 REPORTER_ASSERT(reporter, 3 == canvas.getSaveCount());
748 744
749 canvas.restore(); 745 canvas.restore();
750 REPORTER_ASSERT(reporter, 2 == canvas.getSaveCount()); 746 REPORTER_ASSERT(reporter, 2 == canvas.getSaveCount());
751 canvas.restore(); 747 canvas.restore();
752 REPORTER_ASSERT(reporter, 1 == canvas.getSaveCount()); 748 REPORTER_ASSERT(reporter, 1 == canvas.getSaveCount());
753 } 749 }
OLDNEW
« no previous file with comments | « tests/AnnotationTest.cpp ('k') | tests/PDFPrimitivesTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698