diff options
author | Erik Verbruggen <erik.verbruggen@qt.io> | 2018-10-11 10:48:19 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@qt.io> | 2018-10-11 08:59:20 +0000 |
commit | b8f4005f132c26b842387e1ae5f492594dc03d86 (patch) | |
tree | 7e3739557d168ce6e7a54fa884f330f649636bd7 /tests/auto | |
parent | f47c87e75fb94f1b322157fa663ac8b87a4dbd22 (diff) |
JS: Check array subscripts for validity when generating code
Task-number: QTBUG-71079
Change-Id: I999130f3994f513bb9d2ca8ddaa94688451937fc
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/qml/v4misc/tst_v4misc.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/auto/qml/v4misc/tst_v4misc.cpp b/tests/auto/qml/v4misc/tst_v4misc.cpp index 22ff9c43fc..21a826850b 100644 --- a/tests/auto/qml/v4misc/tst_v4misc.cpp +++ b/tests/auto/qml/v4misc/tst_v4misc.cpp @@ -37,6 +37,9 @@ class tst_v4misc: public QObject private slots: void tdzOptimizations_data(); void tdzOptimizations(); + + void parserMisc_data(); + void parserMisc(); }; void tst_v4misc::tdzOptimizations_data() @@ -102,6 +105,23 @@ void tst_v4misc::tdzOptimizations() } +void tst_v4misc::parserMisc_data() +{ + QTest::addColumn<QString>("error"); + + QTest::newRow("8[++i][+++i]") << QString("ReferenceError: Prefix ++ operator applied to value that is not a reference."); +} + +void tst_v4misc::parserMisc() +{ + QFETCH(QString, error); + + QJSEngine engine; + QJSValue result = engine.evaluate(QString::fromUtf8(QTest::currentDataTag())); + QVERIFY(result.isError()); + QCOMPARE(result.toString(), error); +} + QTEST_MAIN(tst_v4misc); #include "tst_v4misc.moc" |