summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/kernel
diff options
context:
space:
mode:
authorStephen Kelly <stephen.kelly@kdab.com>2012-03-07 18:13:39 +0100
committerQt by Nokia <qt-info@nokia.com>2012-07-01 18:25:01 +0200
commitedfc0f89a93c07d7aa9a99548c0d83b04f566629 (patch)
treec6c1a4adf7aae14c9f90f5cfe8af40fb0ca1b242 /tests/auto/corelib/kernel
parent14c7bb72b98ef39a9118ae0a8e48a3ccd58db07d (diff)
Implement QVariant conversions for QObject derived pointer metatypes.
canConvert() and convert() use the metaobject to convert such types. Change-Id: Ic05e74c5c2423b4b9682b88adc856a16dcba4cff Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Diffstat (limited to 'tests/auto/corelib/kernel')
-rw-r--r--tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
index 57cbdc9c4a..e1542e0c15 100644
--- a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
+++ b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
@@ -2640,6 +2640,19 @@ void tst_QVariant::qvariant_cast_QObject()
QCOMPARE(o != 0, success);
if (success) {
QCOMPARE(o->objectName(), QString::fromLatin1("Hello"));
+ QVERIFY(data.canConvert<QObject*>());
+ QVERIFY(data.canConvert(QMetaType::QObjectStar));
+ QVERIFY(data.canConvert(::qMetaTypeId<QObject*>()));
+ QVERIFY(data.value<QObject*>());
+ QVERIFY(data.convert(QMetaType::QObjectStar));
+ QCOMPARE(data.userType(), int(QMetaType::QObjectStar));
+ } else {
+ QVERIFY(!data.canConvert<QObject*>());
+ QVERIFY(!data.canConvert(QMetaType::QObjectStar));
+ QVERIFY(!data.canConvert(::qMetaTypeId<QObject*>()));
+ QVERIFY(!data.value<QObject*>());
+ QVERIFY(!data.convert(QMetaType::QObjectStar));
+ QVERIFY(data.userType() != QMetaType::QObjectStar);
}
}