summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@theqtcompany.com>2014-12-15 16:13:52 +0100
committerSimon Hausmann <simon.hausmann@theqtcompany.com>2014-12-15 16:13:52 +0100
commit233896bae4ecf86583d2ded590581b86c1f75b4d (patch)
treec2cb88ff317202f42297b8ddbf3e5d5ff9817a16 /tests
parent92f9acff9db4ae299024d4640a4840d8f7c32b2d (diff)
Allow loading documents synchronously from a QIODevice
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qpdfdocument/tst_qpdfdocument.cpp49
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)