summaryrefslogtreecommitdiffstats
path: root/tests/auto/qprinter/tst_qprinter.cpp
diff options
context:
space:
mode:
authorDavid Boddie <dboddie@trolltech.com>2010-05-19 09:33:21 (GMT)
committerDavid Boddie <dboddie@trolltech.com>2010-05-19 09:33:21 (GMT)
commitebe28bdd77ca615c47ebf6b41e34aee0c154fcf9 (patch)
treea1aa1578f798bae0cc23c32656134628bf5af788 /tests/auto/qprinter/tst_qprinter.cpp
parent109024630cbf577d6f6bcb10ea3ac6272113b79e (diff)
parent28b894f65c5aba01d5ee80c20f617478faaee7e7 (diff)
downloadQt-ebe28bdd77ca615c47ebf6b41e34aee0c154fcf9.zip
Qt-ebe28bdd77ca615c47ebf6b41e34aee0c154fcf9.tar.gz
Qt-ebe28bdd77ca615c47ebf6b41e34aee0c154fcf9.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.7
Diffstat (limited to 'tests/auto/qprinter/tst_qprinter.cpp')
-rw-r--r--tests/auto/qprinter/tst_qprinter.cpp28
1 files changed, 27 insertions, 1 deletions
diff --git a/tests/auto/qprinter/tst_qprinter.cpp b/tests/auto/qprinter/tst_qprinter.cpp
index 49bddb2..8b79533 100644
--- a/tests/auto/qprinter/tst_qprinter.cpp
+++ b/tests/auto/qprinter/tst_qprinter.cpp
@@ -110,6 +110,7 @@ private slots:
void testCurrentPage();
void taskQTBUG4497_reusePrinterOnDifferentFiles();
+ void testPdfTitle();
private:
};
@@ -417,7 +418,7 @@ void tst_QPrinter::testMargins()
printer.setFullPage(fullpage);
printer.setPageSize((QPrinter::PageSize)pagesize);
if (withPainter)
- painter = new QPainter(&printer);
+ painter = new QPainter(&printer);
#ifdef QT3_SUPPORT
Q3PaintDeviceMetrics metrics(&printer);
@@ -1028,5 +1029,30 @@ void tst_QPrinter::testCurrentPage()
}
+void tst_QPrinter::testPdfTitle()
+{
+ // Check the document name is represented correctly in produced pdf
+ {
+ QPainter painter;
+ QPrinter printer;
+ // This string is just the UTF-8 encoding of the string: \()f &oslash; hiragana o
+ const char title[]={0x5c, 0x28, 0x29, 0x66, 0xc3, 0xb8, 0xe3, 0x81, 0x8a, 0x00};
+ printer.setOutputFileName("file.pdf");
+ printer.setDocName(QString::fromUtf8(title));
+ painter.begin(&printer);
+ painter.end();
+ }
+ QFile file("file.pdf");
+ QVERIFY(file.open(QIODevice::ReadOnly));
+ // The we expect the title to appear in the PDF as:
+ // ASCII('\title (') UTF16(\\\(\)f &oslash; hiragana o) ASCII(')').
+ // which has the following binary representation
+ const char expected[] = {
+ 0x2f, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x20, 0x28, 0xfe,
+ 0xff, 0x00, 0x5c, 0x5c, 0x00, 0x5c, 0x28, 0x00, 0x5c,
+ 0x29, 0x00, 0x66, 0x00, 0xf8, 0x30, 0x4a, 0x29};
+ QVERIFY(file.readAll().contains(QByteArray(expected, 26)));
+}
+
QTEST_MAIN(tst_QPrinter)
#include "tst_qprinter.moc"