aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp')
-rw-r--r--tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
index 98f9bfe3ef..72a524ece5 100644
--- a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
+++ b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
@@ -367,6 +367,8 @@ private slots:
void deleteSparseInIteration();
void saveAccumulatorBeforeToInt32();
void intMinDividedByMinusOne();
+ void undefinedPropertiesInObjectWrapper();
+ void hugeRegexpQuantifiers();
private:
// static void propertyVarWeakRefCallback(v8::Persistent<v8::Value> object, void* parameter);
@@ -8984,6 +8986,25 @@ void tst_qqmlecmascript::intMinDividedByMinusOne()
QCOMPARE(object->property("doesNotFitInInt").toUInt(), 2147483648u);
}
+void tst_qqmlecmascript::undefinedPropertiesInObjectWrapper()
+{
+ QQmlEngine engine;
+ QQmlComponent component(&engine, testFile("undefinedPropertiesInObjectWrapper.qml"));
+ QVERIFY(component.isReady());
+ QScopedPointer<QObject> object(component.create());
+ QVERIFY(!object.isNull());
+}
+
+void tst_qqmlecmascript::hugeRegexpQuantifiers()
+{
+ QJSEngine engine;
+ QJSValue value = engine.evaluate("/({3072140529})?{3072140529}/");
+
+ // It's a regular expression, but it won't match anything.
+ // The RegExp compiler also shouldn't crash.
+ QVERIFY(value.isRegExp());
+}
+
QTEST_MAIN(tst_qqmlecmascript)
#include "tst_qqmlecmascript.moc"