diff options
author | Lars Knoll <lars.knoll@digia.com> | 2014-02-21 15:48:39 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-03-03 08:12:53 +0100 |
commit | 8048d8215ca61c38f1263b93cd41b04e2c66165d (patch) | |
tree | 9f9e162741a2fa447e42513f7bd05e222b232911 /tests/auto/qml/qjsengine/tst_qjsengine.cpp | |
parent | 3b416a69869c8a1b8cdc802a77201066280c9026 (diff) |
Fix a crash in the register allocator
The base for an indexed access can be a constant.
Change-Id: Icc529c02fb0ff2ac30d6f40088781b6ecfba81fc
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Diffstat (limited to 'tests/auto/qml/qjsengine/tst_qjsengine.cpp')
-rw-r--r-- | tests/auto/qml/qjsengine/tst_qjsengine.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/auto/qml/qjsengine/tst_qjsengine.cpp b/tests/auto/qml/qjsengine/tst_qjsengine.cpp index a11185431b..53e86268a6 100644 --- a/tests/auto/qml/qjsengine/tst_qjsengine.cpp +++ b/tests/auto/qml/qjsengine/tst_qjsengine.cpp @@ -148,6 +148,7 @@ private slots: void arrayPop_QTBUG_35979(); void regexpLastMatch(); + void indexedAccesses(); signals: void testSignal(); @@ -2869,6 +2870,19 @@ void tst_QJSEngine::regexpLastMatch() } +void tst_QJSEngine::indexedAccesses() +{ + QJSEngine engine; + QJSValue v = engine.evaluate("function foo() { return 1[1] } foo()"); + QVERIFY(v.isUndefined()); + v = engine.evaluate("function foo() { return /x/[1] } foo()"); + QVERIFY(v.isUndefined()); + v = engine.evaluate("function foo() { return \"xy\"[1] } foo()"); + QVERIFY(v.isString()); + v = engine.evaluate("function foo() { return \"xy\"[2] } foo()"); + QVERIFY(v.isUndefined()); +} + QTEST_MAIN(tst_QJSEngine) #include "tst_qjsengine.moc" |