summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/kernel/qmetatype
diff options
context:
space:
mode:
authorJędrzej Nowacki <jedrzej.nowacki@digia.com>2014-02-13 16:59:28 +0100
committerJędrzej Nowacki <jedrzej.nowacki@digia.com>2014-08-28 10:13:04 +0200
commit918038ad57840f980cf65464d6f1fc4703909629 (patch)
tree01b8d0f96e6ffe0ffacf51ea45a9103956f110d4 /tests/auto/corelib/kernel/qmetatype
parente311f7ac8bf3b75ba171823701dcdd0e6ff404d8 (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.cpp27
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);