aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2014-03-28 16:02:45 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-28 16:25:34 +0100
commitbc030defad916b073ede55d7a7ad8db9a41e0ad2 (patch)
tree4cae2fe211c306ea50d52e3057b5fe0db4f6d28a /tests
parent1526771ebf473af8a65bce77cfd16be67b6eb944 (diff)
Fix crash in conversion from QVariantMap to QJSValue
When the key is an array index, use arraySet instead of trying to insert an array index as internal class member. Task-number: QTBUG-37854 Change-Id: I23f01cc9d6be98b57d3f13ac7ee847298e9632a3 Reviewed-by: Matt Broadstone <mbroadst@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qml/qjsengine/tst_qjsengine.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/tests/auto/qml/qjsengine/tst_qjsengine.cpp b/tests/auto/qml/qjsengine/tst_qjsengine.cpp
index 5e6b2dd808..518d3e9897 100644
--- a/tests/auto/qml/qjsengine/tst_qjsengine.cpp
+++ b/tests/auto/qml/qjsengine/tst_qjsengine.cpp
@@ -1230,6 +1230,14 @@ void tst_QJSEngine::valueConversion_QVariant()
QCOMPARE(qjsvalue_cast<QVariant>(QJSValue(123)), QVariant(123));
QVERIFY(eng.toScriptValue(QVariant(QMetaType::VoidStar, 0)).isNull());
+
+ {
+ QVariantMap map;
+ map.insert("42", "the answer to life the universe and everything");
+ QJSValue val = eng.toScriptValue(map);
+ QVERIFY(val.isObject());
+ QCOMPARE(val.property(42).toString(), map.value(QStringLiteral("42")).toString());
+ }
}
void tst_QJSEngine::valueConversion_basic2()