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"