summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp')
-rw-r--r--tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp10
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;
}