summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/kernel
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-07-10 14:25:48 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-07-11 21:10:54 +0000
commitb3f7bea10525a0b05a61f151f684b63d66488193 (patch)
tree98e4994256f91d31891c739dbfadb3627bcdfb7b /tests/auto/corelib/kernel
parentb783c03d19d892c5e92c859ff0265061106cfa77 (diff)
Handle conversion and comparison between qvarianthash and qvariantmap
QVariant claims to be able to QVariantHash and QVariantMap, but the actual conversion implementation is missing. Task-number: QTBUG-61471 Change-Id: I0cba74642aa77dc423effed289bc7619922a89eb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests/auto/corelib/kernel')
-rw-r--r--tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
index d16948fd5d..e43b7acfb8 100644
--- a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
+++ b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
@@ -2558,6 +2558,8 @@ void tst_QVariant::variantMap()
QVariant v3 = QVariant(QMetaType::type("QMap<QString, QVariant>"), &map);
QCOMPARE(qvariant_cast<QVariantMap>(v3).value("test").toInt(), 42);
+ QCOMPARE(v, QVariant(v.toHash()));
+
// multi-keys
map.insertMulti("test", 47);
v = map;
@@ -2565,6 +2567,8 @@ void tst_QVariant::variantMap()
QCOMPARE(map2, map);
map2 = v.toMap();
QCOMPARE(map2, map);
+
+ QCOMPARE(v, QVariant(v.toHash()));
}
void tst_QVariant::variantHash()
@@ -2587,6 +2591,8 @@ void tst_QVariant::variantHash()
QVariant v3 = QVariant(QMetaType::type("QHash<QString, QVariant>"), &hash);
QCOMPARE(qvariant_cast<QVariantHash>(v3).value("test").toInt(), 42);
+ QCOMPARE(v, QVariant(v.toMap()));
+
// multi-keys
hash.insertMulti("test", 47);
v = hash;
@@ -2594,6 +2600,8 @@ void tst_QVariant::variantHash()
QCOMPARE(hash2, hash);
hash2 = v.toHash();
QCOMPARE(hash2, hash);
+
+ QCOMPARE(v, QVariant(v.toMap()));
}
class CustomQObject : public QObject {