refactor: Settings::logLevelToInt simplify the method and add tests to cover it
This commit is contained in:
parent
425d427fce
commit
d8e2537d47
4 changed files with 26 additions and 34 deletions
|
|
@ -139,40 +139,9 @@ QString Settings::cleanScreenName(const QString &name)
|
||||||
|
|
||||||
int Settings::logLevelToInt(const QString &level)
|
int Settings::logLevelToInt(const QString &level)
|
||||||
{
|
{
|
||||||
// Can do this better later ?
|
if (level.isEmpty() || !m_logLevels.contains(level, Qt::CaseInsensitive))
|
||||||
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") {
|
|
||||||
return 4;
|
return 4;
|
||||||
}
|
return static_cast<int>(m_logLevels.indexOf(level, 0, Qt::CaseInsensitive));
|
||||||
|
|
||||||
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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant Settings::defaultValue(const QString &key)
|
QVariant Settings::defaultValue(const QString &key)
|
||||||
|
|
|
||||||
|
|
@ -136,7 +136,7 @@ public:
|
||||||
static QSettingsProxy &proxy();
|
static QSettingsProxy &proxy();
|
||||||
static void save(bool emitSaving = true);
|
static void save(bool emitSaving = true);
|
||||||
static QStringList validKeys();
|
static QStringList validKeys();
|
||||||
static int logLevelToInt(const QString &level = "INFO");
|
static int logLevelToInt(const QString &level);
|
||||||
static QString portableSettingsFile();
|
static QString portableSettingsFile();
|
||||||
|
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
|
|
|
||||||
|
|
@ -101,4 +101,25 @@ void SettingsTests::checkCleanScreenName_LongName()
|
||||||
QCOMPARE(Settings::value(Settings::Core::ScreenName).toString(), expected);
|
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)
|
QTEST_MAIN(SettingsTests)
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,8 @@ private Q_SLOTS:
|
||||||
void checkValidSettings();
|
void checkValidSettings();
|
||||||
void checkCleanScreenName();
|
void checkCleanScreenName();
|
||||||
void checkCleanScreenName_LongName();
|
void checkCleanScreenName_LongName();
|
||||||
|
void checkLogLevels_Valid();
|
||||||
|
void checkLogLevels_Invalid();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
inline static const QString m_settingsPathTemp = QStringLiteral("tmp/test");
|
inline static const QString m_settingsPathTemp = QStringLiteral("tmp/test");
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue