diff options
author | Simon Hausmann <simon.hausmann@theqtcompany.com> | 2014-12-15 16:13:52 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@theqtcompany.com> | 2014-12-15 16:13:52 +0100 |
commit | 233896bae4ecf86583d2ded590581b86c1f75b4d (patch) | |
tree | c2cb88ff317202f42297b8ddbf3e5d5ff9817a16 /tests | |
parent | 92f9acff9db4ae299024d4640a4840d8f7c32b2d (diff) |
Allow loading documents synchronously from a QIODevice
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/qpdfdocument/tst_qpdfdocument.cpp | 49 |
1 files changed, 32 insertions, 17 deletions
diff --git a/tests/auto/qpdfdocument/tst_qpdfdocument.cpp b/tests/auto/qpdfdocument/tst_qpdfdocument.cpp index f91b407..a51c172 100644 --- a/tests/auto/qpdfdocument/tst_qpdfdocument.cpp +++ b/tests/auto/qpdfdocument/tst_qpdfdocument.cpp @@ -13,37 +13,52 @@ public: private slots: void pageCount(); + void loadFromIODevice(); }; +struct TemporaryPdf: public QTemporaryFile +{ + TemporaryPdf(); + QPageLayout pageLayout; +}; -void tst_QPdfDocument::pageCount() + +TemporaryPdf::TemporaryPdf() { - QTemporaryFile tempPdf; - tempPdf.setAutoRemove(true); - QVERIFY(tempPdf.open()); + open(); + pageLayout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()); - QPageLayout layout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()); + QPrinter printer; + printer.setOutputFormat(QPrinter::PdfFormat); + printer.setOutputFileName(fileName()); + printer.setPageLayout(pageLayout); { - QPrinter printer; - printer.setOutputFormat(QPrinter::PdfFormat); - printer.setOutputFileName(tempPdf.fileName()); - printer.setPageLayout(layout); - - { - QPainter painter(&printer); - painter.drawText(100, 100, QStringLiteral("Hello Page 1")); - printer.newPage(); - painter.drawText(100, 100, QStringLiteral("Hello Page 2")); - } + QPainter painter(&printer); + painter.drawText(100, 100, QStringLiteral("Hello Page 1")); + printer.newPage(); + painter.drawText(100, 100, QStringLiteral("Hello Page 2")); } +} + +void tst_QPdfDocument::pageCount() +{ + TemporaryPdf tempPdf; QPdfDocument doc; QCOMPARE(doc.pageCount(), 0); QCOMPARE(doc.load(tempPdf.fileName()), QPdfDocument::NoError); QCOMPARE(doc.pageCount(), 2); - QCOMPARE(doc.pageSize(0).toSize(), layout.fullRectPoints().size()); + QCOMPARE(doc.pageSize(0).toSize(), tempPdf.pageLayout.fullRectPoints().size()); +} + +void tst_QPdfDocument::loadFromIODevice() +{ + TemporaryPdf tempPdf; + QPdfDocument doc; + QCOMPARE(doc.load(&tempPdf), QPdfDocument::NoError); + QCOMPARE(doc.pageCount(), 2); } QTEST_MAIN(tst_QPdfDocument) |