aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
authorGravatar halcanary <halcanary@google.com>2016-04-27 07:45:18 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-04-27 07:45:18 -0700
commit4b6566644f704cf9e30c71fa547c9b5915752792 (patch)
treef670fd01006423b2282ce74a80921aea121a77cf /tests
parentd1556071715d28217b7c64774335fcce2cbf46c6 (diff)
SkDocument/PDF: new API
Diffstat (limited to 'tests')
-rw-r--r--tests/AnnotationTest.cpp4
-rw-r--r--tests/CanvasTest.cpp2
-rw-r--r--tests/PDFDocumentTest.cpp22
-rw-r--r--tests/PDFInvalidBitmapTest.cpp2
-rw-r--r--tests/PDFJpegEmbedTest.cpp4
-rw-r--r--tests/PDFMetadataAttributeTest.cpp37
-rw-r--r--tests/PDFOpaqueSrcModeToSrcOverTest.cpp2
-rw-r--r--tests/PDFPrimitivesTest.cpp4
-rw-r--r--tests/Test.h16
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