diff options
author | Jędrzej Nowacki <jedrzej.nowacki@digia.com> | 2014-02-13 16:59:28 +0100 |
---|---|---|
committer | Jędrzej Nowacki <jedrzej.nowacki@digia.com> | 2014-08-28 10:13:04 +0200 |
commit | 918038ad57840f980cf65464d6f1fc4703909629 (patch) | |
tree | 01b8d0f96e6ffe0ffacf51ea45a9103956f110d4 /tests/auto/corelib/kernel/qmetatype | |
parent | e311f7ac8bf3b75ba171823701dcdd0e6ff404d8 (diff) |
Mark QByteArrayList as metatype built-in type.
As a side effects it also adds core templates types to the tests
Change-Id: I0e3338e0bffdf21982aa83d404c83288e54411f4
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Diffstat (limited to 'tests/auto/corelib/kernel/qmetatype')
-rw-r--r-- | tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp index 9a86dc03e5..dbdd0ef28a 100644 --- a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp +++ b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp @@ -398,7 +398,8 @@ void tst_QMetaType::typeName() QT_FOR_EACH_STATIC_CORE_POINTER(F) \ #define FOR_EACH_COMPLEX_CORE_METATYPE(F) \ - QT_FOR_EACH_STATIC_CORE_CLASS(F) + QT_FOR_EACH_STATIC_CORE_CLASS(F) \ + QT_FOR_EACH_STATIC_CORE_TEMPLATE(F) #define FOR_EACH_CORE_METATYPE(F) \ FOR_EACH_PRIMITIVE_METATYPE(F) \ @@ -489,6 +490,18 @@ template<> struct TestValueFactory<QMetaType::Double> { template<> struct TestValueFactory<QMetaType::QByteArray> { static QByteArray *create() { return new QByteArray(QByteArray("QByteArray")); } }; +template<> struct TestValueFactory<QMetaType::QByteArrayList> { + static QByteArrayList *create() { return new QByteArrayList(QByteArrayList() << "Q" << "Byte" << "Array" << "List"); } +}; +template<> struct TestValueFactory<QMetaType::QVariantMap> { + static QVariantMap *create() { return new QVariantMap(); } +}; +template<> struct TestValueFactory<QMetaType::QVariantHash> { + static QVariantHash *create() { return new QVariantHash(); } +}; +template<> struct TestValueFactory<QMetaType::QVariantList> { + static QVariantList *create() { return new QVariantList(QVariantList() << 123 << "Q" << "Variant" << "List"); } +}; template<> struct TestValueFactory<QMetaType::QChar> { static QChar *create() { return new QChar(QChar('q')); } }; @@ -1371,12 +1384,12 @@ void tst_QMetaType::automaticTemplateRegistration() } { - QList<QByteArray> bytearrayList; - bytearrayList << QByteArray("foo"); - QVERIFY(QVariant::fromValue(bytearrayList).value<QList<QByteArray> >().first() == QByteArray("foo")); - QVector<QList<QByteArray> > vectorList; - vectorList << bytearrayList; - QVERIFY(QVariant::fromValue(vectorList).value<QVector<QList<QByteArray> > >().first().first() == QByteArray("foo")); + QList<unsigned> unsignedList; + unsignedList << 123; + QVERIFY(QVariant::fromValue(unsignedList).value<QList<unsigned> >().first() == 123); + QVector<QList<unsigned> > vectorList; + vectorList << unsignedList; + QVERIFY(QVariant::fromValue(vectorList).value<QVector<QList<unsigned> > >().first().first() == 123); } QCOMPARE(::qMetaTypeId<QVariantList>(), (int)QMetaType::QVariantList); |