File indexing completed on 2024-05-05 03:53:33
0001 /* 0002 SPDX-FileCopyrightText: 2017-2023 Laurent Montel <montel@kde.org> 0003 SPDX-License-Identifier: LGPL-2.0-or-later 0004 */ 0005 0006 #include <KEmailValidator> 0007 #include <QObject> 0008 #include <QTest> 0009 0010 Q_DECLARE_METATYPE(QValidator::State) 0011 0012 class KEmailValidatorTest : public QObject 0013 { 0014 Q_OBJECT 0015 private Q_SLOTS: 0016 void shouldValidateEmail_data() 0017 { 0018 QTest::addColumn<QString>("email"); 0019 QTest::addColumn<QValidator::State>("state"); 0020 QTest::newRow("empty") << QString() << QValidator::Intermediate; 0021 QTest::newRow("email") << QStringLiteral("foo@kde.org") << QValidator::Acceptable; 0022 QTest::newRow("notanemail") << QStringLiteral("foo") << QValidator::Intermediate; 0023 QTest::newRow("space") << QStringLiteral("foo ") << QValidator::Invalid; 0024 QTest::newRow("space1") << QStringLiteral(" foo") << QValidator::Invalid; 0025 QTest::newRow("email2") << QStringLiteral("<foo@kde.org>") << QValidator::Intermediate; 0026 QTest::newRow("email3") << QStringLiteral("\"bla\" <foo@kde.org>") << QValidator::Invalid; 0027 } 0028 0029 void shouldValidateEmail() 0030 { 0031 QFETCH(QString, email); 0032 QFETCH(QValidator::State, state); 0033 KEmailValidator validator; 0034 int pos; 0035 QCOMPARE(validator.validate(email, pos), state); 0036 } 0037 }; 0038 0039 QTEST_GUILESS_MAIN(KEmailValidatorTest) 0040 0041 #include "kemailvalidatortest.moc"