File indexing completed on 2025-02-23 05:24:01

0001 /*
0002     SPDX-FileCopyrightText: 2016-2024 Laurent Montel <montel@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 
0006 */
0007 
0008 #include "loggingcategorytest.h"
0009 #include "loggingcategory.h"
0010 #include <QTest>
0011 
0012 LoggingCategoryTest::LoggingCategoryTest(QObject *parent)
0013     : QObject(parent)
0014 {
0015 }
0016 
0017 LoggingCategoryTest::~LoggingCategoryTest() = default;
0018 
0019 void LoggingCategoryTest::shouldHaveDefaultValue()
0020 {
0021     LoggingCategory log;
0022     QVERIFY(log.enabled);
0023     QVERIFY(log.description.isEmpty());
0024     QVERIFY(log.categoryName.isEmpty());
0025     QVERIFY(log.identifierName.isEmpty());
0026     QCOMPARE(log.loggingType, LoggingCategory::Info);
0027     QVERIFY(!log.isValid());
0028 }
0029 
0030 void LoggingCategoryTest::shouldBeEqual()
0031 {
0032     LoggingCategory log;
0033     log.enabled = false;
0034     log.description = QStringLiteral("foo");
0035     log.categoryName = QStringLiteral("bla");
0036     log.identifierName = QStringLiteral("blu");
0037     log.loggingType = LoggingCategory::All;
0038     LoggingCategory log2;
0039     log2 = log;
0040     QVERIFY(log2 == log);
0041 }
0042 
0043 void LoggingCategoryTest::shouldCreateRules_data()
0044 {
0045     QTest::addColumn<QString>("logname");
0046     QTest::addColumn<LoggingCategory::LoggingType>("loggingType");
0047     QTest::addColumn<QString>("result");
0048 
0049     QTest::newRow("all") << QStringLiteral("foo") << LoggingCategory::All << QStringLiteral("foo=true\n");
0050     QTest::newRow("debug") << QStringLiteral("foo") << LoggingCategory::Debug
0051                            << QStringLiteral("foo.info=false\nfoo.debug=true\nfoo.warning=true\nfoo.critical=true\n");
0052     QTest::newRow("info") << QStringLiteral("foo") << LoggingCategory::Info
0053                           << QStringLiteral("foo.info=true\nfoo.warning=true\nfoo.critical=true\nfoo.debug=false\n");
0054     QTest::newRow("critical") << QStringLiteral("foo") << LoggingCategory::Critical
0055                               << QStringLiteral("foo.info=false\nfoo.debug=false\nfoo.warning=false\nfoo.critical=true\n");
0056     QTest::newRow("warning") << QStringLiteral("foo") << LoggingCategory::Warning
0057                              << QStringLiteral("foo.info=false\nfoo.debug=false\nfoo.warning=true\nfoo.critical=true\n");
0058     QTest::newRow("off") << QStringLiteral("foo") << LoggingCategory::Off
0059                          << QStringLiteral("foo.info=false\nfoo.debug=false\nfoo.warning=false\nfoo.critical=false\n");
0060 }
0061 
0062 void LoggingCategoryTest::shouldCreateRules()
0063 {
0064     QFETCH(QString, logname);
0065     QFETCH(LoggingCategory::LoggingType, loggingType);
0066     QFETCH(QString, result);
0067     LoggingCategory log;
0068     log.categoryName = logname;
0069     log.loggingType = loggingType;
0070     QCOMPARE(log.createRule(), result);
0071     QVERIFY(log.isValid());
0072 }
0073 
0074 QTEST_MAIN(LoggingCategoryTest)
0075 
0076 #include "moc_loggingcategorytest.cpp"