File indexing completed on 2024-05-12 16:06:05

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"