File indexing completed on 2025-02-16 04:57:40
0001 /* 0002 SPDX-FileCopyrightText: 2019-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "templateparserutiltest.h" 0008 #include "templatesutil.h" 0009 #include "templatesutil_p.h" 0010 #include <QTest> 0011 QTEST_GUILESS_MAIN(TemplateParserUtilTest) 0012 TemplateParserUtilTest::TemplateParserUtilTest(QObject *parent) 0013 : QObject(parent) 0014 { 0015 } 0016 0017 void TemplateParserUtilTest::shouldRemoveSpaceAtBegin_data() 0018 { 0019 QTest::addColumn<QString>("selection"); 0020 QTest::addColumn<QString>("cleanedString"); 0021 QTest::newRow("empty") << QString() << QString(); 0022 QTest::newRow("tabatbegin") << QStringLiteral("\t\t foo") << QStringLiteral("\t\t foo"); 0023 QTest::newRow("newlinetabatbegin") << QStringLiteral("\n\n\n\n\t\t foo") << QStringLiteral("\n\t\t foo"); 0024 QTest::newRow("newlinetabatbeginwithspace") << QStringLiteral(" \n\n\n\n\t\t foo") << QStringLiteral("\n\t\t foo"); 0025 QTest::newRow("newlinetabatbeginwithspace2") << QStringLiteral(" \n \n\n\n\t\t foo") << QStringLiteral("\n\t\t foo"); 0026 QTest::newRow("newlinetabatbeginwithspace3") << QStringLiteral("ddd \n \n\n\n\t\t foo") << QStringLiteral("ddd \n \n\n\n\t\t foo"); 0027 QTest::newRow("newlinetabatbeginwithspace4") << QStringLiteral(" ddd \n \n\n\n\t\t foo") 0028 << QStringLiteral(" ddd \n \n\n\n\t\t foo"); 0029 } 0030 0031 void TemplateParserUtilTest::shouldRemoveSpaceAtBegin() 0032 { 0033 QFETCH(const QString, selection); 0034 QFETCH(const QString, cleanedString); 0035 QCOMPARE(TemplateParser::Util::removeSpaceAtBegin(selection), cleanedString); 0036 } 0037 0038 void TemplateParserUtilTest::shouldHasNotEmptyKeywordsWithArgs() 0039 { 0040 QVERIFY(!TemplateParser::Util::keywordsWithArgs().isEmpty()); 0041 } 0042 0043 void TemplateParserUtilTest::shouldHasNotEmptyKeywords() 0044 { 0045 QVERIFY(!TemplateParser::Util::keywords().isEmpty()); 0046 } 0047 0048 void TemplateParserUtilTest::shouldGetFirstNameFromEmail_data() 0049 { 0050 QTest::addColumn<QString>("email"); 0051 QTest::addColumn<QString>("firstName"); 0052 QTest::newRow("empty") << QString() << QString(); 0053 QTest::newRow("test1") << QStringLiteral("foo.bar-baz@kde.org") << QStringLiteral("foo.bar-baz"); 0054 QTest::newRow("test2") << QStringLiteral("bla, bli <foo@kde.org>") << QStringLiteral("bli"); 0055 QTest::newRow("test3") << QStringLiteral("\"bla, bli\" <foo@kde.org>") << QStringLiteral("bli"); 0056 QTest::newRow("test4") << QStringLiteral("\"bla bli\" <foo@kde.org>") << QStringLiteral("bla"); 0057 QTest::newRow("test5") << QStringLiteral("bla bli") << QStringLiteral("bla"); 0058 QTest::newRow("test6") << QStringLiteral("bla, bli") << QStringLiteral("bli"); 0059 QTest::newRow("test7") << QStringLiteral("\"bla, bli-blo\" <foo@kde.org>") << QStringLiteral("bli-blo"); 0060 QTest::newRow("test8") << QStringLiteral("\"bla-blo bli\" <foo@kde.org>") << QStringLiteral("bla-blo"); 0061 QTest::newRow("test9") << QStringLiteral("bla-blo bli") << QStringLiteral("bla-blo"); 0062 QTest::newRow("test10") << QStringLiteral("bla, bli-blo") << QStringLiteral("bli-blo"); 0063 QTest::newRow("test11") << QStringLiteral("\"bla, bli blo\" <foo@kde.org>") << QStringLiteral("bli blo"); 0064 QTest::newRow("test12") << QStringLiteral("bla blo bli") << QStringLiteral("bla"); 0065 } 0066 0067 void TemplateParserUtilTest::shouldGetFirstNameFromEmail() 0068 { 0069 QFETCH(const QString, email); 0070 QFETCH(const QString, firstName); 0071 QCOMPARE(TemplateParser::Util::getFirstNameFromEmail(email), firstName); 0072 } 0073 0074 void TemplateParserUtilTest::shouldGetLastNameFromEmail_data() 0075 { 0076 QTest::addColumn<QString>("email"); 0077 QTest::addColumn<QString>("lastName"); 0078 QTest::newRow("empty") << QString() << QString(); 0079 QTest::newRow("test1") << QStringLiteral("foo@kde.org") << QString(); 0080 QTest::newRow("test2") << QStringLiteral("bla, bli <foo@kde.org>") << QStringLiteral("bli"); // ',' without quote is not allowed 0081 QTest::newRow("test3") << QStringLiteral("\"bla, bli\" <foo@kde.org>") << QStringLiteral("bla"); 0082 QTest::newRow("test4") << QStringLiteral("\"bla bli\" <foo@kde.org>") << QStringLiteral("bli"); 0083 QTest::newRow("test5") << QStringLiteral("bla-blo, bli <foo@kde.org>") << QStringLiteral("bli"); // ',' without quote is not allowed 0084 QTest::newRow("test6") << QStringLiteral("\"bla-blo, bli\" <foo@kde.org>") << QStringLiteral("bla-blo"); 0085 QTest::newRow("test7") << QStringLiteral("\"bla bli-blo\" <foo@kde.org>") << QStringLiteral("bli-blo"); 0086 } 0087 0088 void TemplateParserUtilTest::shouldGetLastNameFromEmail() 0089 { 0090 QFETCH(const QString, email); 0091 QFETCH(const QString, lastName); 0092 QCOMPARE(TemplateParser::Util::getLastNameFromEmail(email), lastName); 0093 } 0094 0095 #include "moc_templateparserutiltest.cpp"