From 5165ae9070d20130c893a1eaf9fe914e689b1fe0 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Wed, 21 Mar 2018 09:46:28 +0100 Subject: Don't fail on pre increment operator after a newline In some valid cases, the lexer would add an automatic semicolon before the ++/-- operators even if it shouldn't. Change-Id: I2935259fd98a4c7f3f929cc1cecea85f7dde8016 Reviewed-by: Simon Hausmann --- tests/auto/qml/qjsengine/tst_qjsengine.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'tests/auto/qml/qjsengine') diff --git a/tests/auto/qml/qjsengine/tst_qjsengine.cpp b/tests/auto/qml/qjsengine/tst_qjsengine.cpp index 0e6b77f02b..a57e0b2c79 100644 --- a/tests/auto/qml/qjsengine/tst_qjsengine.cpp +++ b/tests/auto/qml/qjsengine/tst_qjsengine.cpp @@ -208,6 +208,8 @@ private slots: void binaryNumbers(); void octalNumbers(); + void incrementAfterNewline(); + signals: void testSignal(); }; @@ -4192,6 +4194,19 @@ void tst_QJSEngine::octalNumbers() QVERIFY(result.isError()); } +void tst_QJSEngine::incrementAfterNewline() +{ + QJSEngine engine; + + QJSValue result = engine.evaluate("var x = 0; if (\n++x) x; else -x;"); + QVERIFY(result.isNumber()); + QVERIFY(result.toNumber() == 1); + + result = engine.evaluate("var x = 0; if (\n--x) x; else -x;"); + QVERIFY(result.isNumber()); + QVERIFY(result.toNumber() == -1); +} + QTEST_MAIN(tst_QJSEngine) #include "tst_qjsengine.moc" -- cgit v1.2.3