diff options
author | Tobias Koenig <tobias.koenig@kdab.com> | 2016-08-06 20:38:59 +0200 |
---|---|---|
committer | Michal Klocek <michal.klocek@qt.io> | 2019-11-25 12:01:39 +0100 |
commit | 728414509b8f370c2e94baef06c85934d902ee3d (patch) | |
tree | 302e5b5ffe185148eb9e0831b8eb0072fecc3036 /tests/auto/pdf | |
parent | 40dc7d593ed95988130eaa8abde33e20fbfc50a3 (diff) |
Add passwordChanged() signal to QPdfDocument
The passwordChanged() signal is emitted whenever the password
on the document is changed.
Change-Id: I8c35274dba7160b81555eac5bbda37d47cb8c9b7
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'tests/auto/pdf')
-rw-r--r-- | tests/auto/pdf/qpdfdocument/tst_qpdfdocument.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/auto/pdf/qpdfdocument/tst_qpdfdocument.cpp b/tests/auto/pdf/qpdfdocument/tst_qpdfdocument.cpp index ef00bdbeb..41b34ff17 100644 --- a/tests/auto/pdf/qpdfdocument/tst_qpdfdocument.cpp +++ b/tests/auto/pdf/qpdfdocument/tst_qpdfdocument.cpp @@ -22,6 +22,7 @@ private slots: void close(); void loadAfterClose(); void closeOnDestroy(); + void passwordClearedOnClose(); }; struct TemporaryPdf: public QTemporaryFile @@ -101,11 +102,16 @@ void tst_QPdfDocument::loadAsync() void tst_QPdfDocument::password() { QPdfDocument doc; + QSignalSpy passwordChangedSpy(&doc, SIGNAL(passwordChanged())); + QCOMPARE(doc.pageCount(), 0); QCOMPARE(doc.load(QFINDTESTDATA("pdf-sample.protected.pdf")), QPdfDocument::IncorrectPasswordError); + QCOMPARE(passwordChangedSpy.count(), 0); doc.setPassword(QStringLiteral("WrongPassword")); + QCOMPARE(passwordChangedSpy.count(), 1); QCOMPARE(doc.load(QFINDTESTDATA("pdf-sample.protected.pdf")), QPdfDocument::IncorrectPasswordError); doc.setPassword(QStringLiteral("Qt")); + QCOMPARE(passwordChangedSpy.count(), 2); QCOMPARE(doc.load(QFINDTESTDATA("pdf-sample.protected.pdf")), QPdfDocument::NoError); QCOMPARE(doc.pageCount(), 1); } @@ -175,6 +181,27 @@ void tst_QPdfDocument::closeOnDestroy() } } +void tst_QPdfDocument::passwordClearedOnClose() +{ + TemporaryPdf tempPdf; + QPdfDocument doc; + + QSignalSpy passwordChangedSpy(&doc, SIGNAL(passwordChanged())); + + doc.setPassword(QStringLiteral("Qt")); + QCOMPARE(passwordChangedSpy.count(), 1); + QCOMPARE(doc.load(QFINDTESTDATA("pdf-sample.protected.pdf")), QPdfDocument::NoError); + passwordChangedSpy.clear(); + + doc.close(); // password is cleared on close + QCOMPARE(passwordChangedSpy.count(), 1); + passwordChangedSpy.clear(); + + doc.load(&tempPdf); + doc.close(); // signal is not emitted if password didn't change + QCOMPARE(passwordChangedSpy.count(), 0); +} + QTEST_MAIN(tst_QPdfDocument) #include "tst_qpdfdocument.moc" |