diff options
author | Lars Knoll <lars.knoll@qt.io> | 2018-02-05 15:27:17 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2018-02-08 14:00:40 +0000 |
commit | 0e7dd897923bc5dd8e3eaf8b4f5255174c766199 (patch) | |
tree | d05b82a734e03acc7a336347f11d2ff28a90865a /tests/auto/qml/qjsengine | |
parent | 206f509c63e5952733db318fbc79c14494e18502 (diff) |
Add support for parsing of binary and octal numbers
In line with Chapter 11.8.3 of ECMAScript 6.
Change-Id: I3c67e001858eb8f055ec49f83ec51a1bf9c8154b
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
Diffstat (limited to 'tests/auto/qml/qjsengine')
-rw-r--r-- | tests/auto/qml/qjsengine/tst_qjsengine.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/auto/qml/qjsengine/tst_qjsengine.cpp b/tests/auto/qml/qjsengine/tst_qjsengine.cpp index 519c57efb2..73e10e5dc4 100644 --- a/tests/auto/qml/qjsengine/tst_qjsengine.cpp +++ b/tests/auto/qml/qjsengine/tst_qjsengine.cpp @@ -203,6 +203,9 @@ private slots: void scriptScopes(); + void binaryNumbers(); + void octalNumbers(); + signals: void testSignal(); }; @@ -4136,6 +4139,38 @@ void tst_QJSEngine::scriptScopes() QCOMPARE(use.toInt(), 42); } +void tst_QJSEngine::binaryNumbers() +{ + QJSEngine engine; + + QJSValue result = engine.evaluate("0b1001"); + QVERIFY(result.isNumber()); + QVERIFY(result.toNumber() == 9); + + result = engine.evaluate("0B1001"); + QVERIFY(result.isNumber()); + QVERIFY(result.toNumber() == 9); + + result = engine.evaluate("0b2"); + QVERIFY(result.isError()); +} + +void tst_QJSEngine::octalNumbers() +{ + QJSEngine engine; + + QJSValue result = engine.evaluate("0o11"); + QVERIFY(result.isNumber()); + QVERIFY(result.toNumber() == 9); + + result = engine.evaluate("0O11"); + QVERIFY(result.isNumber()); + QVERIFY(result.toNumber() == 9); + + result = engine.evaluate("0o9"); + QVERIFY(result.isError()); +} + QTEST_MAIN(tst_QJSEngine) #include "tst_qjsengine.moc" |