summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/compatibilitySemicolon.qml11
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp11
2 files changed, 22 insertions, 0 deletions
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/compatibilitySemicolon.qml b/tests/auto/declarative/qdeclarativelanguage/data/compatibilitySemicolon.qml
new file mode 100644
index 00000000..117925e6
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/compatibilitySemicolon.qml
@@ -0,0 +1,11 @@
+import QtQuick 1.0
+
+QtObject {
+ function code() {
+
+ // Not correct according to ECMA 5.1, but JSC and V8 accept the following:
+ do {
+ ;
+ } while (false) true
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp
index eff8b8ad..11633c06 100644
--- a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp
+++ b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp
@@ -158,6 +158,8 @@ private slots:
void crash1();
void crash2();
+ void compatibilitySemicolon();
+
private:
QDeclarativeEngine engine;
void testType(const QString& qml, const QString& type, const QString& error);
@@ -2009,6 +2011,15 @@ void tst_qdeclarativelanguage::aliasPropertyChangeSignals()
}
}
+void tst_qdeclarativelanguage::compatibilitySemicolon()
+{
+ QDeclarativeComponent component(&engine, testFileUrl("compatibilitySemicolon.qml"));
+
+ VERIFY_ERRORS(0);
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+}
+
QTEST_MAIN(tst_qdeclarativelanguage)
#include "tst_qdeclarativelanguage.moc"