Convert tst_QSettings::testVariantTypes()'s macro body into a lambda
Retain the macro, so as to automate checking QTest::currentTestFailed() after return from the lambda. Change-Id: If5873a533224ea3b809cef02255642a7d071d642 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>bb10
parent
2b16997116
commit
7b909dccc2
|
|
@ -1300,19 +1300,24 @@ void tst_QSettings::testVariantTypes()
|
|||
QCOMPARE(settings.value("empty"), QVariant());
|
||||
}
|
||||
|
||||
#define testValue(key, actual, expected) do { \
|
||||
{ \
|
||||
QSettings settings1(format, QSettings::UserScope, "software.org", "KillerAPP"); \
|
||||
settings1.setValue(key, QVariant::fromValue(actual)); \
|
||||
} \
|
||||
QConfFile::clearCache(); \
|
||||
{ \
|
||||
QSettings settings2(format, QSettings::UserScope, "software.org", "KillerAPP"); \
|
||||
QVariant v = settings2.value(key); \
|
||||
QCOMPARE(v.metaType().id(), QMetaType::expected); \
|
||||
QCOMPARE(qvariant_cast<decltype(actual)>(v), actual); \
|
||||
} \
|
||||
} while (0)
|
||||
auto checker = [format](const char *key, auto value, QMetaType::Type expected) {
|
||||
{
|
||||
QSettings settings(format, QSettings::UserScope, "software.org", "KillerAPP");
|
||||
settings.setValue(key, QVariant::fromValue(value));
|
||||
}
|
||||
QConfFile::clearCache();
|
||||
{
|
||||
QSettings settings(format, QSettings::UserScope, "software.org", "KillerAPP");
|
||||
QVariant actual = settings.value(key);
|
||||
QCOMPARE(actual.metaType().id(), expected);
|
||||
QCOMPARE(qvariant_cast<decltype(value)>(actual), value);
|
||||
}
|
||||
};
|
||||
#define testValue(key, supplied, expected) do { \
|
||||
checker(key, supplied, QMetaType::expected); \
|
||||
if (QTest::currentTestFailed()) \
|
||||
return; \
|
||||
} while (0)
|
||||
|
||||
typedef QMap<QString, QVariant> TestVariantMap;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue