diff options
Diffstat (limited to 'tests/auto/qml/qjsengine/tst_qjsengine.cpp')
-rw-r--r-- | tests/auto/qml/qjsengine/tst_qjsengine.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/auto/qml/qjsengine/tst_qjsengine.cpp b/tests/auto/qml/qjsengine/tst_qjsengine.cpp index 64c6754aa7..b2723b02fd 100644 --- a/tests/auto/qml/qjsengine/tst_qjsengine.cpp +++ b/tests/auto/qml/qjsengine/tst_qjsengine.cpp @@ -153,6 +153,7 @@ private slots: void indexedAccesses(); void prototypeChainGc(); + void prototypeChainGc_QTBUG38299(); void dynamicProperties(); @@ -2963,6 +2964,21 @@ void tst_QJSEngine::prototypeChainGc() QVERIFY(proto.isObject()); } +void tst_QJSEngine::prototypeChainGc_QTBUG38299() +{ + QJSEngine engine; + engine.evaluate("var mapping = {" + "'prop1': \"val1\",\n" + "'prop2': \"val2\"\n" + "}\n" + "\n" + "delete mapping.prop2\n" + "delete mapping.prop1\n" + "\n"); + // Don't hang! + engine.collectGarbage(); +} + void tst_QJSEngine::dynamicProperties() { { |