diff options
Diffstat (limited to 'tests/auto/qml/qjsengine/tst_qjsengine.cpp')
-rw-r--r-- | tests/auto/qml/qjsengine/tst_qjsengine.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/auto/qml/qjsengine/tst_qjsengine.cpp b/tests/auto/qml/qjsengine/tst_qjsengine.cpp index e08a1cc37e..0ccb8210bc 100644 --- a/tests/auto/qml/qjsengine/tst_qjsengine.cpp +++ b/tests/auto/qml/qjsengine/tst_qjsengine.cpp @@ -249,6 +249,8 @@ private slots: void interrupt_data(); void interrupt(); + void triggerBackwardJumpWithDestructuring(); + public: Q_INVOKABLE QJSValue throwingCppMethod1(); Q_INVOKABLE void throwingCppMethod2(); @@ -4938,6 +4940,19 @@ void tst_QJSEngine::interrupt() #endif } +void tst_QJSEngine::triggerBackwardJumpWithDestructuring() +{ + QJSEngine engine; + auto value = engine.evaluate( + "function makeArray(n) { return [...Array(n).keys()]; }\n" + "for (let i=0;i<100;++i) {\n" + " let arr = makeArray(20)\n" + " arr.sort( (a, b) => b - a )\n" + "}" + ); + QVERIFY(!value.isError()); +} + QTEST_MAIN(tst_QJSEngine) #include "tst_qjsengine.moc" |