aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qjsengine/tst_qjsengine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qml/qjsengine/tst_qjsengine.cpp')
-rw-r--r--tests/auto/qml/qjsengine/tst_qjsengine.cpp16
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()
{
{