From dc7e2adacda36a2453023610db16150c028507f4 Mon Sep 17 00:00:00 2001 From: Shawn Rutledge Date: Tue, 1 Dec 2015 13:12:14 +0100 Subject: Add metaData() accessor method to QPdfDocument Change-Id: Ib25ae8940ff8a35627093031a82c1f25c7c940fc Reviewed-by: Simon Hausmann --- tests/auto/qpdfdocument/pdf-sample.metadata.pdf | Bin 0 -> 9298 bytes tests/auto/qpdfdocument/tst_qpdfdocument.cpp | 28 ++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 tests/auto/qpdfdocument/pdf-sample.metadata.pdf (limited to 'tests') diff --git a/tests/auto/qpdfdocument/pdf-sample.metadata.pdf b/tests/auto/qpdfdocument/pdf-sample.metadata.pdf new file mode 100644 index 0000000..c3350ba Binary files /dev/null and b/tests/auto/qpdfdocument/pdf-sample.metadata.pdf differ diff --git a/tests/auto/qpdfdocument/tst_qpdfdocument.cpp b/tests/auto/qpdfdocument/tst_qpdfdocument.cpp index 41b34ff..b4e9898 100644 --- a/tests/auto/qpdfdocument/tst_qpdfdocument.cpp +++ b/tests/auto/qpdfdocument/tst_qpdfdocument.cpp @@ -23,6 +23,7 @@ private slots: void loadAfterClose(); void closeOnDestroy(); void passwordClearedOnClose(); + void metaData(); }; struct TemporaryPdf: public QTemporaryFile @@ -202,6 +203,33 @@ void tst_QPdfDocument::passwordClearedOnClose() QCOMPARE(passwordChangedSpy.count(), 0); } +void tst_QPdfDocument::metaData() +{ + QPdfDocument doc; + + // a closed document does not return any meta data + QCOMPARE(doc.metaData(QPdfDocument::Title).toString(), QString()); + QCOMPARE(doc.metaData(QPdfDocument::Subject).toString(), QString()); + QCOMPARE(doc.metaData(QPdfDocument::Author).toString(), QString()); + QCOMPARE(doc.metaData(QPdfDocument::Keywords).toString(), QString()); + QCOMPARE(doc.metaData(QPdfDocument::Producer).toString(), QString()); + QCOMPARE(doc.metaData(QPdfDocument::Creator).toString(), QString()); + QCOMPARE(doc.metaData(QPdfDocument::CreationDate).toDateTime(), QDateTime()); + QCOMPARE(doc.metaData(QPdfDocument::ModificationDate).toDateTime(), QDateTime()); + + QCOMPARE(doc.load(QFINDTESTDATA("pdf-sample.metadata.pdf")), QPdfDocument::NoError); + + // check for proper meta data from sample document + QCOMPARE(doc.metaData(QPdfDocument::Title).toString(), QString::fromLatin1("Qt PDF Unit Test Document")); + QCOMPARE(doc.metaData(QPdfDocument::Subject).toString(), QString::fromLatin1("A test for meta data access")); + QCOMPARE(doc.metaData(QPdfDocument::Author).toString(), QString::fromLatin1("John Doe")); + QCOMPARE(doc.metaData(QPdfDocument::Keywords).toString(), QString::fromLatin1("meta data keywords")); + QCOMPARE(doc.metaData(QPdfDocument::Producer).toString(), QString::fromLatin1("LibreOffice 5.1")); + QCOMPARE(doc.metaData(QPdfDocument::Creator).toString(), QString::fromLatin1("Writer")); + QCOMPARE(doc.metaData(QPdfDocument::CreationDate).toDateTime(), QDateTime(QDate(2016, 8, 7), QTime(7, 3, 6), Qt::UTC)); + QCOMPARE(doc.metaData(QPdfDocument::ModificationDate).toDateTime(), QDateTime(QDate(2016, 8, 8), QTime(8, 3, 6), Qt::UTC)); +} + QTEST_MAIN(tst_QPdfDocument) #include "tst_qpdfdocument.moc" -- cgit v1.2.3