diff options
Diffstat (limited to 'tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp')
-rw-r--r-- | tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp index 7f6e26eecb..262d8ad44b 100644 --- a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp +++ b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp @@ -4659,6 +4659,16 @@ template<typename Enum> void testVariant(Enum value, bool *ok) QVERIFY(var2.convert(QMetaType::Int)); QCOMPARE(var2.value<int>(), static_cast<int>(value)); + if (static_cast<qint64>(value) <= INT_MAX) { + int intValue = static_cast<int>(value); + QVariant intVar = intValue; + QVERIFY(intVar.canConvert<Enum>()); + QCOMPARE(intVar.value<Enum>(), value); + } + qint64 longValue = static_cast<qint64>(value); + QVERIFY(QVariant(longValue).canConvert<Enum>()); + QCOMPARE(QVariant(longValue).value<Enum>(), value); + *ok = true; } |