From 4b6566644f704cf9e30c71fa547c9b5915752792 Mon Sep 17 00:00:00 2001 From: halcanary Date: Wed, 27 Apr 2016 07:45:18 -0700 Subject: 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 --- tests/PDFMetadataAttributeTest.cpp | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) (limited to 'tests/PDFMetadataAttributeTest.cpp') 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 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 doc = SkDocument::MakePDF(&pdf, SK_ScalarDefaultRasterDPI, + metadata, nullptr, false); doc->beginPage(612.0f, 792.0f); doc->close(); SkAutoTUnref 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; } -- cgit v1.2.3