diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2014-03-28 16:02:45 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-03-28 16:25:34 +0100 |
commit | bc030defad916b073ede55d7a7ad8db9a41e0ad2 (patch) | |
tree | 4cae2fe211c306ea50d52e3057b5fe0db4f6d28a /tests | |
parent | 1526771ebf473af8a65bce77cfd16be67b6eb944 (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.cpp | 8 |
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() |