diff options
author | Stephen Kelly <stephen.kelly@kdab.com> | 2012-03-07 18:13:39 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-01 18:25:01 +0200 |
commit | edfc0f89a93c07d7aa9a99548c0d83b04f566629 (patch) | |
tree | c6c1a4adf7aae14c9f90f5cfe8af40fb0ca1b242 /tests/auto/corelib/kernel | |
parent | 14c7bb72b98ef39a9118ae0a8e48a3ccd58db07d (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.cpp | 13 |
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); } } |