1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
|
/*
SPDX-FileCopyrightText: 2016-2025 Laurent Montel <montel@kde.org>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#include "viewerpluginexternalscriptparseargumenttest.h"
#include "../viewerpluginexternalscriptparseargument.h"
#include <QTest>
ViewerPluginExternalScriptParseArgumentTest::ViewerPluginExternalScriptParseArgumentTest(QObject *parent)
: QObject(parent)
{
}
ViewerPluginExternalScriptParseArgumentTest::~ViewerPluginExternalScriptParseArgumentTest() = default;
void ViewerPluginExternalScriptParseArgumentTest::shouldReturnOriginalStringListWhenMessageIsNotSetting()
{
ViewerPluginExternalScriptParseArgument parser;
const QStringList lst = {QStringLiteral("foo"), QStringLiteral("bla")};
QCOMPARE(parser.parse(lst), lst);
}
void ViewerPluginExternalScriptParseArgumentTest::shouldReturnSubject()
{
ViewerPluginExternalScriptParseArgument parser;
KMime::Message::Ptr message(new KMime::Message);
initializeMessage(message);
parser.setMessage(message);
const QStringList lst = {QStringLiteral("%s")};
const QStringList result = {QStringLiteral("\"Akademy\"")};
QCOMPARE(parser.parse(lst), result);
}
void ViewerPluginExternalScriptParseArgumentTest::shouldReturnSameListIfNotTransform()
{
ViewerPluginExternalScriptParseArgument parser;
KMime::Message::Ptr message(new KMime::Message);
initializeMessage(message);
parser.setMessage(message);
const QStringList lst = {QStringLiteral("cc"), QStringLiteral("vv"), QStringLiteral("ff")};
QCOMPARE(parser.parse(lst), lst);
}
void ViewerPluginExternalScriptParseArgumentTest::shouldReturnTwiceSubject()
{
ViewerPluginExternalScriptParseArgument parser;
KMime::Message::Ptr message(new KMime::Message);
initializeMessage(message);
parser.setMessage(message);
const QStringList lst = {QStringLiteral("%s"), QStringLiteral("vv"), QStringLiteral("%s")};
const QStringList result = {QStringLiteral("\"Akademy\""), QStringLiteral("vv"), QStringLiteral("\"Akademy\"")};
QCOMPARE(parser.parse(lst), result);
}
void ViewerPluginExternalScriptParseArgumentTest::shouldReturnTo()
{
ViewerPluginExternalScriptParseArgument parser;
KMime::Message::Ptr message(new KMime::Message);
initializeMessage(message);
parser.setMessage(message);
const QStringList lst = {QStringLiteral("%to")};
const QStringList result = {QStringLiteral("\"kde@example.com\"")};
QCOMPARE(parser.parse(lst), result);
}
void ViewerPluginExternalScriptParseArgumentTest::shouldReturnEmptyStrWhenArgumentIsNotDefined()
{
ViewerPluginExternalScriptParseArgument parser;
KMime::Message::Ptr message(new KMime::Message);
initializeMessage(message);
parser.setMessage(message);
const QStringList lst = {QStringLiteral("%cc")};
const QStringList result = {QStringLiteral("\"\"")};
QCOMPARE(parser.parse(lst), result);
}
void ViewerPluginExternalScriptParseArgumentTest::shouldReturnBody()
{
ViewerPluginExternalScriptParseArgument parser;
KMime::Message::Ptr message(new KMime::Message);
initializeMessage(message);
parser.setMessage(message);
const QStringList lst = {QStringLiteral("%body")};
const QStringList result = {QStringLiteral("\"Hello this is a test mail\n\"")};
QCOMPARE(parser.parse(lst), result);
}
void ViewerPluginExternalScriptParseArgumentTest::shouldReturnBcc()
{
ViewerPluginExternalScriptParseArgument parser;
KMime::Message::Ptr message(new KMime::Message);
initializeMessage(message);
parser.setMessage(message);
const QStringList lst = {QStringLiteral("%bcc")};
const QStringList result = {QStringLiteral("\"kde1@example.com\"")};
QCOMPARE(parser.parse(lst), result);
}
void ViewerPluginExternalScriptParseArgumentTest::initializeMessage(const KMime::Message::Ptr &msg)
{
QByteArray mail =
"From: dfaure@example.com\n"
"To: kde@example.com\n"
"Bcc: kde1@example.com\n"
"Sender: dfaure@example.com\n"
"MIME-Version: 1.0\n"
"Date: 02 Jul 2010 23:58:21 -0000\n"
"Subject: Akademy\n"
"Content-Type: text/plain\n"
"X-Length: 0\n"
"X-UID: 6161\n"
"\n"
"Hello this is a test mail\n";
msg->setContent(mail);
msg->parse();
}
QTEST_MAIN(ViewerPluginExternalScriptParseArgumentTest)
#include "moc_viewerpluginexternalscriptparseargumenttest.cpp"
|