File indexing completed on 2024-05-12 04:33:30
0001 /* 0002 SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan <chinmoyrp65@gmail.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include <QTest> 0008 0009 #include <QMimeDatabase> 0010 #include <QMimeType> 0011 0012 #include "../settings_core.h" 0013 #include <core/document.h> 0014 #include <core/form.h> 0015 #include <core/page.h> 0016 0017 class SignatureFormTest : public QObject 0018 { 0019 Q_OBJECT 0020 0021 private Q_SLOTS: 0022 void initTestCase(); 0023 void cleanupTestCase(); 0024 void testSignatureForm(); 0025 0026 private: 0027 Okular::Document *m_document; 0028 }; 0029 0030 void SignatureFormTest::initTestCase() 0031 { 0032 Okular::SettingsCore::instance(QStringLiteral("signatureformtest")); 0033 m_document = new Okular::Document(nullptr); 0034 } 0035 0036 void SignatureFormTest::cleanupTestCase() 0037 { 0038 delete m_document; 0039 } 0040 0041 void SignatureFormTest::testSignatureForm() 0042 { 0043 const QString testFile = QStringLiteral(KDESRCDIR "data/pdf_with_signature.pdf"); 0044 QMimeDatabase db; 0045 const QMimeType mime = db.mimeTypeForFile(testFile); 0046 QCOMPARE(m_document->openDocument(testFile, QUrl(), mime), Okular::Document::OpenSuccess); 0047 0048 const Okular::Page *page = m_document->page(0); 0049 const QList<Okular::FormField *> pageFields = page->formFields(); 0050 QCOMPARE(pageFields.size(), 1); 0051 QCOMPARE(pageFields.first()->type(), Okular::FormField::FormSignature); 0052 0053 Okular::FormFieldSignature *sf = static_cast<Okular::FormFieldSignature *>(pageFields.first()); 0054 QCOMPARE(sf->signatureType(), Okular::FormFieldSignature::AdbePkcs7detached); 0055 } 0056 0057 QTEST_MAIN(SignatureFormTest) 0058 #include "signatureformtest.moc"