refactor: Settings::logLevelToInt simplify the method and add tests to cover it
This commit is contained in:
@ -139,40 +139,9 @@ QString Settings::cleanScreenName(const QString &name)
|
||||
|
||||
int Settings::logLevelToInt(const QString &level)
|
||||
{
|
||||
// Can do this better later ?
|
||||
if (level.toUpper() == "FATAL") {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (level.toUpper() == "ERROR") {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (level.toUpper() == "WARNING") {
|
||||
return 2;
|
||||
}
|
||||
|
||||
if (level.toUpper() == "NOTE") {
|
||||
return 3;
|
||||
}
|
||||
|
||||
if (level.toUpper() == "INFO") {
|
||||
if (level.isEmpty() || !m_logLevels.contains(level, Qt::CaseInsensitive))
|
||||
return 4;
|
||||
}
|
||||
|
||||
if (level.toUpper() == "DEBUG") {
|
||||
return 5;
|
||||
}
|
||||
|
||||
if (level.toUpper() == "DEBUG1") {
|
||||
return 6;
|
||||
}
|
||||
|
||||
if (level.toUpper() == "DEBUG2") {
|
||||
return 7;
|
||||
}
|
||||
|
||||
return 4; // If all else fail return info
|
||||
return static_cast<int>(m_logLevels.indexOf(level, 0, Qt::CaseInsensitive));
|
||||
}
|
||||
|
||||
QVariant Settings::defaultValue(const QString &key)
|
||||
|
||||
@ -136,7 +136,7 @@ public:
|
||||
static QSettingsProxy &proxy();
|
||||
static void save(bool emitSaving = true);
|
||||
static QStringList validKeys();
|
||||
static int logLevelToInt(const QString &level = "INFO");
|
||||
static int logLevelToInt(const QString &level);
|
||||
static QString portableSettingsFile();
|
||||
|
||||
Q_SIGNALS:
|
||||
|
||||
@ -101,4 +101,25 @@ void SettingsTests::checkCleanScreenName_LongName()
|
||||
QCOMPARE(Settings::value(Settings::Core::ScreenName).toString(), expected);
|
||||
}
|
||||
|
||||
void SettingsTests::checkLogLevels_Valid()
|
||||
{
|
||||
QCOMPARE(Settings::logLevelToInt(QStringLiteral("Fatal")), 0);
|
||||
QCOMPARE(Settings::logLevelToInt(QStringLiteral("erRor")), 1);
|
||||
QCOMPARE(Settings::logLevelToInt(QStringLiteral("wArning")), 2);
|
||||
QCOMPARE(Settings::logLevelToInt(QStringLiteral("notE")), 3);
|
||||
QCOMPARE(Settings::logLevelToInt(QStringLiteral("info")), 4);
|
||||
QCOMPARE(Settings::logLevelToInt(QStringLiteral("deBug")), 5);
|
||||
QCOMPARE(Settings::logLevelToInt(QStringLiteral("debuG1")), 6);
|
||||
QCOMPARE(Settings::logLevelToInt(QStringLiteral("dEbug2")), 7);
|
||||
}
|
||||
|
||||
void SettingsTests::checkLogLevels_Invalid()
|
||||
{
|
||||
QCOMPARE(Settings::logLevelToInt(QString()), 4);
|
||||
QCOMPARE(Settings::logLevelToInt(QStringLiteral("INVALID")), 4);
|
||||
QCOMPARE(Settings::logLevelToInt(QStringLiteral("debug3")), 4);
|
||||
QCOMPARE(Settings::logLevelToInt(QStringLiteral("infomatic")), 4);
|
||||
QCOMPARE(Settings::logLevelToInt(QStringLiteral("warn")), 4);
|
||||
}
|
||||
|
||||
QTEST_MAIN(SettingsTests)
|
||||
|
||||
@ -24,6 +24,8 @@ private Q_SLOTS:
|
||||
void checkValidSettings();
|
||||
void checkCleanScreenName();
|
||||
void checkCleanScreenName_LongName();
|
||||
void checkLogLevels_Valid();
|
||||
void checkLogLevels_Invalid();
|
||||
|
||||
private:
|
||||
inline static const QString m_settingsPathTemp = QStringLiteral("tmp/test");
|
||||
|
||||
Reference in New Issue
Block a user