aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2020-01-07 09:03:38 +0100
committerUlf Hermann <ulf.hermann@qt.io>2020-01-08 09:28:43 +0100
commitcbf97ccf8bb46c720de01a79f39b335dc74db71b (patch)
treec2e127ab8c77e3f9f6f417b8207d73f0016b81ce /tests
parent9c6a626202a65fea2a30167a62ff8ea56514b59c (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.cpp12
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"