aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/auto/qml/qjsengine/tst_qjsengine.cpp42
1 files changed, 0 insertions, 42 deletions
diff --git a/tests/auto/qml/qjsengine/tst_qjsengine.cpp b/tests/auto/qml/qjsengine/tst_qjsengine.cpp
index 30a113f535..e0e08d9027 100644
--- a/tests/auto/qml/qjsengine/tst_qjsengine.cpp
+++ b/tests/auto/qml/qjsengine/tst_qjsengine.cpp
@@ -121,7 +121,6 @@ private slots:
void jsForInStatement_mutateWhileIterating();
void jsForInStatement_arrays();
void jsForInStatement_nullAndUndefined();
- void jsFunctionDeclarationAsStatement();
void stringObjects();
void jsStringPrototypeReplaceBugs();
void getterSetterThisObject_global();
@@ -1891,47 +1890,6 @@ void tst_QJSEngine::jsForInStatement_nullAndUndefined()
}
}
-void tst_QJSEngine::jsFunctionDeclarationAsStatement()
-{
- // ECMA-262 does not allow function declarations to be used as statements,
- // but several popular implementations (including JSC) do. See the NOTE
- // at the beginning of chapter 12 in ECMA-262 5th edition, where it's
- // recommended that implementations either disallow this usage or issue
- // a warning.
- // Since we had a bug report long ago about QtScript not supporting this
- // "feature" (and thus deviating from other implementations), we still
- // check this behavior.
-
- QJSEngine eng;
- QVERIFY(eng.globalObject().property("bar").isUndefined());
- eng.evaluate("function foo(arg) {\n"
- " if (arg == 'bar')\n"
- " function bar() { return 'bar'; }\n"
- " else\n"
- " function baz() { return 'baz'; }\n"
- " return (arg == 'bar') ? bar : baz;\n"
- "}");
- QVERIFY(eng.globalObject().property("bar").isUndefined());
- QVERIFY(eng.globalObject().property("baz").isUndefined());
- QVERIFY(eng.evaluate("foo").isCallable());
- {
- QJSValue ret = eng.evaluate("foo('bar')");
- QVERIFY(ret.isCallable());
- QJSValue ret2 = ret.call();
- QCOMPARE(ret2.toString(), QString::fromLatin1("bar"));
- QVERIFY(eng.globalObject().property("bar").isUndefined());
- QVERIFY(eng.globalObject().property("baz").isUndefined());
- }
- {
- QJSValue ret = eng.evaluate("foo('baz')");
- QVERIFY(ret.isCallable());
- QJSValue ret2 = ret.call();
- QCOMPARE(ret2.toString(), QString::fromLatin1("baz"));
- QVERIFY(eng.globalObject().property("bar").isUndefined());
- QVERIFY(eng.globalObject().property("baz").isUndefined());
- }
-}
-
void tst_QJSEngine::stringObjects()
{
// See ECMA-262 Section 15.5, "String Objects".