diff options
author | halcanary <halcanary@google.com> | 2016-04-27 07:45:18 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-04-27 07:45:18 -0700 |
commit | 4b6566644f704cf9e30c71fa547c9b5915752792 (patch) | |
tree | f670fd01006423b2282ce74a80921aea121a77cf /tests | |
parent | d1556071715d28217b7c64774335fcce2cbf46c6 (diff) |
SkDocument/PDF: new API
has a pdf/a switch.
sets metadata in factory.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1916093002
Review URL: https://codereview.chromium.org/1916093002
Diffstat (limited to 'tests')
-rw-r--r-- | tests/AnnotationTest.cpp | 4 | ||||
-rw-r--r-- | tests/CanvasTest.cpp | 2 | ||||
-rw-r--r-- | tests/PDFDocumentTest.cpp | 22 | ||||
-rw-r--r-- | tests/PDFInvalidBitmapTest.cpp | 2 | ||||
-rw-r--r-- | tests/PDFJpegEmbedTest.cpp | 4 | ||||
-rw-r--r-- | tests/PDFMetadataAttributeTest.cpp | 37 | ||||
-rw-r--r-- | tests/PDFOpaqueSrcModeToSrcOverTest.cpp | 2 | ||||
-rw-r--r-- | tests/PDFPrimitivesTest.cpp | 4 | ||||
-rw-r--r-- | tests/Test.h | 16 |
9 files changed, 48 insertions, 45 deletions
diff --git a/tests/AnnotationTest.cpp b/tests/AnnotationTest.cpp index d9d971a7a0..400d4887bd 100644 --- a/tests/AnnotationTest.cpp +++ b/tests/AnnotationTest.cpp @@ -41,7 +41,7 @@ DEF_TEST(Annotation_NoDraw, reporter) { DEF_TEST(Annotation_PdfLink, reporter) { REQUIRE_PDF_DOCUMENT(Annotation_PdfLink, reporter); SkDynamicMemoryWStream outStream; - SkAutoTUnref<SkDocument> doc(SkDocument::CreatePDF(&outStream)); + sk_sp<SkDocument> doc(SkDocument::MakePDF(&outStream)); SkCanvas* canvas = doc->beginPage(612.0f, 792.0f); REPORTER_ASSERT(reporter, canvas); @@ -60,7 +60,7 @@ DEF_TEST(Annotation_PdfLink, reporter) { DEF_TEST(Annotation_NamedDestination, reporter) { REQUIRE_PDF_DOCUMENT(Annotation_NamedDestination, reporter); SkDynamicMemoryWStream outStream; - SkAutoTUnref<SkDocument> doc(SkDocument::CreatePDF(&outStream)); + sk_sp<SkDocument> doc(SkDocument::MakePDF(&outStream)); SkCanvas* canvas = doc->beginPage(612.0f, 792.0f); REPORTER_ASSERT(reporter, canvas); diff --git a/tests/CanvasTest.cpp b/tests/CanvasTest.cpp index 284e3cdedb..f22b7d0e25 100644 --- a/tests/CanvasTest.cpp +++ b/tests/CanvasTest.cpp @@ -570,7 +570,7 @@ static void TestPdfDevice(skiatest::Reporter* reporter, const TestData& d, CanvasTestStep* testStep) { SkDynamicMemoryWStream outStream; - SkAutoTUnref<SkDocument> doc(SkDocument::CreatePDF(&outStream)); + sk_sp<SkDocument> doc(SkDocument::MakePDF(&outStream)); #if SK_SUPPORT_PDF REPORTER_ASSERT(reporter, doc); #else diff --git a/tests/PDFDocumentTest.cpp b/tests/PDFDocumentTest.cpp index 98d1864df1..b763742b06 100644 --- a/tests/PDFDocumentTest.cpp +++ b/tests/PDFDocumentTest.cpp @@ -16,7 +16,7 @@ static void test_empty(skiatest::Reporter* reporter) { SkDynamicMemoryWStream stream; - SkAutoTUnref<SkDocument> doc(SkDocument::CreatePDF(&stream)); + sk_sp<SkDocument> doc(SkDocument::MakePDF(&stream)); doc->close(); @@ -25,7 +25,7 @@ static void test_empty(skiatest::Reporter* reporter) { static void test_abort(skiatest::Reporter* reporter) { SkDynamicMemoryWStream stream; - SkAutoTUnref<SkDocument> doc(SkDocument::CreatePDF(&stream)); + sk_sp<SkDocument> doc(SkDocument::MakePDF(&stream)); SkCanvas* canvas = doc->beginPage(100, 100); canvas->drawColor(SK_ColorRED); @@ -50,7 +50,7 @@ static void test_abortWithFile(skiatest::Reporter* reporter) { // Make sure doc's destructor is called to flush. { - SkAutoTUnref<SkDocument> doc(SkDocument::CreatePDF(path.c_str())); + sk_sp<SkDocument> doc(SkDocument::MakePDF(path.c_str())); SkCanvas* canvas = doc->beginPage(100, 100); canvas->drawColor(SK_ColorRED); @@ -76,7 +76,7 @@ static void test_file(skiatest::Reporter* reporter) { SkString path = SkOSPath::Join(tmpDir.c_str(), "file.pdf"); - SkAutoTUnref<SkDocument> doc(SkDocument::CreatePDF(path.c_str())); + sk_sp<SkDocument> doc(SkDocument::MakePDF(path.c_str())); SkCanvas* canvas = doc->beginPage(100, 100); @@ -94,7 +94,7 @@ static void test_file(skiatest::Reporter* reporter) { static void test_close(skiatest::Reporter* reporter) { SkDynamicMemoryWStream stream; - SkAutoTUnref<SkDocument> doc(SkDocument::CreatePDF(&stream)); + sk_sp<SkDocument> doc(SkDocument::MakePDF(&stream)); SkCanvas* canvas = doc->beginPage(100, 100); canvas->drawColor(SK_ColorRED); @@ -132,13 +132,13 @@ class JPEGSerializer final : public SkPixelSerializer { size_t count_bytes(const SkBitmap& bm, bool useDCT) { SkDynamicMemoryWStream stream; - SkAutoTUnref<SkDocument> doc; + sk_sp<SkDocument> doc; if (useDCT) { - SkAutoTUnref<SkPixelSerializer> serializer(new JPEGSerializer); - doc.reset(SkDocument::CreatePDF( - &stream, SK_ScalarDefaultRasterDPI, serializer)); + doc = SkDocument::MakePDF(&stream, SK_ScalarDefaultRasterDPI, + SkDocument::PDFMetadata(), + sk_make_sp<JPEGSerializer>(), false); } else { - doc.reset(SkDocument::CreatePDF(&stream)); + doc = SkDocument::MakePDF(&stream); } SkCanvas* canvas = doc->beginPage(64, 64); canvas->drawBitmap(bm, 0, 0); @@ -159,7 +159,7 @@ DEF_TEST(document_dct_encoder, r) { DEF_TEST(document_skbug_4734, r) { REQUIRE_PDF_DOCUMENT(document_skbug_4734, r); SkDynamicMemoryWStream stream; - SkAutoTUnref<SkDocument> doc(SkDocument::CreatePDF(&stream)); + sk_sp<SkDocument> doc(SkDocument::MakePDF(&stream)); SkCanvas* canvas = doc->beginPage(64, 64); canvas->scale(10000.0f, 10000.0f); canvas->translate(20.0f, 10.0f); diff --git a/tests/PDFInvalidBitmapTest.cpp b/tests/PDFInvalidBitmapTest.cpp index 57e51f07c4..c9685f7893 100644 --- a/tests/PDFInvalidBitmapTest.cpp +++ b/tests/PDFInvalidBitmapTest.cpp @@ -45,7 +45,7 @@ SkBitmap make_invalid_bitmap(SkColorType colorType) { DEF_TEST(PDFInvalidBitmap, reporter) { SkDynamicMemoryWStream stream; - SkAutoTUnref<SkDocument> document(SkDocument::CreatePDF(&stream)); + sk_sp<SkDocument> document(SkDocument::MakePDF(&stream)); SkCanvas* canvas = document->beginPage(100, 100); canvas->drawBitmap(SkBitmap(), 0, 0); diff --git a/tests/PDFJpegEmbedTest.cpp b/tests/PDFJpegEmbedTest.cpp index 2dcbdd05d8..5ef4a2dbfc 100644 --- a/tests/PDFJpegEmbedTest.cpp +++ b/tests/PDFJpegEmbedTest.cpp @@ -63,7 +63,7 @@ DEF_TEST(PDFJpegEmbedTest, r) { } //////////////////////////////////////////////////////////////////////////// SkDynamicMemoryWStream pdf; - SkAutoTUnref<SkDocument> document(SkDocument::CreatePDF(&pdf)); + sk_sp<SkDocument> document(SkDocument::MakePDF(&pdf)); SkCanvas* canvas = document->beginPage(642, 1028); canvas->clear(SK_ColorLTGRAY); @@ -87,7 +87,7 @@ DEF_TEST(PDFJpegEmbedTest, r) { REPORTER_ASSERT(r, !is_subset_of(cmykData.get(), pdfData.get())); //////////////////////////////////////////////////////////////////////////// pdf.reset(); - document.reset(SkDocument::CreatePDF(&pdf)); + document = SkDocument::MakePDF(&pdf); canvas = document->beginPage(642, 1028); canvas->clear(SK_ColorLTGRAY); diff --git a/tests/PDFMetadataAttributeTest.cpp b/tests/PDFMetadataAttributeTest.cpp index 6a5aca76f7..2d43d30d7c 100644 --- a/tests/PDFMetadataAttributeTest.cpp +++ b/tests/PDFMetadataAttributeTest.cpp @@ -9,22 +9,24 @@ #include "SkData.h" #include "Test.h" -DEF_TEST(SkPDF_MetadataAttribute, r) { - REQUIRE_PDF_DOCUMENT(SkPDF_MetadataAttribute, r); - SkDynamicMemoryWStream pdf; - SkAutoTUnref<SkDocument> doc(SkDocument::CreatePDF(&pdf)); - typedef SkDocument::Attribute Attr; - Attr info[] = { - Attr(SkString("Title"), SkString("A1")), - Attr(SkString("Author"), SkString("A2")), - Attr(SkString("Subject"), SkString("A3")), - Attr(SkString("Keywords"), SkString("A4")), - Attr(SkString("Creator"), SkString("A5")), - }; - int infoCount = sizeof(info) / sizeof(info[0]); +DEF_TEST(SkPDF_Metadata, r) { + REQUIRE_PDF_DOCUMENT(SkPDF_Metadata, r); SkTime::DateTime now; SkTime::GetDateTime(&now); - doc->setMetadata(&info[0], infoCount, &now, &now); + SkDocument::PDFMetadata metadata; + metadata.fTitle = "A1"; + metadata.fAuthor = "A2"; + metadata.fSubject = "A3"; + metadata.fKeywords = "A4"; + metadata.fCreator = "A5"; + metadata.fCreation.fEnabled = true; + metadata.fCreation.fDateTime = now; + metadata.fModified.fEnabled = true; + metadata.fModified.fDateTime = now; + + SkDynamicMemoryWStream pdf; + sk_sp<SkDocument> doc = SkDocument::MakePDF(&pdf, SK_ScalarDefaultRasterDPI, + metadata, nullptr, false); doc->beginPage(612.0f, 792.0f); doc->close(); SkAutoTUnref<SkData> data(pdf.copyToData()); @@ -38,12 +40,13 @@ DEF_TEST(SkPDF_MetadataAttribute, r) { "/CreationDate (D:", "/ModDate (D:" }; + const uint8_t* bytes = data->bytes(); for (const char* expectation : expectations) { + size_t len = strlen(expectation); bool found = false; - size_t N = 1 + data->size() - strlen(expectation); + size_t N = 1 + data->size() - len; for (size_t i = 0; i < N; ++i) { - if (0 == memcmp(data->bytes() + i, - expectation, strlen(expectation))) { + if (0 == memcmp(bytes + i, expectation, len)) { found = true; break; } diff --git a/tests/PDFOpaqueSrcModeToSrcOverTest.cpp b/tests/PDFOpaqueSrcModeToSrcOverTest.cpp index 156856c0da..76796f5500 100644 --- a/tests/PDFOpaqueSrcModeToSrcOverTest.cpp +++ b/tests/PDFOpaqueSrcModeToSrcOverTest.cpp @@ -10,7 +10,7 @@ #include "Test.h" static void run_test(SkWStream* out, SkXfermode::Mode mode, U8CPU alpha) { - SkAutoTUnref<SkDocument> pdfDoc(SkDocument::CreatePDF(out)); + sk_sp<SkDocument> pdfDoc(SkDocument::MakePDF(out)); SkCanvas* c = pdfDoc->beginPage(612.0f, 792.0f); SkPaint black; SkPaint background; diff --git a/tests/PDFPrimitivesTest.cpp b/tests/PDFPrimitivesTest.cpp index 299fcf0d21..58dd773fb8 100644 --- a/tests/PDFPrimitivesTest.cpp +++ b/tests/PDFPrimitivesTest.cpp @@ -179,7 +179,7 @@ static void TestSubstitute(skiatest::Reporter* reporter) { // and there is no assert on input data in Debug mode. static void test_issue1083() { SkDynamicMemoryWStream outStream; - sk_sp<SkDocument> doc(SkDocument::CreatePDF(&outStream)); + sk_sp<SkDocument> doc(SkDocument::MakePDF(&outStream)); SkCanvas* canvas = doc->beginPage(100.0f, 100.0f); SkPaint paint; paint.setTextEncoding(SkPaint::kGlyphID_TextEncoding); @@ -408,7 +408,7 @@ void DummyImageFilter::toString(SkString* str) const { // CPU rasterization. DEF_TEST(PDFImageFilter, reporter) { SkDynamicMemoryWStream stream; - sk_sp<SkDocument> doc(SkDocument::CreatePDF(&stream)); + sk_sp<SkDocument> doc(SkDocument::MakePDF(&stream)); SkCanvas* canvas = doc->beginPage(100.0f, 100.0f); sk_sp<DummyImageFilter> filter(DummyImageFilter::Make()); diff --git a/tests/Test.h b/tests/Test.h index 90a0139f56..2a1e20fff2 100644 --- a/tests/Test.h +++ b/tests/Test.h @@ -182,14 +182,14 @@ private: #define DEF_GPUTEST_FOR_VULKAN_CONTEXT(name, reporter, context_info) \ DEF_GPUTEST_FOR_CONTEXTS(name, &skiatest::IsVulkanContextType, reporter, context_info) -#define REQUIRE_PDF_DOCUMENT(TEST_NAME, REPORTER) \ - do { \ - SkDynamicMemoryWStream testStream; \ - SkAutoTUnref<SkDocument> testDoc(SkDocument::CreatePDF(&testStream)); \ - if (!testDoc) { \ - INFOF(REPORTER, "PDF disabled; %s test skipped.", #TEST_NAME); \ - return; \ - } \ +#define REQUIRE_PDF_DOCUMENT(TEST_NAME, REPORTER) \ + do { \ + SkDynamicMemoryWStream testStream; \ + sk_sp<SkDocument> testDoc(SkDocument::MakePDF(&testStream)); \ + if (!testDoc) { \ + INFOF(REPORTER, "PDF disabled; %s test skipped.", #TEST_NAME); \ + return; \ + } \ } while (false) #endif |