diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2020-01-07 09:03:38 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2020-01-08 09:28:43 +0100 |
commit | cbf97ccf8bb46c720de01a79f39b335dc74db71b (patch) | |
tree | c2e127ab8c77e3f9f6f417b8207d73f0016b81ce /tests | |
parent | 9c6a626202a65fea2a30167a62ff8ea56514b59c (diff) |
V4: Don't crash when sorting arrays with non-stringifyable entries
Fixes: QTBUG-81108
Change-Id: I7e121776a2416b5338c4c1309ec7cc31c703ad28
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/qml/qjsengine/tst_qjsengine.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/auto/qml/qjsengine/tst_qjsengine.cpp b/tests/auto/qml/qjsengine/tst_qjsengine.cpp index b9df69d2db..d348881e2e 100644 --- a/tests/auto/qml/qjsengine/tst_qjsengine.cpp +++ b/tests/auto/qml/qjsengine/tst_qjsengine.cpp @@ -255,6 +255,7 @@ private slots: void arrayConcatOnSparseArray(); void sortSparseArray(); void compileBrokenRegexp(); + void sortNonStringArray(); void tostringRecursionCheck(); void arrayIncludesWithLargeArray(); @@ -5067,6 +5068,17 @@ void tst_QJSEngine::printCircularArray() )js"); } +void tst_QJSEngine::sortNonStringArray() +{ + QJSEngine engine; + const auto value = engine.evaluate( + "const v4 = [Symbol.iterator, 1];" + "const v5 = v4.sort();" + ); + QVERIFY(value.isError()); + QCOMPARE(value.toString(), "TypeError: Cannot convert a symbol to a string."); +} + QTEST_MAIN(tst_QJSEngine) #include "tst_qjsengine.moc" |