File indexing completed on 2025-03-09 04:53:54

0001 /*
0002    SPDX-FileCopyrightText: 2021 Sandro Knauß <sknauss@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include <MessageComposer/DraftStatus>
0008 
0009 #include <QObject>
0010 #include <QTest>
0011 
0012 using namespace MessageComposer;
0013 
0014 class DraftStatusTest : public QObject
0015 {
0016     Q_OBJECT
0017 private Q_SLOTS:
0018     void noState()
0019     {
0020         KMime::Message::Ptr msg(new KMime::Message);
0021         {
0022             DraftEncryptionState encryptState(msg);
0023             QCOMPARE(encryptState.isDefined(), false);
0024             QCOMPARE(encryptState.encryptionState(), false);
0025         }
0026         {
0027             DraftSignatureState signState(msg);
0028             QCOMPARE(signState.isDefined(), false);
0029             QCOMPARE(signState.signState(), false);
0030         }
0031         {
0032             DraftCryptoMessageFormatState formatState(msg);
0033             QCOMPARE(formatState.isDefined(), false);
0034             QCOMPARE(formatState.cryptoMessageFormatState(), Kleo::AutoFormat);
0035         }
0036     }
0037 
0038     void setRemoveState()
0039     {
0040         KMime::Message::Ptr msg(new KMime::Message);
0041         {
0042             DraftEncryptionState encryptState(msg);
0043             encryptState.setState(true);
0044             QCOMPARE(encryptState.isDefined(), true);
0045             QCOMPARE(encryptState.encryptionState(), true);
0046             encryptState.removeState();
0047             QCOMPARE(encryptState.isDefined(), false);
0048             QCOMPARE(encryptState.encryptionState(), false);
0049         }
0050         {
0051             DraftSignatureState signState(msg);
0052             signState.setState(true);
0053             QCOMPARE(signState.isDefined(), true);
0054             QCOMPARE(signState.signState(), true);
0055             signState.removeState();
0056             QCOMPARE(signState.isDefined(), false);
0057             QCOMPARE(signState.signState(), false);
0058         }
0059         {
0060             DraftCryptoMessageFormatState formatState(msg);
0061             formatState.setState(Kleo::AnyOpenPGP);
0062             QCOMPARE(formatState.isDefined(), true);
0063             QCOMPARE(formatState.cryptoMessageFormatState(), Kleo::AnyOpenPGP);
0064             formatState.removeState();
0065             QCOMPARE(formatState.isDefined(), false);
0066             QCOMPARE(formatState.cryptoMessageFormatState(), Kleo::AutoFormat);
0067         }
0068     }
0069 
0070     void testRemoveDraftCryptoHeaders()
0071     {
0072         KMime::Message::Ptr msg(new KMime::Message);
0073         DraftEncryptionState encryptState(msg);
0074         DraftSignatureState signState(msg);
0075         DraftCryptoMessageFormatState formatState(msg);
0076         encryptState.setState(true);
0077         signState.setState(true);
0078         formatState.setState(Kleo::AnyOpenPGP);
0079 
0080         removeDraftCryptoHeaders(msg);
0081 
0082         QCOMPARE(encryptState.isDefined(), false);
0083         QCOMPARE(signState.isDefined(), false);
0084         QCOMPARE(formatState.isDefined(), false);
0085     }
0086 };
0087 QTEST_MAIN(DraftStatusTest)
0088 #include "draftstatustest.moc"