File indexing completed on 2025-05-04 04:51:07
0001 /* 0002 SPDX-FileCopyrightText: 2016-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "viewerpluginexternalscriptparseargumenttest.h" 0008 #include "../viewerpluginexternalscriptparseargument.h" 0009 #include <QTest> 0010 0011 ViewerPluginExternalScriptParseArgumentTest::ViewerPluginExternalScriptParseArgumentTest(QObject *parent) 0012 : QObject(parent) 0013 { 0014 } 0015 0016 ViewerPluginExternalScriptParseArgumentTest::~ViewerPluginExternalScriptParseArgumentTest() = default; 0017 0018 void ViewerPluginExternalScriptParseArgumentTest::shouldReturnOriginalStringListWhenMessageIsNotSetting() 0019 { 0020 ViewerPluginExternalScriptParseArgument parser; 0021 const QStringList lst = {QStringLiteral("foo"), QStringLiteral("bla")}; 0022 QCOMPARE(parser.parse(lst), lst); 0023 } 0024 0025 void ViewerPluginExternalScriptParseArgumentTest::shouldReturnSubject() 0026 { 0027 ViewerPluginExternalScriptParseArgument parser; 0028 KMime::Message::Ptr message(new KMime::Message); 0029 initializeMessage(message); 0030 parser.setMessage(message); 0031 const QStringList lst = {QStringLiteral("%s")}; 0032 const QStringList result = {QStringLiteral("\"Akademy\"")}; 0033 QCOMPARE(parser.parse(lst), result); 0034 } 0035 0036 void ViewerPluginExternalScriptParseArgumentTest::shouldReturnSameListIfNotTransform() 0037 { 0038 ViewerPluginExternalScriptParseArgument parser; 0039 KMime::Message::Ptr message(new KMime::Message); 0040 initializeMessage(message); 0041 parser.setMessage(message); 0042 const QStringList lst = {QStringLiteral("cc"), QStringLiteral("vv"), QStringLiteral("ff")}; 0043 QCOMPARE(parser.parse(lst), lst); 0044 } 0045 0046 void ViewerPluginExternalScriptParseArgumentTest::shouldReturnTwiceSubject() 0047 { 0048 ViewerPluginExternalScriptParseArgument parser; 0049 KMime::Message::Ptr message(new KMime::Message); 0050 initializeMessage(message); 0051 parser.setMessage(message); 0052 const QStringList lst = {QStringLiteral("%s"), QStringLiteral("vv"), QStringLiteral("%s")}; 0053 const QStringList result = {QStringLiteral("\"Akademy\""), QStringLiteral("vv"), QStringLiteral("\"Akademy\"")}; 0054 QCOMPARE(parser.parse(lst), result); 0055 } 0056 0057 void ViewerPluginExternalScriptParseArgumentTest::shouldReturnTo() 0058 { 0059 ViewerPluginExternalScriptParseArgument parser; 0060 KMime::Message::Ptr message(new KMime::Message); 0061 initializeMessage(message); 0062 parser.setMessage(message); 0063 const QStringList lst = {QStringLiteral("%to")}; 0064 const QStringList result = {QStringLiteral("\"kde@example.com\"")}; 0065 QCOMPARE(parser.parse(lst), result); 0066 } 0067 0068 void ViewerPluginExternalScriptParseArgumentTest::shouldReturnEmptyStrWhenArgumentIsNotDefined() 0069 { 0070 ViewerPluginExternalScriptParseArgument parser; 0071 KMime::Message::Ptr message(new KMime::Message); 0072 initializeMessage(message); 0073 parser.setMessage(message); 0074 const QStringList lst = {QStringLiteral("%cc")}; 0075 const QStringList result = {QStringLiteral("\"\"")}; 0076 QCOMPARE(parser.parse(lst), result); 0077 } 0078 0079 void ViewerPluginExternalScriptParseArgumentTest::shouldReturnBody() 0080 { 0081 ViewerPluginExternalScriptParseArgument parser; 0082 KMime::Message::Ptr message(new KMime::Message); 0083 initializeMessage(message); 0084 parser.setMessage(message); 0085 const QStringList lst = {QStringLiteral("%body")}; 0086 const QStringList result = {QStringLiteral("\"Hello this is a test mail\n\"")}; 0087 QCOMPARE(parser.parse(lst), result); 0088 } 0089 0090 void ViewerPluginExternalScriptParseArgumentTest::shouldReturnBcc() 0091 { 0092 ViewerPluginExternalScriptParseArgument parser; 0093 KMime::Message::Ptr message(new KMime::Message); 0094 initializeMessage(message); 0095 parser.setMessage(message); 0096 const QStringList lst = {QStringLiteral("%bcc")}; 0097 const QStringList result = {QStringLiteral("\"kde1@example.com\"")}; 0098 QCOMPARE(parser.parse(lst), result); 0099 } 0100 0101 void ViewerPluginExternalScriptParseArgumentTest::initializeMessage(const KMime::Message::Ptr &msg) 0102 { 0103 QByteArray mail = 0104 "From: dfaure@example.com\n" 0105 "To: kde@example.com\n" 0106 "Bcc: kde1@example.com\n" 0107 "Sender: dfaure@example.com\n" 0108 "MIME-Version: 1.0\n" 0109 "Date: 02 Jul 2010 23:58:21 -0000\n" 0110 "Subject: Akademy\n" 0111 "Content-Type: text/plain\n" 0112 "X-Length: 0\n" 0113 "X-UID: 6161\n" 0114 "\n" 0115 "Hello this is a test mail\n"; 0116 msg->setContent(mail); 0117 msg->parse(); 0118 } 0119 0120 QTEST_MAIN(ViewerPluginExternalScriptParseArgumentTest) 0121 0122 #include "moc_viewerpluginexternalscriptparseargumenttest.cpp"