diff options
Diffstat (limited to 'tests/auto/qml')
55 files changed, 7819 insertions, 388 deletions
diff --git a/tests/auto/qml/debugger/qdebugmessageservice/tst_qdebugmessageservice.cpp b/tests/auto/qml/debugger/qdebugmessageservice/tst_qdebugmessageservice.cpp index f851688b5e..d2cfd3897a 100644 --- a/tests/auto/qml/debugger/qdebugmessageservice/tst_qdebugmessageservice.cpp +++ b/tests/auto/qml/debugger/qdebugmessageservice/tst_qdebugmessageservice.cpp @@ -89,21 +89,12 @@ public: protected: //inherited from QQmlDebugClient - void stateChanged(State state); void messageReceived(const QByteArray &data); signals: - void enabled(); void debugOutput(); }; -void QQmlDebugMsgClient::stateChanged(State state) -{ - if (state == Enabled) { - emit enabled(); - } -} - void QQmlDebugMsgClient::messageReceived(const QByteArray &data) { QPacket ds(connection()->currentDataStreamVersion(), data); diff --git a/tests/auto/qml/debugger/qqmldebuggingenabler/qqmldebuggingenabler/tst_qqmldebuggingenabler.cpp b/tests/auto/qml/debugger/qqmldebuggingenabler/qqmldebuggingenabler/tst_qqmldebuggingenabler.cpp index 52e7f85e52..37118f4bd0 100644 --- a/tests/auto/qml/debugger/qqmldebuggingenabler/qqmldebuggingenabler/tst_qqmldebuggingenabler.cpp +++ b/tests/auto/qml/debugger/qqmldebuggingenabler/qqmldebuggingenabler/tst_qqmldebuggingenabler.cpp @@ -125,7 +125,7 @@ void tst_QQmlDebuggingEnabler::qmlscene() QQmlDebugClient::Enabled : QQmlDebugClient::Unavailable); } - QCOMPARE(m_process->state(), QLatin1String("running")); + QCOMPARE(m_process->state(), QProcess::Running); if (!blockMode) { QTRY_VERIFY_WITH_TIMEOUT(m_process->output().contains( QLatin1String("Component.onCompleted")), 15000); @@ -172,7 +172,7 @@ void tst_QQmlDebuggingEnabler::custom() QQmlDebugClient::Enabled : QQmlDebugClient::Unavailable); } - QCOMPARE(m_process->state(), QLatin1String("running")); + QCOMPARE(m_process->state(), QProcess::Running); if (!blockMode) { QTRY_VERIFY_WITH_TIMEOUT(m_process->output().contains(QLatin1String("QQmlEngine created")), 15000); diff --git a/tests/auto/qml/debugger/qqmldebugjs/qqmldebugjs/tst_qqmldebugjs.cpp b/tests/auto/qml/debugger/qqmldebugjs/qqmldebugjs/tst_qqmldebugjs.cpp index 660afce216..b36e576320 100644 --- a/tests/auto/qml/debugger/qqmldebugjs/qqmldebugjs/tst_qqmldebugjs.cpp +++ b/tests/auto/qml/debugger/qqmldebugjs/qqmldebugjs/tst_qqmldebugjs.cpp @@ -254,6 +254,8 @@ public: { parser = jsEngine.evaluate(QLatin1String("JSON.parse")); stringify = jsEngine.evaluate(QLatin1String("JSON.stringify")); + QObject::connect(this, &QQmlDebugClient::stateChanged, + this, &QJSDebugClient::onStateChanged); } void connect(bool redundantRefs = false, bool namesAsObjects = false); @@ -275,7 +277,7 @@ public: protected: //inherited from QQmlDebugClient - void stateChanged(State state); + void onStateChanged(State state); void messageReceived(const QByteArray &data); signals: @@ -663,7 +665,7 @@ void QJSDebugClient::disconnect() sendMessage(packMessage(DISCONNECT, json.toString().toUtf8())); } -void QJSDebugClient::stateChanged(State state) +void QJSDebugClient::onStateChanged(State state) { if (state == Enabled) flushSendBuffer(); diff --git a/tests/auto/qml/debugger/qqmldebugprocess/qqmldebugprocess/tst_qqmldebugprocess.cpp b/tests/auto/qml/debugger/qqmldebugprocess/qqmldebugprocess/tst_qqmldebugprocess.cpp index 993a1d5f63..35bd912d9b 100644 --- a/tests/auto/qml/debugger/qqmldebugprocess/qqmldebugprocess/tst_qqmldebugprocess.cpp +++ b/tests/auto/qml/debugger/qqmldebugprocess/qqmldebugprocess/tst_qqmldebugprocess.cpp @@ -118,7 +118,7 @@ void tst_QQmlDebugProcess::sessionStart() QTimer::singleShot(delay, process.data(), wait); QTRY_VERIFY(done); - QVERIFY(process->state().startsWith("not running")); + QCOMPARE(process->state(), QProcess::NotRunning); } QTEST_MAIN(tst_QQmlDebugProcess) diff --git a/tests/auto/qml/debugger/qv4debugger/tst_qv4debugger.cpp b/tests/auto/qml/debugger/qv4debugger/tst_qv4debugger.cpp index 4ce0f9fd89..7d99ab0a90 100644 --- a/tests/auto/qml/debugger/qv4debugger/tst_qv4debugger.cpp +++ b/tests/auto/qml/debugger/qv4debugger/tst_qv4debugger.cpp @@ -86,8 +86,7 @@ public: QV4::Scope scope(v4); QV4::ScopedString name(scope, v4->newString(functionName)); - QV4::ScopedContext ctx(scope, v4->rootContext()); - QV4::ScopedValue function(scope, FunctionObject::createBuiltinFunction(ctx, name, injectedFunction)); + QV4::ScopedValue function(scope, FunctionObject::createBuiltinFunction(v4, name, injectedFunction, 0)); v4->globalObject->put(name, function); } @@ -220,7 +219,21 @@ public: { for (int i = 0, ei = m_stackTrace.size(); i != ei; ++i) { m_capturedScope.append(NamedRefs()); - ScopeJob job(&collector, i, 0); + FrameJob frameJob(&collector, i); + debugger->runInEngine(&frameJob); + QJsonObject frameObj = frameJob.returnValue(); + QJsonArray scopes = frameObj.value(QLatin1String("scopes")).toArray(); + int nscopes = scopes.size(); + int s = 0; + for (s = 0; s < nscopes; ++s) { + QJsonObject o = scopes.at(s).toObject(); + if (o.value(QLatin1String("type")).toInt(-2) == 1) // CallContext + break; + } + if (s == nscopes) + return; + + ScopeJob job(&collector, i, s); debugger->runInEngine(&job); NamedRefs &refs = m_capturedScope.last(); QJsonObject object = job.returnValue(); @@ -481,7 +494,7 @@ void tst_qv4debugger::conditionalBreakPoint() QVERIFY(m_debuggerAgent->m_capturedScope.size() > 1); const TestAgent::NamedRefs &frame0 = m_debuggerAgent->m_capturedScope.at(0); - QCOMPARE(frame0.size(), 2); + QCOMPARE(frame0.size(), 3); QVERIFY(frame0.contains("i")); QCOMPARE(frame0.value("i").toInt(), 11); } @@ -540,7 +553,7 @@ void tst_qv4debugger::readArguments() QVERIFY(m_debuggerAgent->m_wasPaused); QVERIFY(m_debuggerAgent->m_capturedScope.size() > 1); const TestAgent::NamedRefs &frame0 = m_debuggerAgent->m_capturedScope.at(0); - QCOMPARE(frame0.size(), 4); + QCOMPARE(frame0.size(), 5); QVERIFY(frame0.contains(QStringLiteral("a"))); QCOMPARE(frame0.type(QStringLiteral("a")), QStringLiteral("number")); QCOMPARE(frame0.value(QStringLiteral("a")).toDouble(), 1.0); @@ -567,7 +580,7 @@ void tst_qv4debugger::readLocals() QVERIFY(m_debuggerAgent->m_wasPaused); QVERIFY(m_debuggerAgent->m_capturedScope.size() > 1); const TestAgent::NamedRefs &frame0 = m_debuggerAgent->m_capturedScope.at(0); - QCOMPARE(frame0.size(), 4); // locals and parameters + QCOMPARE(frame0.size(), 5); // locals and parameters QVERIFY(frame0.contains("c")); QCOMPARE(frame0.type("c"), QStringLiteral("number")); QCOMPARE(frame0.value("c").toDouble(), 3.0); @@ -592,7 +605,7 @@ void tst_qv4debugger::readObject() QVERIFY(m_debuggerAgent->m_wasPaused); QVERIFY(m_debuggerAgent->m_capturedScope.size() > 1); const TestAgent::NamedRefs &frame0 = m_debuggerAgent->m_capturedScope.at(0); - QCOMPARE(frame0.size(), 2); + QCOMPARE(frame0.size(), 3); QVERIFY(frame0.contains("b")); QCOMPARE(frame0.type("b"), QStringLiteral("object")); QJsonObject b = frame0.rawValue("b"); @@ -657,7 +670,7 @@ void tst_qv4debugger::readContextInAllFrames() for (int i = 0; i < 12; ++i) { const TestAgent::NamedRefs &scope = m_debuggerAgent->m_capturedScope.at(i); - QCOMPARE(scope.size(), 2); + QCOMPARE(scope.size(), 3); QVERIFY(scope.contains("n")); QCOMPARE(scope.type("n"), QStringLiteral("number")); QCOMPARE(scope.value("n").toDouble(), i + 1.0); diff --git a/tests/auto/qml/debugger/shared/debugutil.cpp b/tests/auto/qml/debugger/shared/debugutil.cpp index b118b22c64..46f504f6d3 100644 --- a/tests/auto/qml/debugger/shared/debugutil.cpp +++ b/tests/auto/qml/debugger/shared/debugutil.cpp @@ -98,6 +98,9 @@ QString QQmlDebugTest::connectionStateString(const QQmlDebugConnection *connecti QQmlDebugTestClient::QQmlDebugTestClient(const QString &s, QQmlDebugConnection *c) : QQmlDebugClient(s, c) { + connect(this, &QQmlDebugClient::stateChanged, this, [this](QQmlDebugClient::State newState) { + QCOMPARE(newState, state()); + }); } QByteArray QQmlDebugTestClient::waitForResponse() @@ -111,12 +114,6 @@ QByteArray QQmlDebugTestClient::waitForResponse() return lastMsg; } -void QQmlDebugTestClient::stateChanged(State stat) -{ - QCOMPARE(stat, state()); - emit stateHasChanged(); -} - void QQmlDebugTestClient::messageReceived(const QByteArray &ba) { lastMsg = ba; @@ -211,7 +208,7 @@ void QQmlDebugTest::cleanup() if (QTest::currentTestFailed()) { const QString null = QStringLiteral("null"); - qDebug() << "Process State:" << (m_process ? m_process->state() : null); + qDebug() << "Process State:" << (m_process ? m_process->stateString() : null); qDebug() << "Application Output:" << (m_process ? m_process->output() : null); qDebug() << "Connection State:" << QQmlDebugTest::connectionStateString(m_connection); for (QQmlDebugClient *client : m_clients) { diff --git a/tests/auto/qml/debugger/shared/debugutil_p.h b/tests/auto/qml/debugger/shared/debugutil_p.h index 94ad83bfce..05665f8a28 100644 --- a/tests/auto/qml/debugger/shared/debugutil_p.h +++ b/tests/auto/qml/debugger/shared/debugutil_p.h @@ -88,11 +88,9 @@ public: QByteArray waitForResponse(); signals: - void stateHasChanged(); void serverMessage(const QByteArray &); protected: - virtual void stateChanged(State state); virtual void messageReceived(const QByteArray &ba); private: diff --git a/tests/auto/qml/debugger/shared/qqmldebugprocess.cpp b/tests/auto/qml/debugger/shared/qqmldebugprocess.cpp index 201a6b1a76..0005477075 100644 --- a/tests/auto/qml/debugger/shared/qqmldebugprocess.cpp +++ b/tests/auto/qml/debugger/shared/qqmldebugprocess.cpp @@ -51,6 +51,7 @@ QQmlDebugProcess::QQmlDebugProcess(const QString &executable, QObject *parent) this, [this]() { m_timer.stop(); m_eventLoop.quit(); + emit finished(); }); connect(&m_timer, &QTimer::timeout, this, &QQmlDebugProcess::timeout); @@ -61,7 +62,7 @@ QQmlDebugProcess::~QQmlDebugProcess() stop(); } -QString QQmlDebugProcess::state() +QString QQmlDebugProcess::stateString() const { QString stateStr; switch (m_process.state()) { @@ -157,6 +158,11 @@ bool QQmlDebugProcess::waitForFinished() return m_process.waitForFinished(); } +QProcess::ProcessState QQmlDebugProcess::state() const +{ + return m_process.state(); +} + QProcess::ExitStatus QQmlDebugProcess::exitStatus() const { return m_process.exitStatus(); diff --git a/tests/auto/qml/debugger/shared/qqmldebugprocess_p.h b/tests/auto/qml/debugger/shared/qqmldebugprocess_p.h index fd2c89bb41..945cc58c85 100644 --- a/tests/auto/qml/debugger/shared/qqmldebugprocess_p.h +++ b/tests/auto/qml/debugger/shared/qqmldebugprocess_p.h @@ -52,7 +52,7 @@ public: QQmlDebugProcess(const QString &executable, QObject *parent = 0); ~QQmlDebugProcess(); - QString state(); + QString stateString() const; void addEnvironment(const QString &environment); @@ -61,6 +61,7 @@ public: int debugPort() const; bool waitForFinished(); + QProcess::ProcessState state() const; QProcess::ExitStatus exitStatus() const; QString output() const; @@ -69,6 +70,7 @@ public: signals: void readyReadStandardOutput(); + void finished(); private slots: void timeout(); diff --git a/tests/auto/qml/debugger/shared/qqmldebugtestservice.cpp b/tests/auto/qml/debugger/shared/qqmldebugtestservice.cpp index 4dce07d824..896ed608fd 100644 --- a/tests/auto/qml/debugger/shared/qqmldebugtestservice.cpp +++ b/tests/auto/qml/debugger/shared/qqmldebugtestservice.cpp @@ -48,5 +48,4 @@ void QQmlDebugTestService::stateAboutToBeChanged(QQmlDebugService::State) void QQmlDebugTestService::stateChanged(State) { Q_ASSERT(QThread::currentThread() != thread()); - emit stateHasChanged(); } diff --git a/tests/auto/qml/debugger/shared/qqmldebugtestservice.h b/tests/auto/qml/debugger/shared/qqmldebugtestservice.h index 37b4a9f98c..9c39c0893d 100644 --- a/tests/auto/qml/debugger/shared/qqmldebugtestservice.h +++ b/tests/auto/qml/debugger/shared/qqmldebugtestservice.h @@ -38,9 +38,6 @@ class QQmlDebugTestService : public QQmlDebugService public: QQmlDebugTestService(const QString &s, float version = 1, QObject *parent = 0); -signals: - void stateHasChanged(); - protected: virtual void messageReceived(const QByteArray &ba); virtual void stateAboutToBeChanged(State state); diff --git a/tests/auto/qml/ecmascripttests/TestExpectations b/tests/auto/qml/ecmascripttests/TestExpectations index 589f25d174..4cb73a13fa 100644 --- a/tests/auto/qml/ecmascripttests/TestExpectations +++ b/tests/auto/qml/ecmascripttests/TestExpectations @@ -1,177 +1,5903 @@ -# wrong tests -# uses octal number -15.2.3.6-2-17-1 failing +# ----- These are tests we will not fix -# these fail after the update to Unicode 6.3. -# the reason is that u+180e changed type from whitespace to control -S9.3.1_A2 -S9.3.1_A3_T1 -S9.3.1_A3_T2 -S15.1.2.2_A2_T10 -S15.1.2.3_A2_T10 -15.5.4.20-3-2 -15.5.4.20-3-3 -15.5.4.20-3-4 -15.5.4.20-3-5 -15.5.4.20-3-6 +# The tests below rely on the ES6 spec quirk that allows 'let' as an identifier. We've +# always treated 'let' as a reserved keyword (without ever getting a bug report about it), +# so we'll keep it that way. It also removes a huge headache in the parser. +language/statements/for-in/let-block-with-newline.js sloppyFails +language/statements/for-of/let-block-with-newline.js sloppyFails +language/statements/for/let-block-with-newline.js sloppyFails +language/statements/if/let-block-with-newline.js sloppyFails +language/statements/labeled/let-block-with-newline.js sloppyFails +language/statements/while/let-block-with-newline.js sloppyFails +language/statements/with/let-block-with-newline.js sloppyFails +language/statements/for-in/let-identifier-with-newline.js sloppyFails +language/statements/for-of/let-identifier-with-newline.js sloppyFails +language/statements/for/let-identifier-with-newline.js sloppyFails +language/statements/if/let-identifier-with-newline.js sloppyFails +language/statements/labeled/let-identifier-with-newline.js sloppyFails +language/statements/while/let-identifier-with-newline.js sloppyFails +language/statements/with/let-identifier-with-newline.js sloppyFails -11.2.3-3_3 failing -S13_A15_T4 failing -S15.4.4.3_A1_T1 failing -S15.4.4.3_A3_T1 failing -S15.5.4.11_A5_T1 failing -S15.2.4.4_A14 failing -# Function declarations in conditionals. We allow them, because the real -# world requires them. -Sbp_12.5_A9_T3 failing -Sbp_12.6.1_A13_T3 failing -Sbp_12.6.2_A13_T3 failing -Sbp_12.6.4_A13_T3 failing - -# es6: function length attributes are configurable, wasn't in es5 -S15.1.2.2_A9.2 failing -S15.1.3.1_A5.2 failing -S15.1.3.2_A5.2 failing -S15.1.3.3_A5.2 failing -S15.1.2.3_A7.2 failing -S15.1.2.4_A2.2 failing -S15.1.2.5_A2.2 failing -S15.1.3.4_A5.2 failing -15.2.3.3-4-186 failing -S15.2.4.2_A9 failing -S15.2.4.3_A9 failing -S15.2.4.4_A9 failing -S15.2.4.5_A9 failing -S15.2.4.6_A9 failing -S15.2.4.7_A9 failing -15.3.3.2-1 failing -15.4.4.2_A4.2 -S15.3.4.2_A9 failing -S15.3.4.3_A9 failing -S15.3.4.4_A9 failing -15.3.4.5-15-2 failing -S15.4.4.2_A4.2 failing -S15.4.4.3_A4.2 failing -S15.4.4.4_A4.2 failing -S15.4.4.5_A6.2 failing -S15.4.4.6_A5.2 failing -S15.4.4.7_A6.2 failing -S15.4.4.8_A5.2 failing -S15.4.4.9_A5.2 failing -S15.4.4.10_A5.2 failing -S15.4.4.11_A7.2 failing -S15.4.4.12_A5.2 failing -S15.4.4.13_A5.2 failing -S15.5.4.10_A9 failing -S15.5.4.11_A9 failing -S15.5.4.12_A9 failing -S15.5.4.13_A9 failing -S15.5.4.14_A9 failing -S15.5.4.15_A9 failing -S15.5.4.16_A9 failing -S15.5.4.17_A9 failing -S15.5.4.18_A9 failing -S15.5.4.19_A9 failing -S15.5.4.4_A9 failing -S15.5.4.5_A9 failing -S15.5.4.6_A9 failing -S15.5.4.7_A9 failing -S15.5.4.8_A9 failing -S15.5.4.9_A9 failing -S15.9.4.2_A3_T2 failing -S15.9.4.3_A3_T2 failing -S15.9.5.2_A3_T2 failing -S15.9.5.3_A3_T2 failing -S15.9.5.4_A3_T2 failing -S15.9.5.5_A3_T2 failing -S15.9.5.1_A3_T2 failing -S15.9.5.10_A3_T2 failing -S15.9.5.11_A3_T2 failing -S15.9.5.12_A3_T2 failing -S15.9.5.13_A3_T2 failing -S15.9.5.14_A3_T2 failing -S15.9.5.15_A3_T2 failing -S15.9.5.16_A3_T2 failing -S15.9.5.17_A3_T2 failing -S15.9.5.18_A3_T2 failing -S15.9.5.19_A3_T2 failing -S15.9.5.20_A3_T2 failing -S15.9.5.21_A3_T2 failing -S15.9.5.22_A3_T2 failing -S15.9.5.23_A3_T2 failing -S15.9.5.24_A3_T2 failing -S15.9.5.25_A3_T2 failing -S15.9.5.26_A3_T2 failing -S15.9.5.27_A3_T2 failing -S15.9.5.28_A3_T2 failing -S15.9.5.29_A3_T2 failing -S15.9.5.30_A3_T2 failing -S15.9.5.31_A3_T2 failing -S15.9.5.32_A3_T2 failing -S15.9.5.33_A3_T2 failing -S15.9.5.34_A3_T2 failing -S15.9.5.35_A3_T2 failing -S15.9.5.36_A3_T2 failing -S15.9.5.37_A3_T2 failing -S15.9.5.38_A3_T2 failing -S15.9.5.39_A3_T2 failing -S15.9.5.40_A3_T2 failing -S15.9.5.41_A3_T2 failing -S15.9.5.42_A3_T2 failing -S15.9.5.6_A3_T2 failing -S15.9.5.7_A3_T2 failing -S15.9.5.8_A3_T2 failing -S15.9.5.9_A3_T2 failing -S15.10.6.2_A9 failing -S15.10.6.3_A9 failing -S15.10.6.4_A9 failing - -# es6: Object.freeze(v) on a non-object returns v, no longer TypeError -15.2.3.9-1 failing -15.2.3.9-1-1 failing -15.2.3.9-1-2 failing -15.2.3.9-1-3 failing -15.2.3.9-1-4 failing -# es6: Object.preventExtensions(O) on a non-object, no longer TypeError -15.2.3.10-1 failing -15.2.3.10-1-3 failing -15.2.3.10-1-4 failing -# es6: Object.isSealed(O) on a non-object, no longer TypeError -15.2.3.11-1 -# es6: Object.isFrozen(O) on a non-object, no longer TypeError -15.2.3.12-1 -15.2.3.12-1-3 -15.2.3.12-1-4 -# es6: Object.isExtensible(O) on a non-object, no longer TypeError -15.2.3.13-1 -15.2.3.13-1-3 -15.2.3.13-1-4 -# es6: Object.keys(O) on a non-object, no longer TypeError -15.2.3.14-1-1 -15.2.3.14-1-2 -15.2.3.14-1-3 -15.2.3.14-1 -15.2.3.14-2 -15.2.3.14-3 -# es6: Object.getOwnPropertyDescriptor(O) on a non-object, no longer TypeError -15.2.3.3-1 -15.2.3.3-1-3 -15.2.3.3-1-4 -# es6: Object.getPrototypeOf(O) on a non-object, no longer TypeError -15.2.3.2-1 -15.2.3.2-1-3 -15.2.3.2-1-4 -# es6: Object.getOwnPropertyNames(O) on a non-object, no longer TypeError -15.2.3.4-1 -15.2.3.4-1-4 -15.2.3.4-1-5 -# es6: Object.seal(O) on a non-object, no longer TypeError -15.2.3.8-1 -15.2.3.8-1-1 -15.2.3.8-1-2 -15.2.3.8-1-3 -15.2.3.8-1-4 - -# es6: Date.prototype is no longer a DateObject -15.9.5.40_1 failing +# ----- test failures that should be fixed +built-ins/Array/from/Array.from-descriptor.js fails +built-ins/Array/from/Array.from-name.js fails +built-ins/Array/from/Array.from_arity.js fails +built-ins/Array/from/Array.from_forwards-length-for-array-likes.js fails +built-ins/Array/from/calling-from-valid-1-noStrict.js sloppyFails +built-ins/Array/from/calling-from-valid-1-onlyStrict.js strictFails +built-ins/Array/from/calling-from-valid-2.js fails +built-ins/Array/from/elements-added-after.js fails +built-ins/Array/from/elements-deleted-after.js fails +built-ins/Array/from/elements-updated-after.js fails +built-ins/Array/from/from-array.js fails +built-ins/Array/from/from-string.js fails +built-ins/Array/from/get-iter-method-err.js fails +built-ins/Array/from/items-is-arraybuffer.js fails +built-ins/Array/from/iter-adv-err.js fails +built-ins/Array/from/iter-cstm-ctor-err.js fails +built-ins/Array/from/iter-cstm-ctor.js fails +built-ins/Array/from/iter-get-iter-err.js fails +built-ins/Array/from/iter-get-iter-val-err.js fails +built-ins/Array/from/iter-map-fn-args.js fails +built-ins/Array/from/iter-map-fn-err.js fails +built-ins/Array/from/iter-map-fn-return.js fails +built-ins/Array/from/iter-map-fn-this-arg.js fails +built-ins/Array/from/iter-map-fn-this-non-strict.js sloppyFails +built-ins/Array/from/iter-map-fn-this-strict.js strictFails +built-ins/Array/from/iter-set-elem-prop-err.js fails +built-ins/Array/from/iter-set-elem-prop.js fails +built-ins/Array/from/iter-set-length-err.js fails +built-ins/Array/from/iter-set-length.js fails +built-ins/Array/from/mapfn-throws-exception.js fails +built-ins/Array/from/proto-from-ctor-realm.js fails +built-ins/Array/from/source-array-boundary.js fails +built-ins/Array/from/source-object-constructor.js fails +built-ins/Array/from/source-object-iterator-1.js fails +built-ins/Array/from/source-object-iterator-2.js fails +built-ins/Array/from/source-object-length.js fails +built-ins/Array/from/source-object-missing.js fails +built-ins/Array/from/source-object-without.js fails +built-ins/Array/from/this-null.js fails +built-ins/Array/isArray/proxy-revoked.js fails +built-ins/Array/isArray/proxy.js fails +built-ins/Array/length/define-own-prop-length-overflow-realm.js fails +built-ins/Array/of/construct-this-with-the-number-of-arguments.js fails +built-ins/Array/of/creates-a-new-array-from-arguments.js fails +built-ins/Array/of/does-not-use-prototype-properties.js fails +built-ins/Array/of/length.js fails +built-ins/Array/of/name.js fails +built-ins/Array/of/of.js fails +built-ins/Array/of/proto-from-ctor-realm.js fails +built-ins/Array/of/return-a-custom-instance.js fails +built-ins/Array/of/return-a-new-array-object.js fails +built-ins/Array/of/return-abrupt-from-contructor.js fails +built-ins/Array/of/return-abrupt-from-data-property-using-proxy.js fails +built-ins/Array/of/return-abrupt-from-setting-length.js fails +built-ins/Array/of/sets-length.js fails +built-ins/Array/proto-from-ctor-realm.js fails +built-ins/Array/prototype/Symbol.unscopables/prop-desc.js fails +built-ins/Array/prototype/Symbol.unscopables/value.js fails +built-ins/Array/prototype/concat/Array.prototype.concat_array-like-length-to-string-throws.js fails +built-ins/Array/prototype/concat/Array.prototype.concat_array-like-length-value-of-throws.js fails +built-ins/Array/prototype/concat/Array.prototype.concat_array-like-negative-length.js fails +built-ins/Array/prototype/concat/Array.prototype.concat_array-like-primitive-non-number-length.js fails +built-ins/Array/prototype/concat/Array.prototype.concat_array-like-string-length.js fails +built-ins/Array/prototype/concat/Array.prototype.concat_array-like-to-length-throws.js fails +built-ins/Array/prototype/concat/Array.prototype.concat_array-like.js fails +built-ins/Array/prototype/concat/Array.prototype.concat_holey-sloppy-arguments.js fails +built-ins/Array/prototype/concat/Array.prototype.concat_large-typed-array.js fails +built-ins/Array/prototype/concat/Array.prototype.concat_length-throws.js fails +built-ins/Array/prototype/concat/Array.prototype.concat_non-array.js fails +built-ins/Array/prototype/concat/Array.prototype.concat_sloppy-arguments-throws.js fails +built-ins/Array/prototype/concat/Array.prototype.concat_sloppy-arguments-with-dupes.js sloppyFails +built-ins/Array/prototype/concat/Array.prototype.concat_sloppy-arguments.js fails +built-ins/Array/prototype/concat/Array.prototype.concat_small-typed-array.js fails +built-ins/Array/prototype/concat/Array.prototype.concat_spreadable-boolean-wrapper.js fails +built-ins/Array/prototype/concat/Array.prototype.concat_spreadable-function.js fails +built-ins/Array/prototype/concat/Array.prototype.concat_spreadable-getter-throws.js fails +built-ins/Array/prototype/concat/Array.prototype.concat_spreadable-number-wrapper.js fails +built-ins/Array/prototype/concat/Array.prototype.concat_spreadable-reg-exp.js fails +built-ins/Array/prototype/concat/Array.prototype.concat_spreadable-sparse-object.js fails +built-ins/Array/prototype/concat/Array.prototype.concat_spreadable-string-wrapper.js fails +built-ins/Array/prototype/concat/Array.prototype.concat_strict-arguments.js fails +built-ins/Array/prototype/concat/S15.4.4.4_A3_T2.js fails +built-ins/Array/prototype/concat/S15.4.4.4_A3_T3.js fails +built-ins/Array/prototype/concat/create-ctor-non-object.js fails +built-ins/Array/prototype/concat/create-proto-from-ctor-realm-array.js fails +built-ins/Array/prototype/concat/create-proto-from-ctor-realm-non-array.js fails +built-ins/Array/prototype/concat/create-proxy.js fails +built-ins/Array/prototype/concat/create-revoked-proxy.js fails +built-ins/Array/prototype/concat/create-species-non-ctor.js fails +built-ins/Array/prototype/concat/create-species.js fails +built-ins/Array/prototype/concat/is-concat-spreadable-is-array-proxy-revoked.js fails +built-ins/Array/prototype/concat/is-concat-spreadable-proxy-revoked.js fails +built-ins/Array/prototype/concat/is-concat-spreadable-proxy.js fails +built-ins/Array/prototype/concat/is-concat-spreadable-val-falsey.js fails +built-ins/Array/prototype/concat/is-concat-spreadable-val-truthy.js fails +built-ins/Array/prototype/copyWithin/coerced-values-end.js fails +built-ins/Array/prototype/copyWithin/coerced-values-start.js fails +built-ins/Array/prototype/copyWithin/coerced-values-target.js fails +built-ins/Array/prototype/copyWithin/fill-holes.js fails +built-ins/Array/prototype/copyWithin/length.js fails +built-ins/Array/prototype/copyWithin/name.js fails +built-ins/Array/prototype/copyWithin/negative-end.js fails +built-ins/Array/prototype/copyWithin/negative-out-of-bounds-end.js fails +built-ins/Array/prototype/copyWithin/negative-out-of-bounds-start.js fails +built-ins/Array/prototype/copyWithin/negative-out-of-bounds-target.js fails +built-ins/Array/prototype/copyWithin/negative-start.js fails +built-ins/Array/prototype/copyWithin/negative-target.js fails +built-ins/Array/prototype/copyWithin/non-negative-out-of-bounds-end.js fails +built-ins/Array/prototype/copyWithin/non-negative-out-of-bounds-target-and-start.js fails +built-ins/Array/prototype/copyWithin/non-negative-target-and-start.js fails +built-ins/Array/prototype/copyWithin/non-negative-target-start-and-end.js fails +built-ins/Array/prototype/copyWithin/prop-desc.js fails +built-ins/Array/prototype/copyWithin/return-abrupt-from-delete-proxy-target.js fails +built-ins/Array/prototype/copyWithin/return-abrupt-from-end.js fails +built-ins/Array/prototype/copyWithin/return-abrupt-from-get-start-value.js fails +built-ins/Array/prototype/copyWithin/return-abrupt-from-has-start.js fails +built-ins/Array/prototype/copyWithin/return-abrupt-from-set-target-value.js fails +built-ins/Array/prototype/copyWithin/return-abrupt-from-start.js fails +built-ins/Array/prototype/copyWithin/return-abrupt-from-target.js fails +built-ins/Array/prototype/copyWithin/return-abrupt-from-this-length.js fails +built-ins/Array/prototype/copyWithin/return-this.js fails +built-ins/Array/prototype/copyWithin/undefined-end.js fails +built-ins/Array/prototype/every/15.4.4.16-3-29.js fails +built-ins/Array/prototype/filter/create-ctor-non-object.js fails +built-ins/Array/prototype/filter/create-proto-from-ctor-realm-array.js fails +built-ins/Array/prototype/filter/create-proto-from-ctor-realm-non-array.js fails +built-ins/Array/prototype/filter/create-proxy.js fails +built-ins/Array/prototype/filter/create-revoked-proxy.js fails +built-ins/Array/prototype/filter/create-species-non-ctor.js fails +built-ins/Array/prototype/filter/create-species.js fails +built-ins/Array/prototype/includes/get-prop.js fails +built-ins/Array/prototype/includes/length-boundaries.js fails +built-ins/Array/prototype/indexOf/15.4.4.14-3-28.js fails +built-ins/Array/prototype/indexOf/15.4.4.14-3-29.js fails +built-ins/Array/prototype/join/S15.4.4.5_A4_T3.js fails +built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-28.js fails +built-ins/Array/prototype/map/create-ctor-non-object.js fails +built-ins/Array/prototype/map/create-proto-from-ctor-realm-array.js fails +built-ins/Array/prototype/map/create-proto-from-ctor-realm-non-array.js fails +built-ins/Array/prototype/map/create-proxy.js fails +built-ins/Array/prototype/map/create-revoked-proxy.js fails +built-ins/Array/prototype/map/create-species-non-ctor.js fails +built-ins/Array/prototype/map/create-species-undef-invalid-len.js fails +built-ins/Array/prototype/map/create-species.js fails +built-ins/Array/prototype/pop/S15.4.4.6_A2_T2.js fails +built-ins/Array/prototype/pop/S15.4.4.6_A3_T1.js fails +built-ins/Array/prototype/pop/S15.4.4.6_A3_T2.js fails +built-ins/Array/prototype/pop/clamps-to-integer-limit.js fails +built-ins/Array/prototype/pop/length-near-integer-limit.js fails +built-ins/Array/prototype/push/S15.4.4.7_A2_T2.js fails +built-ins/Array/prototype/push/S15.4.4.7_A3.js fails +built-ins/Array/prototype/push/throws-if-integer-limit-exceeded.js fails +built-ins/Array/prototype/reverse/length-exceeding-integer-limit-with-object.js fails +built-ins/Array/prototype/reverse/length-exceeding-integer-limit-with-proxy.js fails +built-ins/Array/prototype/slice/S15.4.4.10_A3_T1.js fails +built-ins/Array/prototype/slice/S15.4.4.10_A3_T2.js fails +built-ins/Array/prototype/slice/create-ctor-non-object.js fails +built-ins/Array/prototype/slice/create-non-array-invalid-len.js fails +built-ins/Array/prototype/slice/create-proto-from-ctor-realm-array.js fails +built-ins/Array/prototype/slice/create-proto-from-ctor-realm-non-array.js fails +built-ins/Array/prototype/slice/create-proxied-array-invalid-len.js fails +built-ins/Array/prototype/slice/create-proxy.js fails +built-ins/Array/prototype/slice/create-revoked-proxy.js fails +built-ins/Array/prototype/slice/create-species-neg-zero.js fails +built-ins/Array/prototype/slice/create-species-non-ctor.js fails +built-ins/Array/prototype/slice/create-species.js fails +built-ins/Array/prototype/slice/length-exceeding-integer-limit-proxied-array.js fails +built-ins/Array/prototype/slice/length-exceeding-integer-limit.js fails +built-ins/Array/prototype/some/15.4.4.17-3-28.js fails +built-ins/Array/prototype/some/15.4.4.17-3-29.js fails +built-ins/Array/prototype/sort/comparefn-nonfunction-call-throws.js fails +built-ins/Array/prototype/splice/S15.4.4.12_A3_T1.js fails +built-ins/Array/prototype/splice/clamps-length-to-integer-limit.js fails +built-ins/Array/prototype/splice/create-ctor-non-object.js fails +built-ins/Array/prototype/splice/create-proto-from-ctor-realm-array.js fails +built-ins/Array/prototype/splice/create-proto-from-ctor-realm-non-array.js fails +built-ins/Array/prototype/splice/create-proxy.js fails +built-ins/Array/prototype/splice/create-revoked-proxy.js fails +built-ins/Array/prototype/splice/create-species-length-exceeding-integer-limit.js fails +built-ins/Array/prototype/splice/create-species-neg-zero.js fails +built-ins/Array/prototype/splice/create-species-non-ctor.js fails +built-ins/Array/prototype/splice/create-species-undef-invalid-len.js fails +built-ins/Array/prototype/splice/create-species.js fails +built-ins/Array/prototype/splice/length-and-deleteCount-exceeding-integer-limit.js fails +built-ins/Array/prototype/splice/length-exceeding-integer-limit-shrink-array.js fails +built-ins/Array/prototype/splice/length-near-integer-limit-grow-array.js fails +built-ins/Array/prototype/toLocaleString/S15.4.4.3_A1_T1.js fails +built-ins/Array/prototype/toLocaleString/S15.4.4.3_A3_T1.js fails +built-ins/Array/prototype/toLocaleString/primitive_this_value.js strictFails +built-ins/Array/prototype/toLocaleString/primitive_this_value_getter.js strictFails +built-ins/Array/prototype/unshift/clamps-to-integer-limit.js fails +built-ins/Array/prototype/unshift/length-near-integer-limit.js fails +built-ins/Array/prototype/unshift/throws-if-integer-limit-exceeded.js fails +built-ins/ArrayBuffer/data-allocation-after-object-creation.js fails +built-ins/ArrayBuffer/isView/arg-is-dataview-subclass-instance.js fails +built-ins/ArrayBuffer/isView/arg-is-typedarray-subclass-instance.js fails +built-ins/ArrayBuffer/newtarget-prototype-is-not-object.js fails +built-ins/ArrayBuffer/proto-from-ctor-realm.js fails +built-ins/ArrayBuffer/prototype-from-newtarget.js fails +built-ins/ArrayBuffer/prototype/Symbol.toStringTag.js fails +built-ins/ArrayBuffer/prototype/byteLength/detached-buffer.js fails +built-ins/ArrayBuffer/prototype/byteLength/name.js fails +built-ins/ArrayBuffer/prototype/byteLength/prop-desc.js fails +built-ins/ArrayBuffer/prototype/slice/end-default-if-absent.js fails +built-ins/ArrayBuffer/prototype/slice/end-default-if-undefined.js fails +built-ins/ArrayBuffer/prototype/slice/end-exceeds-length.js fails +built-ins/ArrayBuffer/prototype/slice/negative-end.js fails +built-ins/ArrayBuffer/prototype/slice/negative-start.js fails +built-ins/ArrayBuffer/prototype/slice/nonconstructor.js fails +built-ins/ArrayBuffer/prototype/slice/species-constructor-is-undefined.js fails +built-ins/ArrayBuffer/prototype/slice/species-is-null.js fails +built-ins/ArrayBuffer/prototype/slice/species-is-undefined.js fails +built-ins/ArrayBuffer/prototype/slice/species-returns-larger-arraybuffer.js fails +built-ins/ArrayBuffer/prototype/slice/species.js fails +built-ins/ArrayBuffer/prototype/slice/start-default-if-absent.js fails +built-ins/ArrayBuffer/prototype/slice/start-default-if-undefined.js fails +built-ins/ArrayBuffer/prototype/slice/start-exceeds-end.js fails +built-ins/ArrayBuffer/prototype/slice/start-exceeds-length.js fails +built-ins/ArrayBuffer/prototype/slice/tointeger-conversion-end.js fails +built-ins/ArrayBuffer/prototype/slice/tointeger-conversion-start.js fails +built-ins/ArrayBuffer/undefined-newtarget-throws.js fails +built-ins/ArrayIteratorPrototype/next/detach-typedarray-in-progress.js fails +built-ins/AsyncFunction/AsyncFunction-construct.js fails +built-ins/AsyncFunction/AsyncFunction-is-extensible.js fails +built-ins/AsyncFunction/AsyncFunction-is-subclass.js fails +built-ins/AsyncFunction/AsyncFunction-length.js fails +built-ins/AsyncFunction/AsyncFunction-name.js fails +built-ins/AsyncFunction/AsyncFunction-prototype.js fails +built-ins/AsyncFunction/AsyncFunction.js fails +built-ins/AsyncFunction/AsyncFunctionPrototype-is-extensible.js fails +built-ins/AsyncFunction/AsyncFunctionPrototype-prototype.js fails +built-ins/AsyncFunction/AsyncFunctionPrototype-to-string.js fails +built-ins/AsyncFunction/instance-construct-throws.js fails +built-ins/AsyncFunction/instance-has-name.js fails +built-ins/AsyncFunction/instance-length.js fails +built-ins/AsyncFunction/instance-prototype-property.js fails +built-ins/AsyncGeneratorPrototype/next/name.js fails +built-ins/AsyncGeneratorPrototype/return/name.js fails +built-ins/AsyncGeneratorPrototype/throw/name.js fails +built-ins/Atomics/Symbol.toStringTag.js fails +built-ins/Atomics/add/descriptor.js fails +built-ins/Atomics/add/length.js fails +built-ins/Atomics/add/name.js fails +built-ins/Atomics/add/nonshared-int-views.js fails +built-ins/Atomics/add/shared-nonint-views.js fails +built-ins/Atomics/and/descriptor.js fails +built-ins/Atomics/and/length.js fails +built-ins/Atomics/and/name.js fails +built-ins/Atomics/and/nonshared-int-views.js fails +built-ins/Atomics/and/shared-nonint-views.js fails +built-ins/Atomics/compareExchange/descriptor.js fails +built-ins/Atomics/compareExchange/length.js fails +built-ins/Atomics/compareExchange/name.js fails +built-ins/Atomics/compareExchange/nonshared-int-views.js fails +built-ins/Atomics/compareExchange/shared-nonint-views.js fails +built-ins/Atomics/exchange/descriptor.js fails +built-ins/Atomics/exchange/length.js fails +built-ins/Atomics/exchange/name.js fails +built-ins/Atomics/exchange/nonshared-int-views.js fails +built-ins/Atomics/exchange/shared-nonint-views.js fails +built-ins/Atomics/isLockFree/corner-cases.js fails +built-ins/Atomics/isLockFree/descriptor.js fails +built-ins/Atomics/isLockFree/length.js fails +built-ins/Atomics/isLockFree/name.js fails +built-ins/Atomics/isLockFree/value.js fails +built-ins/Atomics/load/descriptor.js fails +built-ins/Atomics/load/length.js fails +built-ins/Atomics/load/name.js fails +built-ins/Atomics/load/nonshared-int-views.js fails +built-ins/Atomics/load/shared-nonint-views.js fails +built-ins/Atomics/or/descriptor.js fails +built-ins/Atomics/or/length.js fails +built-ins/Atomics/or/name.js fails +built-ins/Atomics/or/nonshared-int-views.js fails +built-ins/Atomics/or/shared-nonint-views.js fails +built-ins/Atomics/prop-desc.js fails +built-ins/Atomics/proto.js fails +built-ins/Atomics/store/descriptor.js fails +built-ins/Atomics/store/length.js fails +built-ins/Atomics/store/name.js fails +built-ins/Atomics/store/nonshared-int-views.js fails +built-ins/Atomics/store/shared-nonint-views.js fails +built-ins/Atomics/sub/descriptor.js fails +built-ins/Atomics/sub/length.js fails +built-ins/Atomics/sub/name.js fails +built-ins/Atomics/sub/nonshared-int-views.js fails +built-ins/Atomics/sub/shared-nonint-views.js fails +built-ins/Atomics/wait/descriptor.js fails +built-ins/Atomics/wait/did-timeout.js fails +built-ins/Atomics/wait/good-views.js fails +built-ins/Atomics/wait/length.js fails +built-ins/Atomics/wait/name.js fails +built-ins/Atomics/wait/nan-timeout.js fails +built-ins/Atomics/wait/negative-timeout.js fails +built-ins/Atomics/wait/no-spurious-wakeup.js fails +built-ins/Atomics/wait/nonshared-int-views.js fails +built-ins/Atomics/wait/shared-nonint-views.js fails +built-ins/Atomics/wait/was-woken.js fails +built-ins/Atomics/wake/counts.js fails +built-ins/Atomics/wake/descriptor.js fails +built-ins/Atomics/wake/length.js fails +built-ins/Atomics/wake/name.js fails +built-ins/Atomics/wake/nonshared-int-views.js fails +built-ins/Atomics/wake/shared-nonint-views.js fails +built-ins/Atomics/wake/wake-all-on-loc.js fails +built-ins/Atomics/wake/wake-all.js fails +built-ins/Atomics/wake/wake-in-order.js fails +built-ins/Atomics/wake/wake-nan.js fails +built-ins/Atomics/wake/wake-negative.js fails +built-ins/Atomics/wake/wake-one.js fails +built-ins/Atomics/wake/wake-two.js fails +built-ins/Atomics/wake/wake-zero.js fails +built-ins/Atomics/xor/descriptor.js fails +built-ins/Atomics/xor/length.js fails +built-ins/Atomics/xor/name.js fails +built-ins/Atomics/xor/nonshared-int-views.js fails +built-ins/Atomics/xor/shared-nonint-views.js fails +built-ins/Boolean/proto-from-ctor-realm.js fails +built-ins/DataView/custom-proto-access-throws.js fails +built-ins/DataView/custom-proto-if-not-object-fallbacks-to-default-prototype.js fails +built-ins/DataView/custom-proto-if-object-is-used.js fails +built-ins/DataView/detached-buffer.js fails +built-ins/DataView/length.js fails +built-ins/DataView/newtarget-undefined-throws.js fails +built-ins/DataView/proto-from-ctor-realm.js fails +built-ins/DataView/prototype/Symbol.toStringTag.js fails +built-ins/DataView/prototype/buffer/detached-buffer.js fails +built-ins/DataView/prototype/buffer/name.js fails +built-ins/DataView/prototype/buffer/prop-desc.js fails +built-ins/DataView/prototype/byteLength/detached-buffer.js fails +built-ins/DataView/prototype/byteLength/name.js fails +built-ins/DataView/prototype/byteLength/prop-desc.js fails +built-ins/DataView/prototype/byteOffset/detached-buffer.js fails +built-ins/DataView/prototype/byteOffset/name.js fails +built-ins/DataView/prototype/byteOffset/prop-desc.js fails +built-ins/DataView/prototype/getFloat32/detached-buffer-after-toindex-byteoffset.js fails +built-ins/DataView/prototype/getFloat32/detached-buffer-before-outofrange-byteoffset.js fails +built-ins/DataView/prototype/getFloat32/detached-buffer.js fails +built-ins/DataView/prototype/getFloat32/index-is-out-of-range.js fails +built-ins/DataView/prototype/getFloat32/negative-byteoffset-throws.js fails +built-ins/DataView/prototype/getFloat32/toindex-byteoffset.js fails +built-ins/DataView/prototype/getFloat64/detached-buffer-after-toindex-byteoffset.js fails +built-ins/DataView/prototype/getFloat64/detached-buffer-before-outofrange-byteoffset.js fails +built-ins/DataView/prototype/getFloat64/detached-buffer.js fails +built-ins/DataView/prototype/getFloat64/index-is-out-of-range.js fails +built-ins/DataView/prototype/getFloat64/negative-byteoffset-throws.js fails +built-ins/DataView/prototype/getFloat64/toindex-byteoffset.js fails +built-ins/DataView/prototype/getInt16/detached-buffer-after-toindex-byteoffset.js fails +built-ins/DataView/prototype/getInt16/detached-buffer-before-outofrange-byteoffset.js fails +built-ins/DataView/prototype/getInt16/detached-buffer.js fails +built-ins/DataView/prototype/getInt16/index-is-out-of-range.js fails +built-ins/DataView/prototype/getInt16/negative-byteoffset-throws.js fails +built-ins/DataView/prototype/getInt16/toindex-byteoffset.js fails +built-ins/DataView/prototype/getInt32/detached-buffer-after-toindex-byteoffset.js fails +built-ins/DataView/prototype/getInt32/detached-buffer-before-outofrange-byteoffset.js fails +built-ins/DataView/prototype/getInt32/detached-buffer.js fails +built-ins/DataView/prototype/getInt32/index-is-out-of-range.js fails +built-ins/DataView/prototype/getInt32/negative-byteoffset-throws.js fails +built-ins/DataView/prototype/getInt32/toindex-byteoffset.js fails +built-ins/DataView/prototype/getInt8/detached-buffer-after-toindex-byteoffset.js fails +built-ins/DataView/prototype/getInt8/detached-buffer-before-outofrange-byteoffset.js fails +built-ins/DataView/prototype/getInt8/detached-buffer.js fails +built-ins/DataView/prototype/getInt8/index-is-out-of-range.js fails +built-ins/DataView/prototype/getInt8/negative-byteoffset-throws.js fails +built-ins/DataView/prototype/getInt8/toindex-byteoffset.js fails +built-ins/DataView/prototype/getUint16/detached-buffer-after-toindex-byteoffset.js fails +built-ins/DataView/prototype/getUint16/detached-buffer-before-outofrange-byteoffset.js fails +built-ins/DataView/prototype/getUint16/detached-buffer.js fails +built-ins/DataView/prototype/getUint16/index-is-out-of-range.js fails +built-ins/DataView/prototype/getUint16/negative-byteoffset-throws.js fails +built-ins/DataView/prototype/getUint16/toindex-byteoffset.js fails +built-ins/DataView/prototype/getUint32/detached-buffer-after-toindex-byteoffset.js fails +built-ins/DataView/prototype/getUint32/detached-buffer-before-outofrange-byteoffset.js fails +built-ins/DataView/prototype/getUint32/detached-buffer.js fails +built-ins/DataView/prototype/getUint32/index-is-out-of-range.js fails +built-ins/DataView/prototype/getUint32/negative-byteoffset-throws.js fails +built-ins/DataView/prototype/getUint32/toindex-byteoffset.js fails +built-ins/DataView/prototype/getUint8/detached-buffer-after-toindex-byteoffset.js fails +built-ins/DataView/prototype/getUint8/detached-buffer-before-outofrange-byteoffset.js fails +built-ins/DataView/prototype/getUint8/detached-buffer.js fails +built-ins/DataView/prototype/getUint8/index-is-out-of-range.js fails +built-ins/DataView/prototype/getUint8/negative-byteoffset-throws.js fails +built-ins/DataView/prototype/getUint8/toindex-byteoffset.js fails +built-ins/DataView/prototype/setFloat32/detached-buffer-after-number-value.js fails +built-ins/DataView/prototype/setFloat32/detached-buffer-after-toindex-byteoffset.js fails +built-ins/DataView/prototype/setFloat32/detached-buffer-before-outofrange-byteoffset.js fails +built-ins/DataView/prototype/setFloat32/detached-buffer.js fails +built-ins/DataView/prototype/setFloat32/index-check-before-value-conversion.js fails +built-ins/DataView/prototype/setFloat32/index-is-out-of-range.js fails +built-ins/DataView/prototype/setFloat32/negative-byteoffset-throws.js fails +built-ins/DataView/prototype/setFloat32/range-check-after-value-conversion.js fails +built-ins/DataView/prototype/setFloat32/toindex-byteoffset.js fails +built-ins/DataView/prototype/setFloat64/detached-buffer-after-number-value.js fails +built-ins/DataView/prototype/setFloat64/detached-buffer-after-toindex-byteoffset.js fails +built-ins/DataView/prototype/setFloat64/detached-buffer-before-outofrange-byteoffset.js fails +built-ins/DataView/prototype/setFloat64/detached-buffer.js fails +built-ins/DataView/prototype/setFloat64/index-check-before-value-conversion.js fails +built-ins/DataView/prototype/setFloat64/index-is-out-of-range.js fails +built-ins/DataView/prototype/setFloat64/negative-byteoffset-throws.js fails +built-ins/DataView/prototype/setFloat64/range-check-after-value-conversion.js fails +built-ins/DataView/prototype/setFloat64/toindex-byteoffset.js fails +built-ins/DataView/prototype/setInt16/detached-buffer-after-number-value.js fails +built-ins/DataView/prototype/setInt16/detached-buffer-after-toindex-byteoffset.js fails +built-ins/DataView/prototype/setInt16/detached-buffer-before-outofrange-byteoffset.js fails +built-ins/DataView/prototype/setInt16/detached-buffer.js fails +built-ins/DataView/prototype/setInt16/index-check-before-value-conversion.js fails +built-ins/DataView/prototype/setInt16/index-is-out-of-range.js fails +built-ins/DataView/prototype/setInt16/negative-byteoffset-throws.js fails +built-ins/DataView/prototype/setInt16/range-check-after-value-conversion.js fails +built-ins/DataView/prototype/setInt16/toindex-byteoffset.js fails +built-ins/DataView/prototype/setInt32/detached-buffer-after-number-value.js fails +built-ins/DataView/prototype/setInt32/detached-buffer-after-toindex-byteoffset.js fails +built-ins/DataView/prototype/setInt32/detached-buffer-before-outofrange-byteoffset.js fails +built-ins/DataView/prototype/setInt32/detached-buffer.js fails +built-ins/DataView/prototype/setInt32/index-check-before-value-conversion.js fails +built-ins/DataView/prototype/setInt32/index-is-out-of-range.js fails +built-ins/DataView/prototype/setInt32/negative-byteoffset-throws.js fails +built-ins/DataView/prototype/setInt32/range-check-after-value-conversion.js fails +built-ins/DataView/prototype/setInt32/toindex-byteoffset.js fails +built-ins/DataView/prototype/setInt8/detached-buffer-after-number-value.js fails +built-ins/DataView/prototype/setInt8/detached-buffer-after-toindex-byteoffset.js fails +built-ins/DataView/prototype/setInt8/detached-buffer-before-outofrange-byteoffset.js fails +built-ins/DataView/prototype/setInt8/detached-buffer.js fails +built-ins/DataView/prototype/setInt8/index-check-before-value-conversion.js fails +built-ins/DataView/prototype/setInt8/index-is-out-of-range.js fails +built-ins/DataView/prototype/setInt8/negative-byteoffset-throws.js fails +built-ins/DataView/prototype/setInt8/range-check-after-value-conversion.js fails +built-ins/DataView/prototype/setInt8/toindex-byteoffset.js fails +built-ins/DataView/prototype/setUint16/detached-buffer-after-number-value.js fails +built-ins/DataView/prototype/setUint16/detached-buffer-after-toindex-byteoffset.js fails +built-ins/DataView/prototype/setUint16/detached-buffer-before-outofrange-byteoffset.js fails +built-ins/DataView/prototype/setUint16/detached-buffer.js fails +built-ins/DataView/prototype/setUint16/index-check-before-value-conversion.js fails +built-ins/DataView/prototype/setUint16/index-is-out-of-range.js fails +built-ins/DataView/prototype/setUint16/negative-byteoffset-throws.js fails +built-ins/DataView/prototype/setUint16/range-check-after-value-conversion.js fails +built-ins/DataView/prototype/setUint16/toindex-byteoffset.js fails +built-ins/DataView/prototype/setUint32/detached-buffer-after-number-value.js fails +built-ins/DataView/prototype/setUint32/detached-buffer-after-toindex-byteoffset.js fails +built-ins/DataView/prototype/setUint32/detached-buffer-before-outofrange-byteoffset.js fails +built-ins/DataView/prototype/setUint32/detached-buffer.js fails +built-ins/DataView/prototype/setUint32/index-check-before-value-conversion.js fails +built-ins/DataView/prototype/setUint32/index-is-out-of-range.js fails +built-ins/DataView/prototype/setUint32/negative-byteoffset-throws.js fails +built-ins/DataView/prototype/setUint32/range-check-after-value-conversion.js fails +built-ins/DataView/prototype/setUint32/toindex-byteoffset.js fails +built-ins/DataView/prototype/setUint8/detached-buffer-after-number-value.js fails +built-ins/DataView/prototype/setUint8/detached-buffer-after-toindex-byteoffset.js fails +built-ins/DataView/prototype/setUint8/detached-buffer-before-outofrange-byteoffset.js fails +built-ins/DataView/prototype/setUint8/detached-buffer.js fails +built-ins/DataView/prototype/setUint8/index-check-before-value-conversion.js fails +built-ins/DataView/prototype/setUint8/index-is-out-of-range.js fails +built-ins/DataView/prototype/setUint8/negative-byteoffset-throws.js fails +built-ins/DataView/prototype/setUint8/range-check-after-value-conversion.js fails +built-ins/DataView/prototype/setUint8/toindex-byteoffset.js fails +built-ins/DataView/toindex-bytelength.js fails +built-ins/DataView/toindex-byteoffset.js fails +built-ins/Date/UTC/infinity-make-day.js fails +built-ins/Date/UTC/nans.js fails +built-ins/Date/UTC/no-arg.js fails +built-ins/Date/UTC/non-integer-values.js fails +built-ins/Date/UTC/return-value.js fails +built-ins/Date/UTC/year-offset.js fails +built-ins/Date/proto-from-ctor-realm-one.js fails +built-ins/Date/proto-from-ctor-realm-two.js fails +built-ins/Date/proto-from-ctor-realm-zero.js fails +built-ins/Date/prototype/Symbol.toPrimitive/hint-default-first-invalid.js fails +built-ins/Date/prototype/Symbol.toPrimitive/hint-default-first-non-callable.js fails +built-ins/Date/prototype/Symbol.toPrimitive/hint-default-first-valid.js fails +built-ins/Date/prototype/Symbol.toPrimitive/hint-invalid.js fails +built-ins/Date/prototype/Symbol.toPrimitive/hint-number-first-invalid.js fails +built-ins/Date/prototype/Symbol.toPrimitive/hint-number-first-non-callable.js fails +built-ins/Date/prototype/Symbol.toPrimitive/hint-number-first-valid.js fails +built-ins/Date/prototype/Symbol.toPrimitive/hint-string-first-invalid.js fails +built-ins/Date/prototype/Symbol.toPrimitive/hint-string-first-non-callable.js fails +built-ins/Date/prototype/Symbol.toPrimitive/hint-string-first-valid.js fails +built-ins/Date/prototype/Symbol.toPrimitive/length.js fails +built-ins/Date/prototype/Symbol.toPrimitive/name.js fails +built-ins/Date/prototype/Symbol.toPrimitive/prop-desc.js fails +built-ins/Date/prototype/Symbol.toPrimitive/this-val-non-obj.js fails +built-ins/Date/prototype/toDateString/format.js fails +built-ins/Date/prototype/toDateString/invalid-date.js fails +built-ins/Date/prototype/toString/format.js fails +built-ins/Date/prototype/toTimeString/format.js fails +built-ins/Date/prototype/toTimeString/invalid-date.js fails +built-ins/Date/prototype/toUTCString/day-names.js fails +built-ins/Date/prototype/toUTCString/format.js fails +built-ins/Date/prototype/toUTCString/month-names.js fails +built-ins/Date/subclassing.js fails +built-ins/Date/value-symbol-to-prim-invocation.js fails +built-ins/Date/value-symbol-to-prim-return-obj.js fails +built-ins/Date/value-symbol-to-prim-return-prim.js fails +built-ins/Date/value-to-primitive-call.js fails +built-ins/Date/value-to-primitive-result-faulty.js fails +built-ins/Date/value-to-primitive-result-non-string-prim.js fails +built-ins/Date/value-to-primitive-result-string.js fails +built-ins/Error/proto-from-ctor-realm.js fails +built-ins/Error/prototype/S15.11.4_A2.js fails +built-ins/Function/call-bind-this-realm-undef.js fails +built-ins/Function/call-bind-this-realm-value.js fails +built-ins/Function/internals/Call/class-ctor-realm.js fails +built-ins/Function/internals/Call/class-ctor.js fails +built-ins/Function/internals/Construct/base-ctor-revoked-proxy-realm.js fails +built-ins/Function/internals/Construct/base-ctor-revoked-proxy.js fails +built-ins/Function/internals/Construct/derived-return-val-realm.js fails +built-ins/Function/internals/Construct/derived-return-val.js fails +built-ins/Function/internals/Construct/derived-this-uninitialized-realm.js fails +built-ins/Function/internals/Construct/derived-this-uninitialized.js fails +built-ins/Function/proto-from-ctor-realm.js fails +built-ins/Function/prototype/Symbol.hasInstance/this-val-not-callable.js fails +built-ins/Function/prototype/Symbol.hasInstance/this-val-poisoned-prototype.js fails +built-ins/Function/prototype/Symbol.hasInstance/value-get-prototype-of-err.js fails +built-ins/Function/prototype/Symbol.hasInstance/value-non-obj.js fails +built-ins/Function/prototype/bind/BoundFunction_restricted-properties.js fails +built-ins/Function/prototype/bind/get-fn-realm.js fails +built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget-bound.js fails +built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget.js fails +built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js fails +built-ins/Function/prototype/bind/instance-construct-newtarget-self-reflect.js fails +built-ins/Function/prototype/bind/instance-name-chained.js fails +built-ins/Function/prototype/bind/instance-name-non-string.js fails +built-ins/Function/prototype/bind/instance-name.js fails +built-ins/Function/prototype/bind/proto-from-ctor-realm.js fails +built-ins/Function/prototype/toString/AsyncFunction.js fails +built-ins/Function/prototype/toString/Function.js fails +built-ins/Function/prototype/toString/GeneratorFunction.js fails +built-ins/Function/prototype/toString/anonymous-intrinsics.js fails +built-ins/Function/prototype/toString/arrow-function.js fails +built-ins/Function/prototype/toString/async-arrow-function.js fails +built-ins/Function/prototype/toString/async-function-declaration.js fails +built-ins/Function/prototype/toString/async-function-expression.js fails +built-ins/Function/prototype/toString/async-method-class-expression-static.js fails +built-ins/Function/prototype/toString/async-method-class-expression.js fails +built-ins/Function/prototype/toString/async-method-class-statement-static.js fails +built-ins/Function/prototype/toString/async-method-class-statement.js fails +built-ins/Function/prototype/toString/async-method-object.js fails +built-ins/Function/prototype/toString/bound-function.js fails +built-ins/Function/prototype/toString/class-declaration-complex-heritage.js fails +built-ins/Function/prototype/toString/class-declaration-explicit-ctor.js fails +built-ins/Function/prototype/toString/class-declaration-implicit-ctor.js fails +built-ins/Function/prototype/toString/class-expression-explicit-ctor.js fails +built-ins/Function/prototype/toString/class-expression-implicit-ctor.js fails +built-ins/Function/prototype/toString/function-declaration-non-simple-parameter-list.js fails +built-ins/Function/prototype/toString/function-declaration.js fails +built-ins/Function/prototype/toString/function-expression.js fails +built-ins/Function/prototype/toString/generator-function-declaration.js fails +built-ins/Function/prototype/toString/generator-function-expression.js fails +built-ins/Function/prototype/toString/generator-method.js fails +built-ins/Function/prototype/toString/getter-class-expression-static.js fails +built-ins/Function/prototype/toString/getter-class-expression.js fails +built-ins/Function/prototype/toString/getter-class-statement-static.js fails +built-ins/Function/prototype/toString/getter-class-statement.js fails +built-ins/Function/prototype/toString/getter-object.js fails +built-ins/Function/prototype/toString/intrinsics.js fails +built-ins/Function/prototype/toString/line-terminator-normalisation-CR-LF.js fails +built-ins/Function/prototype/toString/line-terminator-normalisation-CR.js fails +built-ins/Function/prototype/toString/line-terminator-normalisation-LF.js fails +built-ins/Function/prototype/toString/method-class-expression-static.js fails +built-ins/Function/prototype/toString/method-class-expression.js fails +built-ins/Function/prototype/toString/method-class-statement-static.js fails +built-ins/Function/prototype/toString/method-class-statement.js fails +built-ins/Function/prototype/toString/method-computed-property-name.js fails +built-ins/Function/prototype/toString/method-object.js fails +built-ins/Function/prototype/toString/proxy.js fails +built-ins/Function/prototype/toString/setter-class-expression-static.js fails +built-ins/Function/prototype/toString/setter-class-expression.js fails +built-ins/Function/prototype/toString/setter-class-statement-static.js fails +built-ins/Function/prototype/toString/setter-class-statement.js fails +built-ins/Function/prototype/toString/setter-object.js fails +built-ins/Function/prototype/toString/symbol-named-builtins.js fails +built-ins/Function/prototype/toString/unicode.js fails +built-ins/GeneratorFunction/proto-from-ctor-realm.js fails +built-ins/GeneratorPrototype/throw/try-finally-nested-try-catch-within-catch.js fails +built-ins/JSON/parse/revived-proxy-revoked.js fails +built-ins/JSON/parse/revived-proxy.js fails +built-ins/JSON/parse/reviver-array-define-prop-err.js fails +built-ins/JSON/parse/reviver-array-delete-err.js fails +built-ins/JSON/parse/reviver-array-length-coerce-err.js fails +built-ins/JSON/parse/reviver-array-length-get-err.js fails +built-ins/JSON/parse/reviver-object-define-prop-err.js fails +built-ins/JSON/parse/reviver-object-delete-err.js fails +built-ins/JSON/parse/reviver-object-own-keys-err.js fails +built-ins/JSON/stringify/replacer-proxy-revoked.js fails +built-ins/JSON/stringify/replacer-proxy.js fails +built-ins/JSON/stringify/value-proxy-revoked.js fails +built-ins/JSON/stringify/value-proxy.js fails +built-ins/Map/Symbol.species/length.js fails +built-ins/Map/Symbol.species/return-value.js fails +built-ins/Map/Symbol.species/symbol-species-name.js fails +built-ins/Map/Symbol.species/symbol-species.js fails +built-ins/Map/constructor.js fails +built-ins/Map/does-not-throw-when-set-is-not-callable.js fails +built-ins/Map/get-set-method-failure.js fails +built-ins/Map/iterable-calls-set.js fails +built-ins/Map/iterator-close-after-set-failure.js fails +built-ins/Map/iterator-is-undefined-throws.js fails +built-ins/Map/iterator-item-first-entry-returns-abrupt.js fails +built-ins/Map/iterator-item-second-entry-returns-abrupt.js fails +built-ins/Map/iterator-items-are-not-object-close-iterator.js fails +built-ins/Map/iterator-items-are-not-object.js fails +built-ins/Map/iterator-next-failure.js fails +built-ins/Map/iterator-value-failure.js fails +built-ins/Map/length.js fails +built-ins/Map/map-iterable-empty-does-not-call-set.js fails +built-ins/Map/map-iterable-throws-when-set-is-not-callable.js fails +built-ins/Map/map-iterable.js fails +built-ins/Map/map-no-iterable-does-not-call-set.js fails +built-ins/Map/map-no-iterable.js fails +built-ins/Map/map.js fails +built-ins/Map/name.js fails +built-ins/Map/newtarget.js fails +built-ins/Map/properties-of-map-instances.js fails +built-ins/Map/properties-of-the-map-prototype-object.js fails +built-ins/Map/proto-from-ctor-realm.js fails +built-ins/Map/prototype-of-map.js fails +built-ins/Map/prototype/Symbol.iterator.js fails +built-ins/Map/prototype/Symbol.toStringTag.js fails +built-ins/Map/prototype/clear/clear-map.js fails +built-ins/Map/prototype/clear/clear.js fails +built-ins/Map/prototype/clear/context-is-not-map-object.js fails +built-ins/Map/prototype/clear/context-is-not-object.js fails +built-ins/Map/prototype/clear/context-is-set-object-throws.js fails +built-ins/Map/prototype/clear/context-is-weakmap-object-throws.js fails +built-ins/Map/prototype/clear/length.js fails +built-ins/Map/prototype/clear/map-data-list-is-preserved.js fails +built-ins/Map/prototype/clear/name.js fails +built-ins/Map/prototype/clear/returns-undefined.js fails +built-ins/Map/prototype/constructor.js fails +built-ins/Map/prototype/delete/context-is-not-map-object.js fails +built-ins/Map/prototype/delete/context-is-not-object.js fails +built-ins/Map/prototype/delete/context-is-set-object-throws.js fails +built-ins/Map/prototype/delete/context-is-weakmap-object-throws.js fails +built-ins/Map/prototype/delete/delete.js fails +built-ins/Map/prototype/delete/does-not-break-iterators.js fails +built-ins/Map/prototype/delete/length.js fails +built-ins/Map/prototype/delete/name.js fails +built-ins/Map/prototype/delete/returns-false.js fails +built-ins/Map/prototype/delete/returns-true-for-deleted-entry.js fails +built-ins/Map/prototype/descriptor.js fails +built-ins/Map/prototype/entries/does-not-have-mapdata-internal-slot-set.js fails +built-ins/Map/prototype/entries/does-not-have-mapdata-internal-slot-weakmap.js fails +built-ins/Map/prototype/entries/does-not-have-mapdata-internal-slot.js fails +built-ins/Map/prototype/entries/entries.js fails +built-ins/Map/prototype/entries/length.js fails +built-ins/Map/prototype/entries/name.js fails +built-ins/Map/prototype/entries/returns-iterator-empty.js fails +built-ins/Map/prototype/entries/returns-iterator.js fails +built-ins/Map/prototype/entries/this-not-object-throw.js fails +built-ins/Map/prototype/forEach/callback-parameters.js fails +built-ins/Map/prototype/forEach/callback-result-is-abrupt.js sloppyFails +built-ins/Map/prototype/forEach/callback-this-non-strict.js sloppyFails +built-ins/Map/prototype/forEach/callback-this-strict.js strictFails +built-ins/Map/prototype/forEach/deleted-values-during-foreach.js fails +built-ins/Map/prototype/forEach/does-not-have-mapdata-internal-slot-set.js fails +built-ins/Map/prototype/forEach/does-not-have-mapdata-internal-slot-weakmap.js fails +built-ins/Map/prototype/forEach/does-not-have-mapdata-internal-slot.js fails +built-ins/Map/prototype/forEach/first-argument-is-not-callable.js fails +built-ins/Map/prototype/forEach/forEach.js fails +built-ins/Map/prototype/forEach/iterates-in-key-insertion-order.js fails +built-ins/Map/prototype/forEach/iterates-values-added-after-foreach-begins.js fails +built-ins/Map/prototype/forEach/iterates-values-deleted-then-readded.js fails +built-ins/Map/prototype/forEach/length.js fails +built-ins/Map/prototype/forEach/name.js fails +built-ins/Map/prototype/forEach/return-undefined.js fails +built-ins/Map/prototype/forEach/second-parameter-as-callback-context.js fails +built-ins/Map/prototype/forEach/this-not-object-throw.js fails +built-ins/Map/prototype/get/does-not-have-mapdata-internal-slot-set.js fails +built-ins/Map/prototype/get/does-not-have-mapdata-internal-slot-weakmap.js fails +built-ins/Map/prototype/get/does-not-have-mapdata-internal-slot.js fails +built-ins/Map/prototype/get/get.js fails +built-ins/Map/prototype/get/length.js fails +built-ins/Map/prototype/get/name.js fails +built-ins/Map/prototype/get/returns-undefined.js fails +built-ins/Map/prototype/get/returns-value-different-key-types.js fails +built-ins/Map/prototype/get/returns-value-normalized-zero-key.js fails +built-ins/Map/prototype/get/this-not-object-throw.js fails +built-ins/Map/prototype/has/does-not-have-mapdata-internal-slot-set.js fails +built-ins/Map/prototype/has/does-not-have-mapdata-internal-slot-weakmap.js fails +built-ins/Map/prototype/has/does-not-have-mapdata-internal-slot.js fails +built-ins/Map/prototype/has/has.js fails +built-ins/Map/prototype/has/length.js fails +built-ins/Map/prototype/has/name.js fails +built-ins/Map/prototype/has/normalizes-zero-key.js fails +built-ins/Map/prototype/has/return-false-different-key-types.js fails +built-ins/Map/prototype/has/return-true-different-key-types.js fails +built-ins/Map/prototype/has/this-not-object-throw.js fails +built-ins/Map/prototype/keys/does-not-have-mapdata-internal-slot-set.js fails +built-ins/Map/prototype/keys/does-not-have-mapdata-internal-slot-weakmap.js fails +built-ins/Map/prototype/keys/does-not-have-mapdata-internal-slot.js fails +built-ins/Map/prototype/keys/keys.js fails +built-ins/Map/prototype/keys/length.js fails +built-ins/Map/prototype/keys/name.js fails +built-ins/Map/prototype/keys/returns-iterator-empty.js fails +built-ins/Map/prototype/keys/returns-iterator.js fails +built-ins/Map/prototype/keys/this-not-object-throw.js fails +built-ins/Map/prototype/set/append-new-values-normalizes-zero-key.js fails +built-ins/Map/prototype/set/append-new-values-return-map.js fails +built-ins/Map/prototype/set/append-new-values.js fails +built-ins/Map/prototype/set/does-not-have-mapdata-internal-slot-set.js fails +built-ins/Map/prototype/set/does-not-have-mapdata-internal-slot-weakmap.js fails +built-ins/Map/prototype/set/does-not-have-mapdata-internal-slot.js fails +built-ins/Map/prototype/set/length.js fails +built-ins/Map/prototype/set/name.js fails +built-ins/Map/prototype/set/replaces-a-value-normalizes-zero-key.js fails +built-ins/Map/prototype/set/replaces-a-value-returns-map.js fails +built-ins/Map/prototype/set/replaces-a-value.js fails +built-ins/Map/prototype/set/set.js fails +built-ins/Map/prototype/set/this-not-object-throw.js fails +built-ins/Map/prototype/size/does-not-have-mapdata-internal-slot-set.js fails +built-ins/Map/prototype/size/does-not-have-mapdata-internal-slot-weakmap.js fails +built-ins/Map/prototype/size/does-not-have-mapdata-internal-slot.js fails +built-ins/Map/prototype/size/length.js fails +built-ins/Map/prototype/size/name.js fails +built-ins/Map/prototype/size/returns-count-of-present-values-before-after-set-clear.js fails +built-ins/Map/prototype/size/returns-count-of-present-values-before-after-set-delete.js fails +built-ins/Map/prototype/size/returns-count-of-present-values-by-insertion.js fails +built-ins/Map/prototype/size/returns-count-of-present-values-by-iterable.js fails +built-ins/Map/prototype/size/size.js fails +built-ins/Map/prototype/size/this-not-object-throw.js fails +built-ins/Map/prototype/values/does-not-have-mapdata-internal-slot-set.js fails +built-ins/Map/prototype/values/does-not-have-mapdata-internal-slot-weakmap.js fails +built-ins/Map/prototype/values/does-not-have-mapdata-internal-slot.js fails +built-ins/Map/prototype/values/length.js fails +built-ins/Map/prototype/values/name.js fails +built-ins/Map/prototype/values/returns-iterator-empty.js fails +built-ins/Map/prototype/values/returns-iterator.js fails +built-ins/Map/prototype/values/this-not-object-throw.js fails +built-ins/Map/prototype/values/values.js fails +built-ins/Map/symbol-as-entry-key.js fails +built-ins/Map/undefined-newtarget.js fails +built-ins/MapIteratorPrototype/Symbol.toStringTag.js fails +built-ins/MapIteratorPrototype/next/does-not-have-mapiterator-internal-slots-map.js fails +built-ins/MapIteratorPrototype/next/does-not-have-mapiterator-internal-slots.js fails +built-ins/MapIteratorPrototype/next/iteration-mutable.js fails +built-ins/MapIteratorPrototype/next/iteration.js fails +built-ins/MapIteratorPrototype/next/length.js fails +built-ins/MapIteratorPrototype/next/name.js fails +built-ins/MapIteratorPrototype/next/this-not-object-throw-entries.js fails +built-ins/MapIteratorPrototype/next/this-not-object-throw-keys.js fails +built-ins/MapIteratorPrototype/next/this-not-object-throw-prototype-iterator.js fails +built-ins/MapIteratorPrototype/next/this-not-object-throw-values.js fails +built-ins/Math/Symbol.toStringTag.js fails +built-ins/Math/acosh/arg-is-infinity.js fails +built-ins/Math/acosh/arg-is-one.js fails +built-ins/Math/acosh/length.js fails +built-ins/Math/acosh/name.js fails +built-ins/Math/acosh/nan-returns.js fails +built-ins/Math/acosh/prop-desc.js fails +built-ins/Math/asin/length.js fails +built-ins/Math/asinh/asinh-specialVals.js fails +built-ins/Math/asinh/length.js fails +built-ins/Math/asinh/name.js fails +built-ins/Math/asinh/prop-desc.js fails +built-ins/Math/atanh/atanh-specialVals.js fails +built-ins/Math/atanh/length.js fails +built-ins/Math/atanh/name.js fails +built-ins/Math/atanh/prop-desc.js fails +built-ins/Math/cbrt/cbrt-specialValues.js fails +built-ins/Math/cbrt/length.js fails +built-ins/Math/cbrt/name.js fails +built-ins/Math/cbrt/prop-desc.js fails +built-ins/Math/clz32/Math.clz32.js fails +built-ins/Math/clz32/Math.clz32_1.js fails +built-ins/Math/clz32/Math.clz32_2.js fails +built-ins/Math/clz32/infinity.js fails +built-ins/Math/clz32/int32bit.js fails +built-ins/Math/clz32/length.js fails +built-ins/Math/clz32/name.js fails +built-ins/Math/clz32/nan.js fails +built-ins/Math/clz32/prop-desc.js fails +built-ins/Math/cosh/cosh-specialVals.js fails +built-ins/Math/cosh/length.js fails +built-ins/Math/cosh/name.js fails +built-ins/Math/cosh/prop-desc.js fails +built-ins/Math/expm1/expm1-specialVals.js fails +built-ins/Math/expm1/length.js fails +built-ins/Math/expm1/name.js fails +built-ins/Math/expm1/prop-desc.js fails +built-ins/Math/fround/Math.fround_Infinity.js fails +built-ins/Math/fround/Math.fround_NaN.js fails +built-ins/Math/fround/Math.fround_Zero.js fails +built-ins/Math/fround/length.js fails +built-ins/Math/fround/name.js fails +built-ins/Math/fround/prop-desc.js fails +built-ins/Math/fround/value-convertion.js fails +built-ins/Math/hypot/Math.hypot_Infinity.js fails +built-ins/Math/hypot/Math.hypot_InfinityNaN.js fails +built-ins/Math/hypot/Math.hypot_NaN.js fails +built-ins/Math/hypot/Math.hypot_NegInfinity.js fails +built-ins/Math/hypot/Math.hypot_NoArgs.js fails +built-ins/Math/hypot/Math.hypot_Success_2.js fails +built-ins/Math/hypot/Math.hypot_Zero_2.js fails +built-ins/Math/hypot/length.js fails +built-ins/Math/hypot/name.js fails +built-ins/Math/hypot/prop-desc.js fails +built-ins/Math/imul/length.js fails +built-ins/Math/imul/name.js fails +built-ins/Math/imul/prop-desc.js fails +built-ins/Math/imul/results.js fails +built-ins/Math/max/zeros.js fails +built-ins/Math/round/S15.8.2.15_A7.js fails +built-ins/Math/sinh/length.js fails +built-ins/Math/sinh/name.js fails +built-ins/Math/sinh/prop-desc.js fails +built-ins/Math/sinh/sinh-specialVals.js fails +built-ins/Math/tanh/length.js fails +built-ins/Math/tanh/name.js fails +built-ins/Math/tanh/prop-desc.js fails +built-ins/Math/tanh/tanh-specialVals.js fails +built-ins/Math/trunc/Math.trunc_Infinity.js fails +built-ins/Math/trunc/Math.trunc_NaN.js fails +built-ins/Math/trunc/Math.trunc_NegDecimal.js fails +built-ins/Math/trunc/Math.trunc_PosDecimal.js fails +built-ins/Math/trunc/Math.trunc_Success.js fails +built-ins/Math/trunc/Math.trunc_Zero.js fails +built-ins/Math/trunc/length.js fails +built-ins/Math/trunc/name.js fails +built-ins/Math/trunc/prop-desc.js fails +built-ins/Math/trunc/trunc-sampleTests.js fails +built-ins/Math/trunc/trunc-specialVals.js fails +built-ins/NativeErrors/EvalError/proto.js fails +built-ins/NativeErrors/EvalError/prototype/not-error-object.js fails +built-ins/NativeErrors/RangeError/proto.js fails +built-ins/NativeErrors/RangeError/prototype/not-error-object.js fails +built-ins/NativeErrors/ReferenceError/proto.js fails +built-ins/NativeErrors/ReferenceError/prototype/not-error-object.js fails +built-ins/NativeErrors/SyntaxError/proto.js fails +built-ins/NativeErrors/SyntaxError/prototype/not-error-object.js fails +built-ins/NativeErrors/TypeError/proto.js fails +built-ins/NativeErrors/TypeError/prototype/not-error-object.js fails +built-ins/NativeErrors/URIError/proto.js fails +built-ins/NativeErrors/URIError/prototype/not-error-object.js fails +built-ins/Number/isFinite/arg-is-not-number.js fails +built-ins/Number/isNaN/arg-is-not-number.js fails +built-ins/Number/proto-from-ctor-realm.js fails +built-ins/Number/prototype/toExponential/infinity.js fails +built-ins/Number/prototype/toExponential/nan.js fails +built-ins/Number/prototype/toExponential/range.js fails +built-ins/Number/prototype/toFixed/range.js fails +built-ins/Number/prototype/toPrecision/infinity.js fails +built-ins/Number/prototype/toPrecision/nan.js fails +built-ins/Number/prototype/toPrecision/range.js fails +built-ins/Number/prototype/toPrecision/return-values.js fails +built-ins/Number/string-binary-literal.js fails +built-ins/Number/string-hex-literal-invalid.js fails +built-ins/Number/string-octal-literal.js fails +built-ins/Object/assign/Target-Symbol.js fails +built-ins/Object/assign/source-own-prop-desc-missing.js fails +built-ins/Object/assign/source-own-prop-error.js fails +built-ins/Object/assign/source-own-prop-keys-error.js fails +built-ins/Object/create/15.2.3.5-4-14.js strictFails +built-ins/Object/create/15.2.3.5-4-37.js strictFails +built-ins/Object/entries/exception-during-enumeration.js fails +built-ins/Object/entries/function-length.js fails +built-ins/Object/entries/function-name.js fails +built-ins/Object/entries/function-property-descriptor.js fails +built-ins/Object/entries/getter-adding-key.js fails +built-ins/Object/entries/getter-making-future-key-nonenumerable.js fails +built-ins/Object/entries/getter-removing-future-key.js fails +built-ins/Object/entries/inherited-properties-omitted.js fails +built-ins/Object/entries/observable-operations.js fails +built-ins/Object/entries/primitive-booleans.js fails +built-ins/Object/entries/primitive-numbers.js fails +built-ins/Object/entries/primitive-strings.js fails +built-ins/Object/entries/primitive-symbols.js fails +built-ins/Object/entries/symbols-omitted.js fails +built-ins/Object/entries/tamper-with-global-object.js fails +built-ins/Object/entries/tamper-with-object-keys.js fails +built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-191.js fails +built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-194.js fails +built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-201.js fails +built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-212.js fails +built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-213.js fails +built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-214.js fails +built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-215.js fails +built-ins/Object/getOwnPropertyDescriptors/function-length.js fails +built-ins/Object/getOwnPropertyDescriptors/function-name.js fails +built-ins/Object/getOwnPropertyDescriptors/function-property-descriptor.js fails +built-ins/Object/getOwnPropertyDescriptors/inherited-properties-omitted.js fails +built-ins/Object/getOwnPropertyDescriptors/normal-object.js fails +built-ins/Object/getOwnPropertyDescriptors/observable-operations.js fails +built-ins/Object/getOwnPropertyDescriptors/primitive-booleans.js fails +built-ins/Object/getOwnPropertyDescriptors/primitive-numbers.js fails +built-ins/Object/getOwnPropertyDescriptors/primitive-strings.js fails +built-ins/Object/getOwnPropertyDescriptors/primitive-symbols.js fails +built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js fails +built-ins/Object/getOwnPropertyDescriptors/symbols-included.js fails +built-ins/Object/getOwnPropertyDescriptors/tamper-with-global-object.js fails +built-ins/Object/getOwnPropertyDescriptors/tamper-with-object-keys.js fails +built-ins/Object/getPrototypeOf/15.2.3.2-2-12.js fails +built-ins/Object/getPrototypeOf/15.2.3.2-2-13.js fails +built-ins/Object/getPrototypeOf/15.2.3.2-2-14.js fails +built-ins/Object/getPrototypeOf/15.2.3.2-2-15.js fails +built-ins/Object/getPrototypeOf/15.2.3.2-2-16.js fails +built-ins/Object/getPrototypeOf/15.2.3.2-2-17.js fails +built-ins/Object/internals/DefineOwnProperty/consistent-value-function-arguments.js fails +built-ins/Object/internals/DefineOwnProperty/consistent-value-function-caller.js fails +built-ins/Object/internals/DefineOwnProperty/consistent-value-regexp-$1.js fails +built-ins/Object/internals/DefineOwnProperty/consistent-writable-regexp-$1.js fails +built-ins/Object/isExtensible/15.2.3.13-1-1.js fails +built-ins/Object/isExtensible/15.2.3.13-1-2.js fails +built-ins/Object/isFrozen/15.2.3.12-1-1.js fails +built-ins/Object/isFrozen/15.2.3.12-1-2.js fails +built-ins/Object/keys/proxy-keys.js fails +built-ins/Object/preventExtensions/15.2.3.10-1-1.js fails +built-ins/Object/preventExtensions/15.2.3.10-1-2.js fails +built-ins/Object/proto-from-ctor.js fails +built-ins/Object/prototype/hasOwnProperty/symbol_property_toPrimitive.js fails +built-ins/Object/prototype/hasOwnProperty/symbol_property_toString.js fails +built-ins/Object/prototype/hasOwnProperty/symbol_property_valueOf.js fails +built-ins/Object/prototype/propertyIsEnumerable/symbol_property_toPrimitive.js fails +built-ins/Object/prototype/propertyIsEnumerable/symbol_property_toString.js fails +built-ins/Object/prototype/propertyIsEnumerable/symbol_property_valueOf.js fails +built-ins/Object/prototype/setPrototypeOf-with-different-values.js fails +built-ins/Object/prototype/setPrototypeOf-with-same-value.js fails +built-ins/Object/prototype/toLocaleString/primitive_this_value_getter.js strictFails +built-ins/Object/prototype/toString/no-prototype-property.js fails +built-ins/Object/prototype/toString/proxy-array.js fails +built-ins/Object/prototype/toString/proxy-function.js fails +built-ins/Object/prototype/toString/proxy-revoked.js fails +built-ins/Object/prototype/toString/symbol-tag-override-instances.js fails +built-ins/Object/prototype/toString/symbol-tag-override-primitives.js fails +built-ins/Object/prototype/toString/symbol-tag-str.js fails +built-ins/Object/prototype/valueOf/S15.2.4.4_A14.js fails +built-ins/Object/setPrototypeOf/set-error.js fails +built-ins/Object/values/exception-during-enumeration.js fails +built-ins/Object/values/function-length.js fails +built-ins/Object/values/function-name.js fails +built-ins/Object/values/function-property-descriptor.js fails +built-ins/Object/values/getter-adding-key.js fails +built-ins/Object/values/getter-making-future-key-nonenumerable.js fails +built-ins/Object/values/getter-removing-future-key.js fails +built-ins/Object/values/inherited-properties-omitted.js fails +built-ins/Object/values/observable-operations.js fails +built-ins/Object/values/primitive-booleans.js fails +built-ins/Object/values/primitive-numbers.js fails +built-ins/Object/values/primitive-strings.js fails +built-ins/Object/values/primitive-symbols.js fails +built-ins/Object/values/symbols-omitted.js fails +built-ins/Object/values/tamper-with-global-object.js fails +built-ins/Object/values/tamper-with-object-keys.js fails +built-ins/Promise/S25.4.3.1_A1.1_T1.js fails +built-ins/Promise/S25.4.3.1_A2.1_T1.js fails +built-ins/Promise/S25.4.3.1_A2.2_T1.js fails +built-ins/Promise/S25.4.3.1_A3.1_T1.js fails +built-ins/Promise/Symbol.species/length.js fails +built-ins/Promise/Symbol.species/prop-desc.js fails +built-ins/Promise/Symbol.species/return-value.js fails +built-ins/Promise/Symbol.species/symbol-species-name.js fails +built-ins/Promise/Symbol.species/symbol-species.js fails +built-ins/Promise/all/S25.4.4.1_A1.1_T1.js fails +built-ins/Promise/all/S25.4.4.1_A2.1_T1.js fails +built-ins/Promise/all/S25.4.4.1_A4.1_T1.js fails +built-ins/Promise/all/S25.4.4.1_A6.1_T1.js fails +built-ins/Promise/all/call-resolve-element-after-return.js fails +built-ins/Promise/all/call-resolve-element-items.js fails +built-ins/Promise/all/call-resolve-element.js fails +built-ins/Promise/all/capability-executor-called-twice.js fails +built-ins/Promise/all/capability-executor-not-callable.js fails +built-ins/Promise/all/capability-resolve-throws-no-close.js fails +built-ins/Promise/all/ctx-ctor-throws.js fails +built-ins/Promise/all/ctx-ctor.js fails +built-ins/Promise/all/ctx-non-ctor.js fails +built-ins/Promise/all/ctx-non-object.js fails +built-ins/Promise/all/invoke-resolve-error-close.js fails +built-ins/Promise/all/invoke-resolve-get-error-close.js fails +built-ins/Promise/all/invoke-resolve-return.js fails +built-ins/Promise/all/invoke-resolve.js fails +built-ins/Promise/all/invoke-then-error-close.js fails +built-ins/Promise/all/invoke-then-get-error-close.js fails +built-ins/Promise/all/invoke-then.js fails +built-ins/Promise/all/iter-next-val-err-no-close.js fails +built-ins/Promise/all/iter-step-err-no-close.js fails +built-ins/Promise/all/length.js fails +built-ins/Promise/all/name.js fails +built-ins/Promise/all/new-resolve-function.js fails +built-ins/Promise/all/prop-desc.js fails +built-ins/Promise/all/resolve-before-loop-exit-from-same.js fails +built-ins/Promise/all/resolve-before-loop-exit.js fails +built-ins/Promise/all/resolve-element-function-extensible.js fails +built-ins/Promise/all/resolve-element-function-length.js fails +built-ins/Promise/all/resolve-element-function-name.js fails +built-ins/Promise/all/resolve-element-function-nonconstructor.js fails +built-ins/Promise/all/resolve-element-function-prototype.js fails +built-ins/Promise/all/resolve-from-same-thenable.js fails +built-ins/Promise/all/same-reject-function.js fails +built-ins/Promise/all/species-get-error.js fails +built-ins/Promise/exec-args.js fails +built-ins/Promise/executor-function-extensible.js fails +built-ins/Promise/executor-function-length.js fails +built-ins/Promise/executor-function-name.js fails +built-ins/Promise/executor-function-nonconstructor.js fails +built-ins/Promise/executor-function-prototype.js fails +built-ins/Promise/length.js fails +built-ins/Promise/name.js fails +built-ins/Promise/proto-from-ctor-realm.js fails +built-ins/Promise/prototype/S25.4.4.2_A1.1_T1.js fails +built-ins/Promise/prototype/S25.4.5_A3.1_T1.js fails +built-ins/Promise/prototype/Symbol.toStringTag.js fails +built-ins/Promise/prototype/catch/S25.4.5.1_A1.1_T1.js fails +built-ins/Promise/prototype/catch/S25.4.5.1_A2.1_T1.js fails +built-ins/Promise/prototype/catch/invokes-then.js fails +built-ins/Promise/prototype/catch/length.js fails +built-ins/Promise/prototype/catch/name.js fails +built-ins/Promise/prototype/catch/prop-desc.js fails +built-ins/Promise/prototype/catch/this-value-non-object.js fails +built-ins/Promise/prototype/catch/this-value-obj-coercible.js fails +built-ins/Promise/prototype/catch/this-value-then-not-callable.js fails +built-ins/Promise/prototype/catch/this-value-then-poisoned.js fails +built-ins/Promise/prototype/catch/this-value-then-throws.js fails +built-ins/Promise/prototype/no-promise-state.js fails +built-ins/Promise/prototype/prop-desc.js fails +built-ins/Promise/prototype/proto.js fails +built-ins/Promise/prototype/then/S25.4.5.3_A1.1_T1.js fails +built-ins/Promise/prototype/then/S25.4.5.3_A1.1_T2.js fails +built-ins/Promise/prototype/then/S25.4.5.3_A2.1_T1.js fails +built-ins/Promise/prototype/then/S25.4.5.3_A2.1_T2.js fails +built-ins/Promise/prototype/then/capability-executor-called-twice.js fails +built-ins/Promise/prototype/then/capability-executor-not-callable.js fails +built-ins/Promise/prototype/then/context-check-on-entry.js fails +built-ins/Promise/prototype/then/ctor-custom.js fails +built-ins/Promise/prototype/then/ctor-null.js fails +built-ins/Promise/prototype/then/ctor-poisoned.js fails +built-ins/Promise/prototype/then/ctor-throws.js fails +built-ins/Promise/prototype/then/ctor-undef.js fails +built-ins/Promise/prototype/then/length.js fails +built-ins/Promise/prototype/then/name.js fails +built-ins/Promise/prototype/then/prop-desc.js fails +built-ins/Promise/race/S25.4.4.3_A1.1_T1.js fails +built-ins/Promise/race/S25.4.4.3_A2.1_T1.js fails +built-ins/Promise/race/S25.4.4.3_A3.1_T1.js fails +built-ins/Promise/race/S25.4.4.3_A3.1_T2.js fails +built-ins/Promise/race/capability-executor-called-twice.js fails +built-ins/Promise/race/capability-executor-not-callable.js fails +built-ins/Promise/race/ctx-ctor-throws.js fails +built-ins/Promise/race/ctx-ctor.js fails +built-ins/Promise/race/ctx-non-ctor.js fails +built-ins/Promise/race/ctx-non-object.js fails +built-ins/Promise/race/invoke-resolve-error-close.js fails +built-ins/Promise/race/invoke-resolve-get-error-close.js fails +built-ins/Promise/race/invoke-resolve-return.js fails +built-ins/Promise/race/invoke-resolve.js fails +built-ins/Promise/race/invoke-then-error-close.js fails +built-ins/Promise/race/invoke-then-get-error-close.js fails +built-ins/Promise/race/invoke-then.js fails +built-ins/Promise/race/iter-next-val-err-no-close.js fails +built-ins/Promise/race/iter-step-err-no-close.js fails +built-ins/Promise/race/length.js fails +built-ins/Promise/race/name.js fails +built-ins/Promise/race/prop-desc.js fails +built-ins/Promise/race/same-reject-function.js fails +built-ins/Promise/race/same-resolve-function.js fails +built-ins/Promise/race/species-get-error.js fails +built-ins/Promise/reject-function-extensible.js fails +built-ins/Promise/reject-function-length.js fails +built-ins/Promise/reject-function-name.js fails +built-ins/Promise/reject-function-nonconstructor.js fails +built-ins/Promise/reject-function-prototype.js fails +built-ins/Promise/reject/S25.4.4.4_A1.1_T1.js fails +built-ins/Promise/reject/S25.4.4.4_A3.1_T1.js fails +built-ins/Promise/reject/capability-executor-called-twice.js fails +built-ins/Promise/reject/capability-executor-not-callable.js fails +built-ins/Promise/reject/capability-invocation-error.js fails +built-ins/Promise/reject/capability-invocation.js fails +built-ins/Promise/reject/ctx-ctor-throws.js fails +built-ins/Promise/reject/ctx-ctor.js fails +built-ins/Promise/reject/ctx-non-ctor.js fails +built-ins/Promise/reject/ctx-non-object.js fails +built-ins/Promise/reject/length.js fails +built-ins/Promise/reject/name.js fails +built-ins/Promise/reject/prop-desc.js fails +built-ins/Promise/resolve-function-extensible.js fails +built-ins/Promise/resolve-function-length.js fails +built-ins/Promise/resolve-function-name.js fails +built-ins/Promise/resolve-function-nonconstructor.js fails +built-ins/Promise/resolve-function-prototype.js fails +built-ins/Promise/resolve/S25.4.4.5_A1.1_T1.js fails +built-ins/Promise/resolve/S25.4.4.5_A2.1_T1.js fails +built-ins/Promise/resolve/arg-uniq-ctor.js fails +built-ins/Promise/resolve/capability-executor-called-twice.js fails +built-ins/Promise/resolve/capability-executor-not-callable.js fails +built-ins/Promise/resolve/capability-invocation-error.js fails +built-ins/Promise/resolve/context-non-object-with-promise.js fails +built-ins/Promise/resolve/ctx-ctor-throws.js fails +built-ins/Promise/resolve/ctx-ctor.js fails +built-ins/Promise/resolve/ctx-non-ctor.js fails +built-ins/Promise/resolve/ctx-non-object.js fails +built-ins/Promise/resolve/length.js fails +built-ins/Promise/resolve/name.js fails +built-ins/Promise/resolve/prop-desc.js fails +built-ins/Promise/resolve/resolve-from-promise-capability.js fails +built-ins/Promise/resolve/resolve-prms-cstm-then.js fails +built-ins/Proxy/apply/arguments-realm.js fails +built-ins/Proxy/apply/call-parameters.js fails +built-ins/Proxy/apply/call-result.js fails +built-ins/Proxy/apply/null-handler.js fails +built-ins/Proxy/apply/return-abrupt.js fails +built-ins/Proxy/apply/trap-is-not-callable-realm.js fails +built-ins/Proxy/apply/trap-is-not-callable.js fails +built-ins/Proxy/apply/trap-is-null.js fails +built-ins/Proxy/apply/trap-is-undefined-no-property.js fails +built-ins/Proxy/apply/trap-is-undefined.js fails +built-ins/Proxy/construct/arguments-realm.js fails +built-ins/Proxy/construct/call-parameters-new-target.js fails +built-ins/Proxy/construct/call-parameters.js fails +built-ins/Proxy/construct/call-result.js fails +built-ins/Proxy/construct/null-handler.js fails +built-ins/Proxy/construct/return-is-abrupt.js fails +built-ins/Proxy/construct/return-not-object-throws-boolean.js fails +built-ins/Proxy/construct/return-not-object-throws-number.js fails +built-ins/Proxy/construct/return-not-object-throws-string.js fails +built-ins/Proxy/construct/return-not-object-throws-symbol.js fails +built-ins/Proxy/construct/return-not-object-throws-undefined.js fails +built-ins/Proxy/construct/trap-is-not-callable-realm.js fails +built-ins/Proxy/construct/trap-is-not-callable.js fails +built-ins/Proxy/construct/trap-is-null.js fails +built-ins/Proxy/construct/trap-is-undefined-no-property.js fails +built-ins/Proxy/construct/trap-is-undefined-proto-from-ctor-realm.js fails +built-ins/Proxy/construct/trap-is-undefined.js fails +built-ins/Proxy/constructor.js fails +built-ins/Proxy/create-handler-is-revoked-proxy.js fails +built-ins/Proxy/create-handler-not-object-throw-boolean.js fails +built-ins/Proxy/create-handler-not-object-throw-null.js fails +built-ins/Proxy/create-handler-not-object-throw-number.js fails +built-ins/Proxy/create-handler-not-object-throw-string.js fails +built-ins/Proxy/create-handler-not-object-throw-symbol.js fails +built-ins/Proxy/create-handler-not-object-throw-undefined.js fails +built-ins/Proxy/create-target-is-not-callable.js fails +built-ins/Proxy/create-target-is-not-constructor.js fails +built-ins/Proxy/create-target-is-revoked-proxy.js fails +built-ins/Proxy/create-target-not-object-throw-boolean.js fails +built-ins/Proxy/create-target-not-object-throw-null.js fails +built-ins/Proxy/create-target-not-object-throw-number.js fails +built-ins/Proxy/create-target-not-object-throw-string.js fails +built-ins/Proxy/create-target-not-object-throw-symbol.js fails +built-ins/Proxy/create-target-not-object-throw-undefined.js fails +built-ins/Proxy/defineProperty/call-parameters.js fails +built-ins/Proxy/defineProperty/desc-realm.js fails +built-ins/Proxy/defineProperty/null-handler-realm.js fails +built-ins/Proxy/defineProperty/null-handler.js fails +built-ins/Proxy/defineProperty/return-boolean-and-define-target.js fails +built-ins/Proxy/defineProperty/return-is-abrupt.js fails +built-ins/Proxy/defineProperty/targetdesc-configurable-desc-not-configurable-realm.js fails +built-ins/Proxy/defineProperty/targetdesc-configurable-desc-not-configurable.js fails +built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor-not-configurable-target-realm.js fails +built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor-not-configurable-target.js fails +built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor-realm.js fails +built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor.js fails +built-ins/Proxy/defineProperty/targetdesc-undefined-not-configurable-descriptor-realm.js fails +built-ins/Proxy/defineProperty/targetdesc-undefined-not-configurable-descriptor.js fails +built-ins/Proxy/defineProperty/targetdesc-undefined-target-is-not-extensible-realm.js fails +built-ins/Proxy/defineProperty/targetdesc-undefined-target-is-not-extensible.js fails +built-ins/Proxy/defineProperty/trap-is-not-callable-realm.js fails +built-ins/Proxy/defineProperty/trap-is-not-callable.js fails +built-ins/Proxy/defineProperty/trap-is-undefined.js fails +built-ins/Proxy/defineProperty/trap-return-is-false.js fails +built-ins/Proxy/deleteProperty/boolean-trap-result-boolean-false.js fails +built-ins/Proxy/deleteProperty/boolean-trap-result-boolean-true.js fails +built-ins/Proxy/deleteProperty/call-parameters.js fails +built-ins/Proxy/deleteProperty/null-handler.js fails +built-ins/Proxy/deleteProperty/return-false-not-strict.js sloppyFails +built-ins/Proxy/deleteProperty/return-false-strict.js strictFails +built-ins/Proxy/deleteProperty/return-is-abrupt.js fails +built-ins/Proxy/deleteProperty/targetdesc-is-not-configurable.js fails +built-ins/Proxy/deleteProperty/targetdesc-is-undefined-return-true.js fails +built-ins/Proxy/deleteProperty/trap-is-not-callable-realm.js fails +built-ins/Proxy/deleteProperty/trap-is-not-callable.js fails +built-ins/Proxy/deleteProperty/trap-is-undefined-not-strict.js sloppyFails +built-ins/Proxy/deleteProperty/trap-is-undefined-strict.js strictFails +built-ins/Proxy/enumerate/removed-does-not-trigger.js fails +built-ins/Proxy/function-prototype.js fails +built-ins/Proxy/get-fn-realm.js fails +built-ins/Proxy/get/accessor-get-is-undefined-throws.js fails +built-ins/Proxy/get/call-parameters.js fails +built-ins/Proxy/get/not-same-value-configurable-false-writable-false-throws.js fails +built-ins/Proxy/get/null-handler.js fails +built-ins/Proxy/get/return-is-abrupt.js fails +built-ins/Proxy/get/return-trap-result-accessor-property.js fails +built-ins/Proxy/get/return-trap-result-configurable-false-writable-true.js fails +built-ins/Proxy/get/return-trap-result-configurable-true-assessor-get-undefined.js fails +built-ins/Proxy/get/return-trap-result-configurable-true-writable-false.js fails +built-ins/Proxy/get/return-trap-result-same-value-configurable-false-writable-false.js fails +built-ins/Proxy/get/return-trap-result.js fails +built-ins/Proxy/get/trap-is-not-callable-realm.js fails +built-ins/Proxy/get/trap-is-not-callable.js fails +built-ins/Proxy/get/trap-is-undefined-no-property.js fails +built-ins/Proxy/get/trap-is-undefined-receiver.js fails +built-ins/Proxy/get/trap-is-undefined.js fails +built-ins/Proxy/getOwnPropertyDescriptor/call-parameters.js fails +built-ins/Proxy/getOwnPropertyDescriptor/null-handler.js fails +built-ins/Proxy/getOwnPropertyDescriptor/result-is-undefined-target-is-not-extensible.js fails +built-ins/Proxy/getOwnPropertyDescriptor/result-is-undefined-targetdesc-is-not-configurable.js fails +built-ins/Proxy/getOwnPropertyDescriptor/result-is-undefined-targetdesc-is-undefined.js fails +built-ins/Proxy/getOwnPropertyDescriptor/result-is-undefined.js fails +built-ins/Proxy/getOwnPropertyDescriptor/result-type-is-not-object-nor-undefined-realm.js fails +built-ins/Proxy/getOwnPropertyDescriptor/result-type-is-not-object-nor-undefined.js fails +built-ins/Proxy/getOwnPropertyDescriptor/resultdesc-is-invalid-descriptor.js fails +built-ins/Proxy/getOwnPropertyDescriptor/resultdesc-is-not-configurable-targetdesc-is-configurable.js fails +built-ins/Proxy/getOwnPropertyDescriptor/resultdesc-is-not-configurable-targetdesc-is-undefined.js fails +built-ins/Proxy/getOwnPropertyDescriptor/resultdesc-return-configurable.js fails +built-ins/Proxy/getOwnPropertyDescriptor/resultdesc-return-not-configurable.js fails +built-ins/Proxy/getOwnPropertyDescriptor/return-is-abrupt.js fails +built-ins/Proxy/getOwnPropertyDescriptor/trap-is-not-callable-realm.js fails +built-ins/Proxy/getOwnPropertyDescriptor/trap-is-not-callable.js fails +built-ins/Proxy/getOwnPropertyDescriptor/trap-is-undefined.js fails +built-ins/Proxy/getPrototypeOf/call-parameters.js fails +built-ins/Proxy/getPrototypeOf/extensible-target-return-handlerproto.js fails +built-ins/Proxy/getPrototypeOf/not-extensible-not-same-proto-throws.js fails +built-ins/Proxy/getPrototypeOf/not-extensible-same-proto.js fails +built-ins/Proxy/getPrototypeOf/null-handler.js fails +built-ins/Proxy/getPrototypeOf/return-is-abrupt.js fails +built-ins/Proxy/getPrototypeOf/trap-is-not-callable-realm.js fails +built-ins/Proxy/getPrototypeOf/trap-is-not-callable.js fails +built-ins/Proxy/getPrototypeOf/trap-is-undefined.js fails +built-ins/Proxy/getPrototypeOf/trap-result-neither-object-nor-null-throws-boolean.js fails +built-ins/Proxy/getPrototypeOf/trap-result-neither-object-nor-null-throws-number.js fails +built-ins/Proxy/getPrototypeOf/trap-result-neither-object-nor-null-throws-string.js fails +built-ins/Proxy/getPrototypeOf/trap-result-neither-object-nor-null-throws-symbol.js fails +built-ins/Proxy/getPrototypeOf/trap-result-neither-object-nor-null-throws-undefined.js fails +built-ins/Proxy/has/call-in.js fails +built-ins/Proxy/has/call-object-create.js fails +built-ins/Proxy/has/call-with.js sloppyFails +built-ins/Proxy/has/null-handler-using-with.js sloppyFails +built-ins/Proxy/has/null-handler.js fails +built-ins/Proxy/has/return-false-target-not-extensible-using-with.js sloppyFails +built-ins/Proxy/has/return-false-target-not-extensible.js fails +built-ins/Proxy/has/return-false-target-prop-exists-using-with.js sloppyFails +built-ins/Proxy/has/return-false-target-prop-exists.js fails +built-ins/Proxy/has/return-false-targetdesc-not-configurable-using-with.js sloppyFails +built-ins/Proxy/has/return-false-targetdesc-not-configurable.js fails +built-ins/Proxy/has/return-is-abrupt-in.js fails +built-ins/Proxy/has/return-is-abrupt-with.js sloppyFails +built-ins/Proxy/has/return-true-target-prop-exists-using-with.js sloppyFails +built-ins/Proxy/has/return-true-target-prop-exists.js fails +built-ins/Proxy/has/return-true-without-same-target-prop.js fails +built-ins/Proxy/has/trap-is-not-callable-realm.js fails +built-ins/Proxy/has/trap-is-not-callable-using-with.js sloppyFails +built-ins/Proxy/has/trap-is-not-callable.js fails +built-ins/Proxy/has/trap-is-undefined-using-with.js sloppyFails +built-ins/Proxy/has/trap-is-undefined.js fails +built-ins/Proxy/isExtensible/call-parameters.js fails +built-ins/Proxy/isExtensible/null-handler.js fails +built-ins/Proxy/isExtensible/return-is-abrupt.js fails +built-ins/Proxy/isExtensible/return-is-boolean.js fails +built-ins/Proxy/isExtensible/return-is-different-from-target.js fails +built-ins/Proxy/isExtensible/return-same-result-from-target.js fails +built-ins/Proxy/isExtensible/trap-is-not-callable-realm.js fails +built-ins/Proxy/isExtensible/trap-is-not-callable.js fails +built-ins/Proxy/isExtensible/trap-is-undefined.js fails +built-ins/Proxy/length.js fails +built-ins/Proxy/name.js fails +built-ins/Proxy/ownKeys/call-parameters-object-getownpropertynames.js fails +built-ins/Proxy/ownKeys/call-parameters-object-getownpropertysymbols.js fails +built-ins/Proxy/ownKeys/call-parameters-object-keys.js fails +built-ins/Proxy/ownKeys/extensible-return-trap-result-absent-not-configurable-keys.js fails +built-ins/Proxy/ownKeys/extensible-return-trap-result.js fails +built-ins/Proxy/ownKeys/not-extensible-missing-keys-throws.js fails +built-ins/Proxy/ownKeys/not-extensible-new-keys-throws.js fails +built-ins/Proxy/ownKeys/not-extensible-return-keys.js fails +built-ins/Proxy/ownKeys/null-handler.js fails +built-ins/Proxy/ownKeys/return-all-non-configurable-keys.js fails +built-ins/Proxy/ownKeys/return-duplicate-entries-throws.js fails +built-ins/Proxy/ownKeys/return-duplicate-symbol-entries-throws.js fails +built-ins/Proxy/ownKeys/return-is-abrupt.js fails +built-ins/Proxy/ownKeys/return-not-list-object-throws-realm.js fails +built-ins/Proxy/ownKeys/return-not-list-object-throws.js fails +built-ins/Proxy/ownKeys/return-type-throws-array.js fails +built-ins/Proxy/ownKeys/return-type-throws-boolean.js fails +built-ins/Proxy/ownKeys/return-type-throws-null.js fails +built-ins/Proxy/ownKeys/return-type-throws-number.js fails +built-ins/Proxy/ownKeys/return-type-throws-object.js fails +built-ins/Proxy/ownKeys/return-type-throws-undefined.js fails +built-ins/Proxy/ownKeys/trap-is-not-callable-realm.js fails +built-ins/Proxy/ownKeys/trap-is-not-callable.js fails +built-ins/Proxy/ownKeys/trap-is-undefined.js fails +built-ins/Proxy/preventExtensions/call-parameters.js fails +built-ins/Proxy/preventExtensions/null-handler.js fails +built-ins/Proxy/preventExtensions/return-false.js fails +built-ins/Proxy/preventExtensions/return-is-abrupt.js fails +built-ins/Proxy/preventExtensions/return-true-target-is-extensible.js fails +built-ins/Proxy/preventExtensions/return-true-target-is-not-extensible.js fails +built-ins/Proxy/preventExtensions/trap-is-not-callable-realm.js fails +built-ins/Proxy/preventExtensions/trap-is-not-callable.js fails +built-ins/Proxy/preventExtensions/trap-is-undefined.js fails +built-ins/Proxy/proxy-newtarget.js fails +built-ins/Proxy/proxy-no-prototype.js fails +built-ins/Proxy/proxy-undefined-newtarget.js fails +built-ins/Proxy/proxy.js fails +built-ins/Proxy/revocable/length.js fails +built-ins/Proxy/revocable/name.js fails +built-ins/Proxy/revocable/proxy.js fails +built-ins/Proxy/revocable/revocation-function-extensible.js fails +built-ins/Proxy/revocable/revocation-function-length.js fails +built-ins/Proxy/revocable/revocation-function-name.js fails +built-ins/Proxy/revocable/revocation-function-nonconstructor.js fails +built-ins/Proxy/revocable/revocation-function-prototype.js fails +built-ins/Proxy/revocable/revoke-consecutive-call-returns-undefined.js fails +built-ins/Proxy/revocable/revoke-returns-undefined.js fails +built-ins/Proxy/revocable/revoke.js fails +built-ins/Proxy/set/boolean-trap-result-is-false-boolean-return-false.js fails +built-ins/Proxy/set/boolean-trap-result-is-false-null-return-false.js fails +built-ins/Proxy/set/boolean-trap-result-is-false-number-return-false.js fails +built-ins/Proxy/set/boolean-trap-result-is-false-string-return-false.js fails +built-ins/Proxy/set/boolean-trap-result-is-false-undefined-return-false.js fails +built-ins/Proxy/set/call-parameters.js fails +built-ins/Proxy/set/null-handler.js fails +built-ins/Proxy/set/return-is-abrupt.js fails +built-ins/Proxy/set/return-true-target-property-accessor-is-configurable-set-is-undefined.js fails +built-ins/Proxy/set/return-true-target-property-accessor-is-not-configurable.js fails +built-ins/Proxy/set/return-true-target-property-is-not-configurable.js fails +built-ins/Proxy/set/return-true-target-property-is-not-writable.js fails +built-ins/Proxy/set/target-property-is-accessor-not-configurable-set-is-undefined.js fails +built-ins/Proxy/set/target-property-is-not-configurable-not-writable-not-equal-to-v.js fails +built-ins/Proxy/set/trap-is-not-callable-realm.js fails +built-ins/Proxy/set/trap-is-not-callable.js fails +built-ins/Proxy/set/trap-is-undefined-no-property.js fails +built-ins/Proxy/set/trap-is-undefined-receiver.js fails +built-ins/Proxy/set/trap-is-undefined.js fails +built-ins/Proxy/setPrototypeOf/call-parameters.js fails +built-ins/Proxy/setPrototypeOf/internals-call-order.js fails +built-ins/Proxy/setPrototypeOf/not-extensible-target-not-same-target-prototype.js fails +built-ins/Proxy/setPrototypeOf/not-extensible-target-same-target-prototype.js fails +built-ins/Proxy/setPrototypeOf/null-handler.js fails +built-ins/Proxy/setPrototypeOf/return-abrupt-from-get-trap.js fails +built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js fails +built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js fails +built-ins/Proxy/setPrototypeOf/return-abrupt-from-trap.js fails +built-ins/Proxy/setPrototypeOf/toboolean-trap-result-false.js fails +built-ins/Proxy/setPrototypeOf/toboolean-trap-result-true-target-is-extensible.js fails +built-ins/Proxy/setPrototypeOf/trap-is-not-callable-realm.js fails +built-ins/Proxy/setPrototypeOf/trap-is-not-callable.js fails +built-ins/Proxy/setPrototypeOf/trap-is-undefined-or-null.js fails +built-ins/Reflect/Reflect.js fails +built-ins/Reflect/apply/apply.js fails +built-ins/Reflect/apply/arguments-list-is-not-array-like.js fails +built-ins/Reflect/apply/call-target.js fails +built-ins/Reflect/apply/length.js fails +built-ins/Reflect/apply/name.js fails +built-ins/Reflect/apply/return-target-call-result.js fails +built-ins/Reflect/apply/target-is-not-callable-throws.js fails +built-ins/Reflect/construct/arguments-list-is-not-array-like.js fails +built-ins/Reflect/construct/construct.js fails +built-ins/Reflect/construct/length.js fails +built-ins/Reflect/construct/name.js fails +built-ins/Reflect/construct/newtarget-is-not-constructor-throws.js fails +built-ins/Reflect/construct/return-with-newtarget-argument.js fails +built-ins/Reflect/construct/return-without-newtarget-argument.js fails +built-ins/Reflect/construct/target-is-not-constructor-throws.js fails +built-ins/Reflect/construct/use-arguments-list.js fails +built-ins/Reflect/defineProperty/define-properties.js fails +built-ins/Reflect/defineProperty/define-symbol-properties.js fails +built-ins/Reflect/defineProperty/defineProperty.js fails +built-ins/Reflect/defineProperty/length.js fails +built-ins/Reflect/defineProperty/name.js fails +built-ins/Reflect/defineProperty/return-abrupt-from-attributes.js fails +built-ins/Reflect/defineProperty/return-abrupt-from-property-key.js fails +built-ins/Reflect/defineProperty/return-abrupt-from-result.js fails +built-ins/Reflect/defineProperty/return-boolean.js fails +built-ins/Reflect/defineProperty/target-is-not-object-throws.js fails +built-ins/Reflect/defineProperty/target-is-symbol-throws.js fails +built-ins/Reflect/deleteProperty/delete-properties.js fails +built-ins/Reflect/deleteProperty/delete-symbol-properties.js fails +built-ins/Reflect/deleteProperty/deleteProperty.js fails +built-ins/Reflect/deleteProperty/length.js fails +built-ins/Reflect/deleteProperty/name.js fails +built-ins/Reflect/deleteProperty/return-abrupt-from-property-key.js fails +built-ins/Reflect/deleteProperty/return-abrupt-from-result.js fails +built-ins/Reflect/deleteProperty/return-boolean.js fails +built-ins/Reflect/deleteProperty/target-is-not-object-throws.js fails +built-ins/Reflect/deleteProperty/target-is-symbol-throws.js fails +built-ins/Reflect/enumerate/undefined.js fails +built-ins/Reflect/get/get.js fails +built-ins/Reflect/get/length.js fails +built-ins/Reflect/get/name.js fails +built-ins/Reflect/get/return-abrupt-from-property-key.js fails +built-ins/Reflect/get/return-abrupt-from-result.js fails +built-ins/Reflect/get/return-value-from-receiver.js fails +built-ins/Reflect/get/return-value-from-symbol-key.js fails +built-ins/Reflect/get/return-value.js fails +built-ins/Reflect/get/target-is-not-object-throws.js fails +built-ins/Reflect/get/target-is-symbol-throws.js fails +built-ins/Reflect/getOwnPropertyDescriptor/getOwnPropertyDescriptor.js fails +built-ins/Reflect/getOwnPropertyDescriptor/length.js fails +built-ins/Reflect/getOwnPropertyDescriptor/name.js fails +built-ins/Reflect/getOwnPropertyDescriptor/return-abrupt-from-property-key.js fails +built-ins/Reflect/getOwnPropertyDescriptor/return-abrupt-from-result.js fails +built-ins/Reflect/getOwnPropertyDescriptor/return-from-accessor-descriptor.js fails +built-ins/Reflect/getOwnPropertyDescriptor/return-from-data-descriptor.js fails +built-ins/Reflect/getOwnPropertyDescriptor/symbol-property.js fails +built-ins/Reflect/getOwnPropertyDescriptor/target-is-not-object-throws.js fails +built-ins/Reflect/getOwnPropertyDescriptor/target-is-symbol-throws.js fails +built-ins/Reflect/getOwnPropertyDescriptor/undefined-own-property.js fails +built-ins/Reflect/getOwnPropertyDescriptor/undefined-property.js fails +built-ins/Reflect/getPrototypeOf/getPrototypeOf.js fails +built-ins/Reflect/getPrototypeOf/length.js fails +built-ins/Reflect/getPrototypeOf/name.js fails +built-ins/Reflect/getPrototypeOf/null-prototype.js fails +built-ins/Reflect/getPrototypeOf/return-abrupt-from-result.js fails +built-ins/Reflect/getPrototypeOf/return-prototype.js fails +built-ins/Reflect/getPrototypeOf/skip-own-properties.js fails +built-ins/Reflect/getPrototypeOf/target-is-not-object-throws.js fails +built-ins/Reflect/getPrototypeOf/target-is-symbol-throws.js fails +built-ins/Reflect/has/has.js fails +built-ins/Reflect/has/length.js fails +built-ins/Reflect/has/name.js fails +built-ins/Reflect/has/return-abrupt-from-property-key.js fails +built-ins/Reflect/has/return-abrupt-from-result.js fails +built-ins/Reflect/has/return-boolean.js fails +built-ins/Reflect/has/symbol-property.js fails +built-ins/Reflect/has/target-is-not-object-throws.js fails +built-ins/Reflect/has/target-is-symbol-throws.js fails +built-ins/Reflect/isExtensible/isExtensible.js fails +built-ins/Reflect/isExtensible/length.js fails +built-ins/Reflect/isExtensible/name.js fails +built-ins/Reflect/isExtensible/return-abrupt-from-result.js fails +built-ins/Reflect/isExtensible/return-boolean.js fails +built-ins/Reflect/isExtensible/target-is-not-object-throws.js fails +built-ins/Reflect/isExtensible/target-is-symbol-throws.js fails +built-ins/Reflect/object-prototype.js fails +built-ins/Reflect/ownKeys/length.js fails +built-ins/Reflect/ownKeys/name.js fails +built-ins/Reflect/ownKeys/ownKeys.js fails +built-ins/Reflect/ownKeys/return-abrupt-from-result.js fails +built-ins/Reflect/ownKeys/return-array-with-own-keys-only.js fails +built-ins/Reflect/ownKeys/return-empty-array.js fails +built-ins/Reflect/ownKeys/return-non-enumerable-keys.js fails +built-ins/Reflect/ownKeys/return-on-corresponding-order.js fails +built-ins/Reflect/ownKeys/target-is-not-object-throws.js fails +built-ins/Reflect/ownKeys/target-is-symbol-throws.js fails +built-ins/Reflect/preventExtensions/always-return-true-from-ordinary-object.js fails +built-ins/Reflect/preventExtensions/length.js fails +built-ins/Reflect/preventExtensions/name.js fails +built-ins/Reflect/preventExtensions/prevent-extensions.js fails +built-ins/Reflect/preventExtensions/preventExtensions.js fails +built-ins/Reflect/preventExtensions/return-abrupt-from-result.js fails +built-ins/Reflect/preventExtensions/return-boolean-from-proxy-object.js fails +built-ins/Reflect/preventExtensions/target-is-not-object-throws.js fails +built-ins/Reflect/preventExtensions/target-is-symbol-throws.js fails +built-ins/Reflect/properties.js fails +built-ins/Reflect/set/call-prototype-property-set.js fails +built-ins/Reflect/set/creates-a-data-descriptor.js fails +built-ins/Reflect/set/different-property-descriptors.js fails +built-ins/Reflect/set/length.js fails +built-ins/Reflect/set/name.js fails +built-ins/Reflect/set/receiver-is-not-object.js fails +built-ins/Reflect/set/return-abrupt-from-property-key.js fails +built-ins/Reflect/set/return-abrupt-from-result.js fails +built-ins/Reflect/set/return-false-if-receiver-is-not-writable.js fails +built-ins/Reflect/set/return-false-if-target-is-not-writable.js fails +built-ins/Reflect/set/set-value-on-accessor-descriptor-with-receiver.js fails +built-ins/Reflect/set/set-value-on-accessor-descriptor.js fails +built-ins/Reflect/set/set-value-on-data-descriptor.js fails +built-ins/Reflect/set/set.js fails +built-ins/Reflect/set/symbol-property.js fails +built-ins/Reflect/set/target-is-not-object-throws.js fails +built-ins/Reflect/set/target-is-symbol-throws.js fails +built-ins/Reflect/setPrototypeOf/length.js fails +built-ins/Reflect/setPrototypeOf/name.js fails +built-ins/Reflect/setPrototypeOf/proto-is-not-object-and-not-null-throws.js fails +built-ins/Reflect/setPrototypeOf/proto-is-symbol-throws.js fails +built-ins/Reflect/setPrototypeOf/return-abrupt-from-result.js fails +built-ins/Reflect/setPrototypeOf/return-false-if-target-and-proto-are-the-same.js fails +built-ins/Reflect/setPrototypeOf/return-false-if-target-is-not-extensible.js fails +built-ins/Reflect/setPrototypeOf/return-false-if-target-is-prototype-of-proto.js fails +built-ins/Reflect/setPrototypeOf/return-true-if-new-prototype-is-set.js fails +built-ins/Reflect/setPrototypeOf/return-true-if-proto-is-current.js fails +built-ins/Reflect/setPrototypeOf/setPrototypeOf.js fails +built-ins/Reflect/setPrototypeOf/target-is-not-object-throws.js fails +built-ins/Reflect/setPrototypeOf/target-is-symbol-throws.js fails +built-ins/RegExp/15.10.4.1-1.js fails +built-ins/RegExp/S15.10.2.12_A2_T1.js fails +built-ins/RegExp/S15.10.3.1_A2_T1.js fails +built-ins/RegExp/S15.10.3.1_A2_T2.js fails +built-ins/RegExp/S15.10.4.1_A2_T1.js fails +built-ins/RegExp/S15.10.4.1_A2_T2.js fails +built-ins/RegExp/call_with_non_regexp_same_constructor.js fails +built-ins/RegExp/call_with_regexp_match_falsy.js fails +built-ins/RegExp/call_with_regexp_not_same_constructor.js fails +built-ins/RegExp/dotall/without-dotall-unicode.js fails +built-ins/RegExp/from-regexp-like-flag-override.js fails +built-ins/RegExp/from-regexp-like-get-source-err.js fails +built-ins/RegExp/from-regexp-like-short-circuit.js fails +built-ins/RegExp/from-regexp-like.js fails +built-ins/RegExp/proto-from-ctor-realm.js fails +built-ins/RegExp/prototype/15.10.6.js fails +built-ins/RegExp/prototype/Symbol.match/builtin-coerce-lastindex.js fails +built-ins/RegExp/prototype/Symbol.match/builtin-failure-g-set-lastindex.js fails +built-ins/RegExp/prototype/Symbol.match/builtin-failure-return-val.js fails +built-ins/RegExp/prototype/Symbol.match/builtin-failure-y-return-val.js fails +built-ins/RegExp/prototype/Symbol.match/builtin-failure-y-set-lastindex-err.js fails +built-ins/RegExp/prototype/Symbol.match/builtin-failure-y-set-lastindex.js fails +built-ins/RegExp/prototype/Symbol.match/builtin-infer-unicode.js fails +built-ins/RegExp/prototype/Symbol.match/builtin-success-g-set-lastindex.js fails +built-ins/RegExp/prototype/Symbol.match/builtin-success-return-val-groups.js fails +built-ins/RegExp/prototype/Symbol.match/builtin-success-return-val.js fails +built-ins/RegExp/prototype/Symbol.match/builtin-success-u-return-val-groups.js fails +built-ins/RegExp/prototype/Symbol.match/builtin-success-y-set-lastindex-err.js fails +built-ins/RegExp/prototype/Symbol.match/builtin-success-y-set-lastindex.js fails +built-ins/RegExp/prototype/Symbol.match/builtin-y-coerce-lastindex-err.js fails +built-ins/RegExp/prototype/Symbol.match/coerce-arg-err.js fails +built-ins/RegExp/prototype/Symbol.match/coerce-arg.js fails +built-ins/RegExp/prototype/Symbol.match/coerce-global.js fails +built-ins/RegExp/prototype/Symbol.match/exec-err.js fails +built-ins/RegExp/prototype/Symbol.match/exec-invocation.js fails +built-ins/RegExp/prototype/Symbol.match/exec-return-type-invalid.js fails +built-ins/RegExp/prototype/Symbol.match/exec-return-type-valid.js fails +built-ins/RegExp/prototype/Symbol.match/g-coerce-result-err.js fails +built-ins/RegExp/prototype/Symbol.match/g-get-exec-err.js fails +built-ins/RegExp/prototype/Symbol.match/g-get-result-err.js fails +built-ins/RegExp/prototype/Symbol.match/g-init-lastindex.js fails +built-ins/RegExp/prototype/Symbol.match/g-match-empty-advance-lastindex.js fails +built-ins/RegExp/prototype/Symbol.match/g-match-empty-coerce-lastindex-err.js fails +built-ins/RegExp/prototype/Symbol.match/g-match-no-coerce-lastindex.js fails +built-ins/RegExp/prototype/Symbol.match/g-match-no-set-lastindex.js fails +built-ins/RegExp/prototype/Symbol.match/g-success-return-val.js fails +built-ins/RegExp/prototype/Symbol.match/g-zero-matches.js fails +built-ins/RegExp/prototype/Symbol.match/get-exec-err.js fails +built-ins/RegExp/prototype/Symbol.match/get-global-err.js fails +built-ins/RegExp/prototype/Symbol.match/get-unicode-error.js fails +built-ins/RegExp/prototype/Symbol.match/length.js fails +built-ins/RegExp/prototype/Symbol.match/name.js fails +built-ins/RegExp/prototype/Symbol.match/prop-desc.js fails +built-ins/RegExp/prototype/Symbol.match/this-val-non-regexp.js fails +built-ins/RegExp/prototype/Symbol.match/u-advance-after-empty.js fails +built-ins/RegExp/prototype/Symbol.match/y-fail-global-return.js fails +built-ins/RegExp/prototype/Symbol.match/y-fail-lastindex-no-write.js fails +built-ins/RegExp/prototype/Symbol.match/y-fail-lastindex.js fails +built-ins/RegExp/prototype/Symbol.match/y-fail-return.js fails +built-ins/RegExp/prototype/Symbol.match/y-init-lastindex.js fails +built-ins/RegExp/prototype/Symbol.match/y-set-lastindex.js fails +built-ins/RegExp/prototype/Symbol.replace/arg-1-coerce-err.js fails +built-ins/RegExp/prototype/Symbol.replace/arg-1-coerce.js fails +built-ins/RegExp/prototype/Symbol.replace/arg-2-coerce-err.js fails +built-ins/RegExp/prototype/Symbol.replace/arg-2-coerce.js fails +built-ins/RegExp/prototype/Symbol.replace/coerce-global.js fails +built-ins/RegExp/prototype/Symbol.replace/coerce-unicode.js fails +built-ins/RegExp/prototype/Symbol.replace/exec-err.js fails +built-ins/RegExp/prototype/Symbol.replace/exec-invocation.js fails +built-ins/RegExp/prototype/Symbol.replace/fn-coerce-replacement-err.js fails +built-ins/RegExp/prototype/Symbol.replace/fn-coerce-replacement.js fails +built-ins/RegExp/prototype/Symbol.replace/fn-err.js fails +built-ins/RegExp/prototype/Symbol.replace/fn-invoke-args.js fails +built-ins/RegExp/prototype/Symbol.replace/fn-invoke-this-no-strict.js sloppyFails +built-ins/RegExp/prototype/Symbol.replace/fn-invoke-this-strict.js strictFails +built-ins/RegExp/prototype/Symbol.replace/g-init-lastindex-err.js fails +built-ins/RegExp/prototype/Symbol.replace/g-init-lastindex.js fails +built-ins/RegExp/prototype/Symbol.replace/g-pos-decrement.js fails +built-ins/RegExp/prototype/Symbol.replace/g-pos-increment.js fails +built-ins/RegExp/prototype/Symbol.replace/get-exec-err.js fails +built-ins/RegExp/prototype/Symbol.replace/get-global-err.js fails +built-ins/RegExp/prototype/Symbol.replace/get-unicode-error.js fails +built-ins/RegExp/prototype/Symbol.replace/length.js fails +built-ins/RegExp/prototype/Symbol.replace/match-failure.js fails +built-ins/RegExp/prototype/Symbol.replace/name.js fails +built-ins/RegExp/prototype/Symbol.replace/prop-desc.js fails +built-ins/RegExp/prototype/Symbol.replace/replace-with-trailing.js fails +built-ins/RegExp/prototype/Symbol.replace/replace-without-trailing.js fails +built-ins/RegExp/prototype/Symbol.replace/result-coerce-capture-err.js fails +built-ins/RegExp/prototype/Symbol.replace/result-coerce-capture.js fails +built-ins/RegExp/prototype/Symbol.replace/result-coerce-index-err.js fails +built-ins/RegExp/prototype/Symbol.replace/result-coerce-index.js fails +built-ins/RegExp/prototype/Symbol.replace/result-coerce-length-err.js fails +built-ins/RegExp/prototype/Symbol.replace/result-coerce-length.js fails +built-ins/RegExp/prototype/Symbol.replace/result-coerce-matched-err.js fails +built-ins/RegExp/prototype/Symbol.replace/result-coerce-matched.js fails +built-ins/RegExp/prototype/Symbol.replace/result-get-capture-err.js fails +built-ins/RegExp/prototype/Symbol.replace/result-get-index-err.js fails +built-ins/RegExp/prototype/Symbol.replace/result-get-length-err.js fails +built-ins/RegExp/prototype/Symbol.replace/result-get-matched-err.js fails +built-ins/RegExp/prototype/Symbol.replace/subst-after.js fails +built-ins/RegExp/prototype/Symbol.replace/subst-before.js fails +built-ins/RegExp/prototype/Symbol.replace/subst-capture-idx-1.js fails +built-ins/RegExp/prototype/Symbol.replace/subst-capture-idx-2.js fails +built-ins/RegExp/prototype/Symbol.replace/subst-dollar.js fails +built-ins/RegExp/prototype/Symbol.replace/subst-matched.js fails +built-ins/RegExp/prototype/Symbol.replace/u-advance-after-empty.js fails +built-ins/RegExp/prototype/Symbol.replace/y-fail-global-return.js fails +built-ins/RegExp/prototype/Symbol.replace/y-fail-lastindex-no-write.js fails +built-ins/RegExp/prototype/Symbol.replace/y-fail-lastindex.js fails +built-ins/RegExp/prototype/Symbol.replace/y-fail-return.js fails +built-ins/RegExp/prototype/Symbol.replace/y-init-lastindex.js fails +built-ins/RegExp/prototype/Symbol.replace/y-set-lastindex.js fails +built-ins/RegExp/prototype/Symbol.search/coerce-string-err.js fails +built-ins/RegExp/prototype/Symbol.search/coerce-string.js fails +built-ins/RegExp/prototype/Symbol.search/cstm-exec-return-index.js fails +built-ins/RegExp/prototype/Symbol.search/failure-return-val.js fails +built-ins/RegExp/prototype/Symbol.search/get-lastindex-err.js fails +built-ins/RegExp/prototype/Symbol.search/lastindex-no-restore.js fails +built-ins/RegExp/prototype/Symbol.search/length.js fails +built-ins/RegExp/prototype/Symbol.search/match-err.js fails +built-ins/RegExp/prototype/Symbol.search/name.js fails +built-ins/RegExp/prototype/Symbol.search/prop-desc.js fails +built-ins/RegExp/prototype/Symbol.search/set-lastindex-init-err.js fails +built-ins/RegExp/prototype/Symbol.search/set-lastindex-init.js fails +built-ins/RegExp/prototype/Symbol.search/set-lastindex-restore-err.js fails +built-ins/RegExp/prototype/Symbol.search/set-lastindex-restore.js fails +built-ins/RegExp/prototype/Symbol.search/success-get-index-err.js fails +built-ins/RegExp/prototype/Symbol.search/success-return-val.js fails +built-ins/RegExp/prototype/Symbol.search/u-lastindex-advance.js fails +built-ins/RegExp/prototype/Symbol.search/y-fail-return.js fails +built-ins/RegExp/prototype/Symbol.split/coerce-flags-err.js fails +built-ins/RegExp/prototype/Symbol.split/coerce-flags.js fails +built-ins/RegExp/prototype/Symbol.split/coerce-limit-err.js fails +built-ins/RegExp/prototype/Symbol.split/coerce-limit.js fails +built-ins/RegExp/prototype/Symbol.split/coerce-string-err.js fails +built-ins/RegExp/prototype/Symbol.split/coerce-string.js fails +built-ins/RegExp/prototype/Symbol.split/get-flags-err.js fails +built-ins/RegExp/prototype/Symbol.split/last-index-exceeds-str-size.js fails +built-ins/RegExp/prototype/Symbol.split/length.js fails +built-ins/RegExp/prototype/Symbol.split/limit-0-bail.js fails +built-ins/RegExp/prototype/Symbol.split/name.js fails +built-ins/RegExp/prototype/Symbol.split/prop-desc.js fails +built-ins/RegExp/prototype/Symbol.split/species-ctor-ctor-get-err.js fails +built-ins/RegExp/prototype/Symbol.split/species-ctor-ctor-non-obj.js fails +built-ins/RegExp/prototype/Symbol.split/species-ctor-ctor-undef.js fails +built-ins/RegExp/prototype/Symbol.split/species-ctor-err.js fails +built-ins/RegExp/prototype/Symbol.split/species-ctor-species-get-err.js fails +built-ins/RegExp/prototype/Symbol.split/species-ctor-species-non-ctor.js fails +built-ins/RegExp/prototype/Symbol.split/species-ctor-species-undef.js fails +built-ins/RegExp/prototype/Symbol.split/species-ctor-y.js fails +built-ins/RegExp/prototype/Symbol.split/species-ctor.js fails +built-ins/RegExp/prototype/Symbol.split/splitter-proto-from-ctor-realm.js fails +built-ins/RegExp/prototype/Symbol.split/str-adv-thru-empty-match.js fails +built-ins/RegExp/prototype/Symbol.split/str-coerce-lastindex-err.js fails +built-ins/RegExp/prototype/Symbol.split/str-coerce-lastindex.js fails +built-ins/RegExp/prototype/Symbol.split/str-empty-match-err.js fails +built-ins/RegExp/prototype/Symbol.split/str-empty-match.js fails +built-ins/RegExp/prototype/Symbol.split/str-empty-no-match.js fails +built-ins/RegExp/prototype/Symbol.split/str-get-lastindex-err.js fails +built-ins/RegExp/prototype/Symbol.split/str-limit-capturing.js fails +built-ins/RegExp/prototype/Symbol.split/str-limit.js fails +built-ins/RegExp/prototype/Symbol.split/str-match-err.js fails +built-ins/RegExp/prototype/Symbol.split/str-result-coerce-length-err.js fails +built-ins/RegExp/prototype/Symbol.split/str-result-coerce-length.js fails +built-ins/RegExp/prototype/Symbol.split/str-result-get-capture-err.js fails +built-ins/RegExp/prototype/Symbol.split/str-result-get-length-err.js fails +built-ins/RegExp/prototype/Symbol.split/str-set-lastindex-err.js fails +built-ins/RegExp/prototype/Symbol.split/str-set-lastindex-match.js fails +built-ins/RegExp/prototype/Symbol.split/str-set-lastindex-no-match.js fails +built-ins/RegExp/prototype/Symbol.split/str-trailing-chars.js fails +built-ins/RegExp/prototype/Symbol.split/u-lastindex-adv-thru-failure.js fails +built-ins/RegExp/prototype/Symbol.split/u-lastindex-adv-thru-match.js fails +built-ins/RegExp/prototype/exec/S15.10.6.2_A5_T3.js fails +built-ins/RegExp/prototype/exec/failure-lastindex-access.js fails +built-ins/RegExp/prototype/exec/success-lastindex-access.js fails +built-ins/RegExp/prototype/exec/u-captured-value.js fails +built-ins/RegExp/prototype/exec/u-lastindex-adv.js fails +built-ins/RegExp/prototype/exec/u-lastindex-value.js fails +built-ins/RegExp/prototype/exec/y-fail-lastindex-no-write.js fails +built-ins/RegExp/prototype/exec/y-fail-lastindex.js fails +built-ins/RegExp/prototype/exec/y-fail-return.js fails +built-ins/RegExp/prototype/exec/y-init-lastindex.js fails +built-ins/RegExp/prototype/exec/y-set-lastindex.js fails +built-ins/RegExp/prototype/flags/coercion-global.js fails +built-ins/RegExp/prototype/flags/coercion-ignoreCase.js fails +built-ins/RegExp/prototype/flags/coercion-multiline.js fails +built-ins/RegExp/prototype/flags/coercion-sticky.js fails +built-ins/RegExp/prototype/flags/coercion-unicode.js fails +built-ins/RegExp/prototype/flags/length.js fails +built-ins/RegExp/prototype/flags/name.js fails +built-ins/RegExp/prototype/flags/prop-desc.js fails +built-ins/RegExp/prototype/flags/this-val-non-obj.js fails +built-ins/RegExp/prototype/flags/this-val-regexp-prototype.js fails +built-ins/RegExp/prototype/global/15.10.7.2-2.js fails +built-ins/RegExp/prototype/global/S15.10.7.2_A9.js fails +built-ins/RegExp/prototype/global/length.js fails +built-ins/RegExp/prototype/global/name.js fails +built-ins/RegExp/prototype/global/this-val-regexp-prototype.js fails +built-ins/RegExp/prototype/ignoreCase/15.10.7.3-2.js fails +built-ins/RegExp/prototype/ignoreCase/S15.10.7.3_A9.js fails +built-ins/RegExp/prototype/ignoreCase/length.js fails +built-ins/RegExp/prototype/ignoreCase/name.js fails +built-ins/RegExp/prototype/ignoreCase/this-val-regexp-prototype.js fails +built-ins/RegExp/prototype/multiline/15.10.7.4-2.js fails +built-ins/RegExp/prototype/multiline/S15.10.7.4_A9.js fails +built-ins/RegExp/prototype/multiline/length.js fails +built-ins/RegExp/prototype/multiline/name.js fails +built-ins/RegExp/prototype/multiline/this-val-regexp-prototype.js fails +built-ins/RegExp/prototype/no-regexp-matcher.js fails +built-ins/RegExp/prototype/source/length.js fails +built-ins/RegExp/prototype/source/name.js fails +built-ins/RegExp/prototype/source/prop-desc.js fails +built-ins/RegExp/prototype/source/this-val-regexp-prototype.js fails +built-ins/RegExp/prototype/source/value-line-terminator.js fails +built-ins/RegExp/prototype/source/value-u.js fails +built-ins/RegExp/prototype/sticky/length.js fails +built-ins/RegExp/prototype/sticky/name.js fails +built-ins/RegExp/prototype/sticky/prop-desc.js fails +built-ins/RegExp/prototype/sticky/this-val-invalid-obj.js fails +built-ins/RegExp/prototype/sticky/this-val-non-obj.js fails +built-ins/RegExp/prototype/sticky/this-val-regexp-prototype.js fails +built-ins/RegExp/prototype/sticky/this-val-regexp.js fails +built-ins/RegExp/prototype/test/S15.10.6.3_A1_T22.js fails +built-ins/RegExp/prototype/test/y-fail-lastindex-no-write.js fails +built-ins/RegExp/prototype/test/y-fail-lastindex.js fails +built-ins/RegExp/prototype/test/y-fail-return.js fails +built-ins/RegExp/prototype/test/y-init-lastindex.js fails +built-ins/RegExp/prototype/test/y-set-lastindex.js fails +built-ins/RegExp/prototype/unicode/length.js fails +built-ins/RegExp/prototype/unicode/name.js fails +built-ins/RegExp/prototype/unicode/prop-desc.js fails +built-ins/RegExp/prototype/unicode/this-val-invalid-obj.js fails +built-ins/RegExp/prototype/unicode/this-val-non-obj.js fails +built-ins/RegExp/prototype/unicode/this-val-regexp-prototype.js fails +built-ins/RegExp/prototype/unicode/this-val-regexp.js fails +built-ins/RegExp/u180e.js fails +built-ins/RegExp/unicode_identity_escape.js fails +built-ins/RegExp/valid-flags-y.js fails +built-ins/Set/Symbol.species/length.js fails +built-ins/Set/Symbol.species/return-value.js fails +built-ins/Set/Symbol.species/symbol-species-name.js fails +built-ins/Set/Symbol.species/symbol-species.js fails +built-ins/Set/constructor.js fails +built-ins/Set/length.js fails +built-ins/Set/name.js fails +built-ins/Set/properties-of-the-set-prototype-object.js fails +built-ins/Set/proto-from-ctor-realm.js fails +built-ins/Set/prototype-of-set.js fails +built-ins/Set/prototype/Symbol.iterator.js fails +built-ins/Set/prototype/Symbol.toStringTag.js fails +built-ins/Set/prototype/Symbol.toStringTag/property-descriptor.js fails +built-ins/Set/prototype/add/add.js fails +built-ins/Set/prototype/add/does-not-have-setdata-internal-slot-array.js fails +built-ins/Set/prototype/add/does-not-have-setdata-internal-slot-map.js fails +built-ins/Set/prototype/add/does-not-have-setdata-internal-slot-object.js fails +built-ins/Set/prototype/add/does-not-have-setdata-internal-slot-set-prototype.js fails +built-ins/Set/prototype/add/does-not-have-setdata-internal-slot-weakset.js fails +built-ins/Set/prototype/add/length.js fails +built-ins/Set/prototype/add/name.js fails +built-ins/Set/prototype/add/preserves-insertion-order.js fails +built-ins/Set/prototype/add/returns-this-when-ignoring-duplicate.js fails +built-ins/Set/prototype/add/returns-this.js fails +built-ins/Set/prototype/add/this-not-object-throw-boolean.js fails +built-ins/Set/prototype/add/this-not-object-throw-null.js fails +built-ins/Set/prototype/add/this-not-object-throw-number.js fails +built-ins/Set/prototype/add/this-not-object-throw-string.js fails +built-ins/Set/prototype/add/this-not-object-throw-symbol.js fails +built-ins/Set/prototype/add/this-not-object-throw-undefined.js fails +built-ins/Set/prototype/add/will-not-add-duplicate-entry-initial-iterable.js fails +built-ins/Set/prototype/add/will-not-add-duplicate-entry-normalizes-zero.js fails +built-ins/Set/prototype/add/will-not-add-duplicate-entry.js fails +built-ins/Set/prototype/clear/clear.js fails +built-ins/Set/prototype/clear/clears-all-contents-from-iterable.js fails +built-ins/Set/prototype/clear/clears-all-contents.js fails +built-ins/Set/prototype/clear/clears-an-empty-set.js fails +built-ins/Set/prototype/clear/does-not-have-setdata-internal-slot-array.js fails +built-ins/Set/prototype/clear/does-not-have-setdata-internal-slot-map.js fails +built-ins/Set/prototype/clear/does-not-have-setdata-internal-slot-object.js fails +built-ins/Set/prototype/clear/does-not-have-setdata-internal-slot-set.prototype.js fails +built-ins/Set/prototype/clear/does-not-have-setdata-internal-slot-weakset.js fails +built-ins/Set/prototype/clear/length.js fails +built-ins/Set/prototype/clear/name.js fails +built-ins/Set/prototype/clear/returns-undefined.js fails +built-ins/Set/prototype/clear/this-not-object-throw-boolean.js fails +built-ins/Set/prototype/clear/this-not-object-throw-null.js fails +built-ins/Set/prototype/clear/this-not-object-throw-number.js fails +built-ins/Set/prototype/clear/this-not-object-throw-string.js fails +built-ins/Set/prototype/clear/this-not-object-throw-symbol.js fails +built-ins/Set/prototype/clear/this-not-object-throw-undefined.js fails +built-ins/Set/prototype/constructor/set-prototype-constructor-intrinsic.js fails +built-ins/Set/prototype/constructor/set-prototype-constructor.js fails +built-ins/Set/prototype/delete/delete-entry-initial-iterable.js fails +built-ins/Set/prototype/delete/delete-entry-normalizes-zero.js fails +built-ins/Set/prototype/delete/delete-entry.js fails +built-ins/Set/prototype/delete/delete.js fails +built-ins/Set/prototype/delete/does-not-have-setdata-internal-slot-array.js fails +built-ins/Set/prototype/delete/does-not-have-setdata-internal-slot-map.js fails +built-ins/Set/prototype/delete/does-not-have-setdata-internal-slot-object.js fails +built-ins/Set/prototype/delete/does-not-have-setdata-internal-slot-set-prototype.js fails +built-ins/Set/prototype/delete/does-not-have-setdata-internal-slot-weakset.js fails +built-ins/Set/prototype/delete/length.js fails +built-ins/Set/prototype/delete/name.js fails +built-ins/Set/prototype/delete/returns-false-when-delete-is-noop.js fails +built-ins/Set/prototype/delete/returns-true-when-delete-operation-occurs.js fails +built-ins/Set/prototype/delete/this-not-object-throw-boolean.js fails +built-ins/Set/prototype/delete/this-not-object-throw-null.js fails +built-ins/Set/prototype/delete/this-not-object-throw-number.js fails +built-ins/Set/prototype/delete/this-not-object-throw-string.js fails +built-ins/Set/prototype/delete/this-not-object-throw-symbol.js fails +built-ins/Set/prototype/delete/this-not-object-throw-undefined.js fails +built-ins/Set/prototype/entries/does-not-have-setdata-internal-slot-array.js fails +built-ins/Set/prototype/entries/does-not-have-setdata-internal-slot-map.js fails +built-ins/Set/prototype/entries/does-not-have-setdata-internal-slot-object.js fails +built-ins/Set/prototype/entries/does-not-have-setdata-internal-slot-set-prototype.js fails +built-ins/Set/prototype/entries/does-not-have-setdata-internal-slot-weakset.js fails +built-ins/Set/prototype/entries/entries.js fails +built-ins/Set/prototype/entries/length.js fails +built-ins/Set/prototype/entries/name.js fails +built-ins/Set/prototype/entries/returns-iterator-empty.js fails +built-ins/Set/prototype/entries/returns-iterator.js fails +built-ins/Set/prototype/entries/this-not-object-throw-boolean.js fails +built-ins/Set/prototype/entries/this-not-object-throw-null.js fails +built-ins/Set/prototype/entries/this-not-object-throw-number.js fails +built-ins/Set/prototype/entries/this-not-object-throw-string.js fails +built-ins/Set/prototype/entries/this-not-object-throw-symbol.js fails +built-ins/Set/prototype/entries/this-not-object-throw-undefined.js fails +built-ins/Set/prototype/forEach/callback-not-callable-boolean.js fails +built-ins/Set/prototype/forEach/callback-not-callable-null.js fails +built-ins/Set/prototype/forEach/callback-not-callable-number.js fails +built-ins/Set/prototype/forEach/callback-not-callable-string.js fails +built-ins/Set/prototype/forEach/callback-not-callable-symbol.js fails +built-ins/Set/prototype/forEach/callback-not-callable-undefined.js fails +built-ins/Set/prototype/forEach/does-not-have-setdata-internal-slot-array.js fails +built-ins/Set/prototype/forEach/does-not-have-setdata-internal-slot-map.js fails +built-ins/Set/prototype/forEach/does-not-have-setdata-internal-slot-object.js fails +built-ins/Set/prototype/forEach/does-not-have-setdata-internal-slot-set-prototype.js fails +built-ins/Set/prototype/forEach/does-not-have-setdata-internal-slot-weakset.js fails +built-ins/Set/prototype/forEach/forEach.js fails +built-ins/Set/prototype/forEach/iterates-in-insertion-order.js fails +built-ins/Set/prototype/forEach/iterates-in-iterable-entry-order.js fails +built-ins/Set/prototype/forEach/iterates-values-added-after-foreach-begins.js fails +built-ins/Set/prototype/forEach/iterates-values-deleted-then-readded.js fails +built-ins/Set/prototype/forEach/iterates-values-not-deleted.js fails +built-ins/Set/prototype/forEach/iterates-values-revisits-after-delete-re-add.js fails +built-ins/Set/prototype/forEach/length.js fails +built-ins/Set/prototype/forEach/name.js fails +built-ins/Set/prototype/forEach/returns-undefined.js fails +built-ins/Set/prototype/forEach/this-arg-explicit-cannot-override-lexical-this-arrow.js fails +built-ins/Set/prototype/forEach/this-arg-explicit.js fails +built-ins/Set/prototype/forEach/this-non-strict.js sloppyFails +built-ins/Set/prototype/forEach/this-not-object-throw-boolean.js fails +built-ins/Set/prototype/forEach/this-not-object-throw-null.js fails +built-ins/Set/prototype/forEach/this-not-object-throw-number.js fails +built-ins/Set/prototype/forEach/this-not-object-throw-string.js fails +built-ins/Set/prototype/forEach/this-not-object-throw-symbol.js fails +built-ins/Set/prototype/forEach/this-not-object-throw-undefined.js fails +built-ins/Set/prototype/forEach/this-strict.js strictFails +built-ins/Set/prototype/forEach/throws-when-callback-throws.js fails +built-ins/Set/prototype/has/does-not-have-setdata-internal-slot-array.js fails +built-ins/Set/prototype/has/does-not-have-setdata-internal-slot-map.js fails +built-ins/Set/prototype/has/does-not-have-setdata-internal-slot-object.js fails +built-ins/Set/prototype/has/does-not-have-setdata-internal-slot-set-prototype.js fails +built-ins/Set/prototype/has/does-not-have-setdata-internal-slot-weakset.js fails +built-ins/Set/prototype/has/has.js fails +built-ins/Set/prototype/has/length.js fails +built-ins/Set/prototype/has/name.js fails +built-ins/Set/prototype/has/returns-false-when-undefined-added-deleted-not-present-undefined.js fails +built-ins/Set/prototype/has/returns-false-when-value-not-present-boolean.js fails +built-ins/Set/prototype/has/returns-false-when-value-not-present-nan.js fails +built-ins/Set/prototype/has/returns-false-when-value-not-present-null.js fails +built-ins/Set/prototype/has/returns-false-when-value-not-present-number.js fails +built-ins/Set/prototype/has/returns-false-when-value-not-present-string.js fails +built-ins/Set/prototype/has/returns-false-when-value-not-present-symbol.js fails +built-ins/Set/prototype/has/returns-false-when-value-not-present-undefined.js fails +built-ins/Set/prototype/has/returns-true-when-value-present-boolean.js fails +built-ins/Set/prototype/has/returns-true-when-value-present-nan.js fails +built-ins/Set/prototype/has/returns-true-when-value-present-null.js fails +built-ins/Set/prototype/has/returns-true-when-value-present-number.js fails +built-ins/Set/prototype/has/returns-true-when-value-present-string.js fails +built-ins/Set/prototype/has/returns-true-when-value-present-symbol.js fails +built-ins/Set/prototype/has/returns-true-when-value-present-undefined.js fails +built-ins/Set/prototype/has/this-not-object-throw-boolean.js fails +built-ins/Set/prototype/has/this-not-object-throw-null.js fails +built-ins/Set/prototype/has/this-not-object-throw-number.js fails +built-ins/Set/prototype/has/this-not-object-throw-string.js fails +built-ins/Set/prototype/has/this-not-object-throw-symbol.js fails +built-ins/Set/prototype/has/this-not-object-throw-undefined.js fails +built-ins/Set/prototype/keys/keys.js fails +built-ins/Set/prototype/set-prototype.js fails +built-ins/Set/prototype/size/length.js fails +built-ins/Set/prototype/size/name.js fails +built-ins/Set/prototype/size/returns-count-of-present-values-before-after-add-delete.js fails +built-ins/Set/prototype/size/returns-count-of-present-values-by-insertion.js fails +built-ins/Set/prototype/size/returns-count-of-present-values-by-iterable.js fails +built-ins/Set/prototype/size/size.js fails +built-ins/Set/prototype/values/does-not-have-setdata-internal-slot-array.js fails +built-ins/Set/prototype/values/does-not-have-setdata-internal-slot-map.js fails +built-ins/Set/prototype/values/does-not-have-setdata-internal-slot-object.js fails +built-ins/Set/prototype/values/does-not-have-setdata-internal-slot-set-prototype.js fails +built-ins/Set/prototype/values/does-not-have-setdata-internal-slot-weakset.js fails +built-ins/Set/prototype/values/length.js fails +built-ins/Set/prototype/values/name.js fails +built-ins/Set/prototype/values/returns-iterator-empty.js fails +built-ins/Set/prototype/values/returns-iterator.js fails +built-ins/Set/prototype/values/this-not-object-throw-boolean.js fails +built-ins/Set/prototype/values/this-not-object-throw-null.js fails +built-ins/Set/prototype/values/this-not-object-throw-number.js fails +built-ins/Set/prototype/values/this-not-object-throw-string.js fails +built-ins/Set/prototype/values/this-not-object-throw-symbol.js fails +built-ins/Set/prototype/values/this-not-object-throw-undefined.js fails +built-ins/Set/prototype/values/values-iteration-mutable.js fails +built-ins/Set/prototype/values/values.js fails +built-ins/Set/set-does-not-throw-when-add-is-not-callable.js fails +built-ins/Set/set-get-add-method-failure.js fails +built-ins/Set/set-iterable-calls-add.js fails +built-ins/Set/set-iterable-empty-does-not-call-add.js fails +built-ins/Set/set-iterable-throws-when-add-is-not-callable.js fails +built-ins/Set/set-iterable.js fails +built-ins/Set/set-iterator-close-after-add-failure.js fails +built-ins/Set/set-iterator-next-failure.js fails +built-ins/Set/set-iterator-value-failure.js fails +built-ins/Set/set-newtarget.js fails +built-ins/Set/set-no-iterable.js fails +built-ins/Set/set-undefined-newtarget.js fails +built-ins/Set/set.js fails +built-ins/Set/symbol-as-entry.js fails +built-ins/SetIteratorPrototype/Symbol.toStringTag.js fails +built-ins/SetIteratorPrototype/next/does-not-have-mapiterator-internal-slots-set.js fails +built-ins/SetIteratorPrototype/next/does-not-have-mapiterator-internal-slots.js fails +built-ins/SetIteratorPrototype/next/iteration-mutable.js fails +built-ins/SetIteratorPrototype/next/iteration.js fails +built-ins/SetIteratorPrototype/next/length.js fails +built-ins/SetIteratorPrototype/next/name.js fails +built-ins/SetIteratorPrototype/next/this-not-object-throw-entries.js fails +built-ins/SetIteratorPrototype/next/this-not-object-throw-keys.js fails +built-ins/SetIteratorPrototype/next/this-not-object-throw-prototype-iterator.js fails +built-ins/SetIteratorPrototype/next/this-not-object-throw-values.js fails +built-ins/SharedArrayBuffer/allocation-limit.js fails +built-ins/SharedArrayBuffer/data-allocation-after-object-creation.js fails +built-ins/SharedArrayBuffer/init-zero.js fails +built-ins/SharedArrayBuffer/length-is-absent.js fails +built-ins/SharedArrayBuffer/length-is-too-large-throws.js fails +built-ins/SharedArrayBuffer/negative-length-throws.js fails +built-ins/SharedArrayBuffer/newtarget-prototype-is-not-object.js fails +built-ins/SharedArrayBuffer/proto-from-ctor-realm.js fails +built-ins/SharedArrayBuffer/prototype-from-newtarget.js fails +built-ins/SharedArrayBuffer/prototype/Symbol.toStringTag.js fails +built-ins/SharedArrayBuffer/prototype/byteLength/invoked-as-accessor.js fails +built-ins/SharedArrayBuffer/prototype/byteLength/invoked-as-func.js fails +built-ins/SharedArrayBuffer/prototype/byteLength/length.js fails +built-ins/SharedArrayBuffer/prototype/byteLength/name.js fails +built-ins/SharedArrayBuffer/prototype/byteLength/prop-desc.js fails +built-ins/SharedArrayBuffer/prototype/byteLength/return-bytelength.js fails +built-ins/SharedArrayBuffer/prototype/byteLength/this-has-no-typedarrayname-internal.js fails +built-ins/SharedArrayBuffer/prototype/byteLength/this-is-arraybuffer.js fails +built-ins/SharedArrayBuffer/prototype/byteLength/this-is-not-object.js fails +built-ins/SharedArrayBuffer/prototype/constructor.js fails +built-ins/SharedArrayBuffer/prototype/slice/context-is-not-arraybuffer-object.js fails +built-ins/SharedArrayBuffer/prototype/slice/context-is-not-object.js fails +built-ins/SharedArrayBuffer/prototype/slice/descriptor.js fails +built-ins/SharedArrayBuffer/prototype/slice/end-default-if-absent.js fails +built-ins/SharedArrayBuffer/prototype/slice/end-default-if-undefined.js fails +built-ins/SharedArrayBuffer/prototype/slice/end-exceeds-length.js fails +built-ins/SharedArrayBuffer/prototype/slice/extensible.js fails +built-ins/SharedArrayBuffer/prototype/slice/length.js fails +built-ins/SharedArrayBuffer/prototype/slice/name.js fails +built-ins/SharedArrayBuffer/prototype/slice/negative-end.js fails +built-ins/SharedArrayBuffer/prototype/slice/negative-start.js fails +built-ins/SharedArrayBuffer/prototype/slice/nonconstructor.js fails +built-ins/SharedArrayBuffer/prototype/slice/number-conversion.js fails +built-ins/SharedArrayBuffer/prototype/slice/species-constructor-is-not-object.js fails +built-ins/SharedArrayBuffer/prototype/slice/species-constructor-is-undefined.js fails +built-ins/SharedArrayBuffer/prototype/slice/species-is-not-constructor.js fails +built-ins/SharedArrayBuffer/prototype/slice/species-is-not-object.js fails +built-ins/SharedArrayBuffer/prototype/slice/species-is-null.js fails +built-ins/SharedArrayBuffer/prototype/slice/species-is-undefined.js fails +built-ins/SharedArrayBuffer/prototype/slice/species-returns-larger-arraybuffer.js fails +built-ins/SharedArrayBuffer/prototype/slice/species-returns-not-arraybuffer.js fails +built-ins/SharedArrayBuffer/prototype/slice/species-returns-same-arraybuffer.js fails +built-ins/SharedArrayBuffer/prototype/slice/species-returns-smaller-arraybuffer.js fails +built-ins/SharedArrayBuffer/prototype/slice/species.js fails +built-ins/SharedArrayBuffer/prototype/slice/start-default-if-absent.js fails +built-ins/SharedArrayBuffer/prototype/slice/start-default-if-undefined.js fails +built-ins/SharedArrayBuffer/prototype/slice/start-exceeds-end.js fails +built-ins/SharedArrayBuffer/prototype/slice/start-exceeds-length.js fails +built-ins/SharedArrayBuffer/prototype/slice/this-is-arraybuffer.js fails +built-ins/SharedArrayBuffer/prototype/slice/tointeger-conversion-end.js fails +built-ins/SharedArrayBuffer/prototype/slice/tointeger-conversion-start.js fails +built-ins/SharedArrayBuffer/return-abrupt-from-length-symbol.js fails +built-ins/SharedArrayBuffer/return-abrupt-from-length.js fails +built-ins/SharedArrayBuffer/toindex-length.js fails +built-ins/SharedArrayBuffer/undefined-newtarget-throws.js fails +built-ins/SharedArrayBuffer/zero-length.js fails +built-ins/String/proto-from-ctor-realm.js fails +built-ins/String/prototype/endsWith/return-abrupt-from-searchstring-regexp-test.js fails +built-ins/String/prototype/includes/return-abrupt-from-searchstring-regexp-test.js fails +built-ins/String/prototype/indexOf/position-tointeger-errors.js fails +built-ins/String/prototype/indexOf/position-tointeger-toprimitive.js fails +built-ins/String/prototype/indexOf/position-tointeger-wrapped-values.js fails +built-ins/String/prototype/indexOf/position-tointeger.js fails +built-ins/String/prototype/indexOf/searchstring-tostring-errors.js fails +built-ins/String/prototype/indexOf/searchstring-tostring-toprimitive.js fails +built-ins/String/prototype/indexOf/searchstring-tostring-wrapped-values.js fails +built-ins/String/prototype/match/cstm-matcher-invocation.js fails +built-ins/String/prototype/replace/cstm-replace-invocation.js fails +built-ins/String/prototype/replace/this-value-not-obj-coercible.js fails +built-ins/String/prototype/search/cstm-search-invocation.js fails +built-ins/String/prototype/search/invoke-builtin-search-searcher-undef.js fails +built-ins/String/prototype/search/invoke-builtin-search.js fails +built-ins/String/prototype/slice/this-value-not-obj-coercible.js fails +built-ins/String/prototype/split/cstm-split-invocation.js fails +built-ins/String/prototype/startsWith/return-abrupt-from-searchstring-regexp-test.js fails +built-ins/String/prototype/toLocaleLowerCase/Final_Sigma_U180E.js fails +built-ins/String/prototype/toLocaleLowerCase/special_casing_conditional.js fails +built-ins/String/prototype/toLowerCase/Final_Sigma_U180E.js fails +built-ins/String/prototype/toLowerCase/special_casing_conditional.js fails +built-ins/String/raw/length.js fails +built-ins/String/raw/name.js fails +built-ins/String/raw/raw.js fails +built-ins/String/raw/return-empty-string-from-empty-array-length.js fails +built-ins/String/raw/return-empty-string-if-length-is-negative-infinity.js fails +built-ins/String/raw/return-empty-string-if-length-is-not-defined.js fails +built-ins/String/raw/return-empty-string-if-length-is-undefined.js fails +built-ins/String/raw/return-empty-string-if-length-is-zero-NaN.js fails +built-ins/String/raw/return-empty-string-if-length-is-zero-boolean.js fails +built-ins/String/raw/return-empty-string-if-length-is-zero-null.js fails +built-ins/String/raw/return-empty-string-if-length-is-zero-or-less-number.js fails +built-ins/String/raw/return-empty-string-if-length-is-zero-or-less-string.js fails +built-ins/String/raw/return-the-string-value-from-template.js fails +built-ins/String/raw/return-the-string-value.js fails +built-ins/String/raw/returns-abrupt-from-next-key-toString.js fails +built-ins/String/raw/returns-abrupt-from-next-key.js fails +built-ins/String/raw/returns-abrupt-from-substitution.js fails +built-ins/String/raw/special-characters.js fails +built-ins/String/raw/substitutions-are-appended-on-same-index.js fails +built-ins/String/raw/substitutions-are-limited-to-template-raw-length.js fails +built-ins/String/raw/template-length-throws.js fails +built-ins/String/raw/template-raw-throws.js fails +built-ins/String/raw/template-substitutions-are-appended-on-same-index.js fails +built-ins/String/raw/zero-literal-segments.js fails +built-ins/Symbol/for/cross-realm.js fails +built-ins/Symbol/hasInstance/cross-realm.js fails +built-ins/Symbol/isConcatSpreadable/cross-realm.js fails +built-ins/Symbol/iterator/cross-realm.js fails +built-ins/Symbol/keyFor/cross-realm.js fails +built-ins/Symbol/match/cross-realm.js fails +built-ins/Symbol/replace/cross-realm.js fails +built-ins/Symbol/search/cross-realm.js fails +built-ins/Symbol/species/builtin-getter-name.js fails +built-ins/Symbol/species/cross-realm.js fails +built-ins/Symbol/species/subclassing.js fails +built-ins/Symbol/split/cross-realm.js fails +built-ins/Symbol/toPrimitive/cross-realm.js fails +built-ins/Symbol/toStringTag/cross-realm.js fails +built-ins/Symbol/unscopables/cross-realm.js fails +built-ins/ThrowTypeError/distinct-cross-realm.js fails +built-ins/TypedArray/from/arylk-get-length-error.js fails +built-ins/TypedArray/from/arylk-to-length-error.js fails +built-ins/TypedArray/from/iter-access-error.js fails +built-ins/TypedArray/from/iter-invoke-error.js fails +built-ins/TypedArray/from/iter-next-error.js fails +built-ins/TypedArray/from/iter-next-value-error.js fails +built-ins/TypedArray/from/length.js fails +built-ins/TypedArray/from/name.js fails +built-ins/TypedArray/from/prop-desc.js fails +built-ins/TypedArray/name.js fails +built-ins/TypedArray/of/length.js fails +built-ins/TypedArray/of/name.js fails +built-ins/TypedArray/of/prop-desc.js fails +built-ins/TypedArray/prototype/Symbol.iterator.js fails +built-ins/TypedArray/prototype/Symbol.toStringTag/detached-buffer.js fails +built-ins/TypedArray/prototype/Symbol.toStringTag/invoked-as-func.js fails +built-ins/TypedArray/prototype/Symbol.toStringTag/length.js fails +built-ins/TypedArray/prototype/Symbol.toStringTag/name.js fails +built-ins/TypedArray/prototype/Symbol.toStringTag/prop-desc.js fails +built-ins/TypedArray/prototype/Symbol.toStringTag/return-typedarrayname.js fails +built-ins/TypedArray/prototype/Symbol.toStringTag/this-has-no-typedarrayname-internal.js fails +built-ins/TypedArray/prototype/Symbol.toStringTag/this-is-not-object.js fails +built-ins/TypedArray/prototype/buffer/detached-buffer.js fails +built-ins/TypedArray/prototype/buffer/name.js fails +built-ins/TypedArray/prototype/buffer/prop-desc.js fails +built-ins/TypedArray/prototype/byteLength/detached-buffer.js fails +built-ins/TypedArray/prototype/byteLength/name.js fails +built-ins/TypedArray/prototype/byteLength/prop-desc.js fails +built-ins/TypedArray/prototype/byteOffset/detached-buffer.js fails +built-ins/TypedArray/prototype/byteOffset/name.js fails +built-ins/TypedArray/prototype/byteOffset/prop-desc.js fails +built-ins/TypedArray/prototype/constructor.js fails +built-ins/TypedArray/prototype/copyWithin/bit-precision.js fails +built-ins/TypedArray/prototype/copyWithin/coerced-values-end.js fails +built-ins/TypedArray/prototype/copyWithin/coerced-values-start.js fails +built-ins/TypedArray/prototype/copyWithin/coerced-values-target.js fails +built-ins/TypedArray/prototype/copyWithin/detached-buffer.js fails +built-ins/TypedArray/prototype/copyWithin/get-length-ignores-length-prop.js fails +built-ins/TypedArray/prototype/copyWithin/invoked-as-func.js fails +built-ins/TypedArray/prototype/copyWithin/invoked-as-method.js fails +built-ins/TypedArray/prototype/copyWithin/length.js fails +built-ins/TypedArray/prototype/copyWithin/name.js fails +built-ins/TypedArray/prototype/copyWithin/negative-end.js fails +built-ins/TypedArray/prototype/copyWithin/negative-out-of-bounds-end.js fails +built-ins/TypedArray/prototype/copyWithin/negative-out-of-bounds-start.js fails +built-ins/TypedArray/prototype/copyWithin/negative-out-of-bounds-target.js fails +built-ins/TypedArray/prototype/copyWithin/negative-start.js fails +built-ins/TypedArray/prototype/copyWithin/negative-target.js fails +built-ins/TypedArray/prototype/copyWithin/non-negative-out-of-bounds-end.js fails +built-ins/TypedArray/prototype/copyWithin/non-negative-out-of-bounds-target-and-start.js fails +built-ins/TypedArray/prototype/copyWithin/non-negative-target-and-start.js fails +built-ins/TypedArray/prototype/copyWithin/non-negative-target-start-and-end.js fails +built-ins/TypedArray/prototype/copyWithin/prop-desc.js fails +built-ins/TypedArray/prototype/copyWithin/return-abrupt-from-end.js fails +built-ins/TypedArray/prototype/copyWithin/return-abrupt-from-start.js fails +built-ins/TypedArray/prototype/copyWithin/return-abrupt-from-target.js fails +built-ins/TypedArray/prototype/copyWithin/return-this.js fails +built-ins/TypedArray/prototype/copyWithin/undefined-end.js fails +built-ins/TypedArray/prototype/entries/detached-buffer.js fails +built-ins/TypedArray/prototype/every/callbackfn-arguments-with-thisarg.js fails +built-ins/TypedArray/prototype/every/callbackfn-arguments-without-thisarg.js fails +built-ins/TypedArray/prototype/every/callbackfn-detachbuffer.js fails +built-ins/TypedArray/prototype/every/callbackfn-no-interaction-over-non-integer.js fails +built-ins/TypedArray/prototype/every/callbackfn-not-called-on-empty.js fails +built-ins/TypedArray/prototype/every/callbackfn-return-does-not-change-instance.js fails +built-ins/TypedArray/prototype/every/callbackfn-returns-abrupt.js fails +built-ins/TypedArray/prototype/every/callbackfn-set-value-during-interaction.js fails +built-ins/TypedArray/prototype/every/callbackfn-this.js fails +built-ins/TypedArray/prototype/every/detached-buffer.js fails +built-ins/TypedArray/prototype/every/get-length-uses-internal-arraylength.js fails +built-ins/TypedArray/prototype/every/invoked-as-func.js fails +built-ins/TypedArray/prototype/every/invoked-as-method.js fails +built-ins/TypedArray/prototype/every/length.js fails +built-ins/TypedArray/prototype/every/name.js fails +built-ins/TypedArray/prototype/every/prop-desc.js fails +built-ins/TypedArray/prototype/every/returns-false-if-any-cb-returns-false.js fails +built-ins/TypedArray/prototype/every/returns-true-if-every-cb-returns-true.js fails +built-ins/TypedArray/prototype/every/values-are-not-cached.js fails +built-ins/TypedArray/prototype/fill/coerced-indexes.js fails +built-ins/TypedArray/prototype/fill/detached-buffer.js fails +built-ins/TypedArray/prototype/fill/fill-values-conversion-once.js fails +built-ins/TypedArray/prototype/fill/fill-values-conversion-operations-consistent-nan.js fails +built-ins/TypedArray/prototype/fill/fill-values-conversion-operations.js fails +built-ins/TypedArray/prototype/fill/fill-values-custom-start-and-end.js fails +built-ins/TypedArray/prototype/fill/fill-values-non-numeric.js fails +built-ins/TypedArray/prototype/fill/fill-values-relative-end.js fails +built-ins/TypedArray/prototype/fill/fill-values-relative-start.js fails +built-ins/TypedArray/prototype/fill/fill-values.js fails +built-ins/TypedArray/prototype/fill/get-length-ignores-length-prop.js fails +built-ins/TypedArray/prototype/fill/invoked-as-func.js fails +built-ins/TypedArray/prototype/fill/invoked-as-method.js fails +built-ins/TypedArray/prototype/fill/length.js fails +built-ins/TypedArray/prototype/fill/name.js fails +built-ins/TypedArray/prototype/fill/prop-desc.js fails +built-ins/TypedArray/prototype/fill/return-abrupt-from-end.js fails +built-ins/TypedArray/prototype/fill/return-abrupt-from-set-value.js fails +built-ins/TypedArray/prototype/fill/return-abrupt-from-start.js fails +built-ins/TypedArray/prototype/fill/return-this.js fails +built-ins/TypedArray/prototype/filter/arraylength-internal.js fails +built-ins/TypedArray/prototype/filter/callbackfn-arguments-with-thisarg.js fails +built-ins/TypedArray/prototype/filter/callbackfn-arguments-without-thisarg.js fails +built-ins/TypedArray/prototype/filter/callbackfn-called-before-ctor.js fails +built-ins/TypedArray/prototype/filter/callbackfn-called-before-species.js fails +built-ins/TypedArray/prototype/filter/callbackfn-detachbuffer.js fails +built-ins/TypedArray/prototype/filter/callbackfn-no-iteration-over-non-integer.js fails +built-ins/TypedArray/prototype/filter/callbackfn-not-called-on-empty.js fails +built-ins/TypedArray/prototype/filter/callbackfn-return-does-not-change-instance.js fails +built-ins/TypedArray/prototype/filter/callbackfn-returns-abrupt.js fails +built-ins/TypedArray/prototype/filter/callbackfn-set-value-during-iteration.js fails +built-ins/TypedArray/prototype/filter/callbackfn-this.js fails +built-ins/TypedArray/prototype/filter/detached-buffer.js fails +built-ins/TypedArray/prototype/filter/invoked-as-func.js fails +built-ins/TypedArray/prototype/filter/invoked-as-method.js fails +built-ins/TypedArray/prototype/filter/length.js fails +built-ins/TypedArray/prototype/filter/name.js fails +built-ins/TypedArray/prototype/filter/prop-desc.js fails +built-ins/TypedArray/prototype/filter/result-does-not-share-buffer.js fails +built-ins/TypedArray/prototype/filter/result-empty-callbackfn-returns-false.js fails +built-ins/TypedArray/prototype/filter/result-full-callbackfn-returns-true.js fails +built-ins/TypedArray/prototype/filter/speciesctor-get-ctor-abrupt.js fails +built-ins/TypedArray/prototype/filter/speciesctor-get-ctor-inherited.js fails +built-ins/TypedArray/prototype/filter/speciesctor-get-ctor.js fails +built-ins/TypedArray/prototype/filter/speciesctor-get-species-abrupt.js fails +built-ins/TypedArray/prototype/filter/speciesctor-get-species-custom-ctor-invocation.js fails +built-ins/TypedArray/prototype/filter/speciesctor-get-species-custom-ctor-length.js fails +built-ins/TypedArray/prototype/filter/speciesctor-get-species-custom-ctor-returns-another-instance.js fails +built-ins/TypedArray/prototype/filter/speciesctor-get-species-custom-ctor.js fails +built-ins/TypedArray/prototype/filter/speciesctor-get-species-use-default-ctor.js fails +built-ins/TypedArray/prototype/filter/speciesctor-get-species.js fails +built-ins/TypedArray/prototype/filter/values-are-not-cached.js fails +built-ins/TypedArray/prototype/filter/values-are-set.js fails +built-ins/TypedArray/prototype/find/detached-buffer.js fails +built-ins/TypedArray/prototype/find/get-length-ignores-length-prop.js fails +built-ins/TypedArray/prototype/find/invoked-as-func.js fails +built-ins/TypedArray/prototype/find/invoked-as-method.js fails +built-ins/TypedArray/prototype/find/length.js fails +built-ins/TypedArray/prototype/find/name.js fails +built-ins/TypedArray/prototype/find/predicate-call-changes-value.js fails +built-ins/TypedArray/prototype/find/predicate-call-parameters.js fails +built-ins/TypedArray/prototype/find/predicate-call-this-non-strict.js sloppyFails +built-ins/TypedArray/prototype/find/predicate-call-this-strict.js strictFails +built-ins/TypedArray/prototype/find/predicate-may-detach-buffer.js fails +built-ins/TypedArray/prototype/find/predicate-not-called-on-empty-array.js fails +built-ins/TypedArray/prototype/find/prop-desc.js fails +built-ins/TypedArray/prototype/find/return-abrupt-from-predicate-call.js fails +built-ins/TypedArray/prototype/find/return-found-value-predicate-result-is-true.js fails +built-ins/TypedArray/prototype/find/return-undefined-if-predicate-returns-false-value.js fails +built-ins/TypedArray/prototype/findIndex/detached-buffer.js fails +built-ins/TypedArray/prototype/findIndex/get-length-ignores-length-prop.js fails +built-ins/TypedArray/prototype/findIndex/invoked-as-func.js fails +built-ins/TypedArray/prototype/findIndex/invoked-as-method.js fails +built-ins/TypedArray/prototype/findIndex/length.js fails +built-ins/TypedArray/prototype/findIndex/name.js fails +built-ins/TypedArray/prototype/findIndex/predicate-call-changes-value.js fails +built-ins/TypedArray/prototype/findIndex/predicate-call-parameters.js fails +built-ins/TypedArray/prototype/findIndex/predicate-call-this-non-strict.js sloppyFails +built-ins/TypedArray/prototype/findIndex/predicate-call-this-strict.js strictFails +built-ins/TypedArray/prototype/findIndex/predicate-may-detach-buffer.js fails +built-ins/TypedArray/prototype/findIndex/predicate-not-called-on-empty-array.js fails +built-ins/TypedArray/prototype/findIndex/prop-desc.js fails +built-ins/TypedArray/prototype/findIndex/return-abrupt-from-predicate-call.js fails +built-ins/TypedArray/prototype/findIndex/return-index-predicate-result-is-true.js fails +built-ins/TypedArray/prototype/findIndex/return-negative-one-if-predicate-returns-false-value.js fails +built-ins/TypedArray/prototype/forEach/arraylength-internal.js fails +built-ins/TypedArray/prototype/forEach/callbackfn-arguments-with-thisarg.js fails +built-ins/TypedArray/prototype/forEach/callbackfn-arguments-without-thisarg.js fails +built-ins/TypedArray/prototype/forEach/callbackfn-detachbuffer.js fails +built-ins/TypedArray/prototype/forEach/callbackfn-no-interaction-over-non-integer.js fails +built-ins/TypedArray/prototype/forEach/callbackfn-not-called-on-empty.js fails +built-ins/TypedArray/prototype/forEach/callbackfn-return-does-not-change-instance.js fails +built-ins/TypedArray/prototype/forEach/callbackfn-returns-abrupt.js fails +built-ins/TypedArray/prototype/forEach/callbackfn-set-value-during-interaction.js fails +built-ins/TypedArray/prototype/forEach/callbackfn-this.js fails +built-ins/TypedArray/prototype/forEach/detached-buffer.js fails +built-ins/TypedArray/prototype/forEach/invoked-as-func.js fails +built-ins/TypedArray/prototype/forEach/invoked-as-method.js fails +built-ins/TypedArray/prototype/forEach/length.js fails +built-ins/TypedArray/prototype/forEach/name.js fails +built-ins/TypedArray/prototype/forEach/prop-desc.js fails +built-ins/TypedArray/prototype/forEach/returns-undefined.js fails +built-ins/TypedArray/prototype/forEach/values-are-not-cached.js fails +built-ins/TypedArray/prototype/includes/detached-buffer.js fails +built-ins/TypedArray/prototype/includes/fromIndex-equal-or-greater-length-returns-false.js fails +built-ins/TypedArray/prototype/includes/fromIndex-infinity.js fails +built-ins/TypedArray/prototype/includes/fromIndex-minus-zero.js fails +built-ins/TypedArray/prototype/includes/get-length-uses-internal-arraylength.js fails +built-ins/TypedArray/prototype/includes/invoked-as-func.js fails +built-ins/TypedArray/prototype/includes/invoked-as-method.js fails +built-ins/TypedArray/prototype/includes/length-zero-returns-false.js fails +built-ins/TypedArray/prototype/includes/length.js fails +built-ins/TypedArray/prototype/includes/name.js fails +built-ins/TypedArray/prototype/includes/prop-desc.js fails +built-ins/TypedArray/prototype/includes/return-abrupt-tointeger-fromindex.js fails +built-ins/TypedArray/prototype/includes/samevaluezero.js fails +built-ins/TypedArray/prototype/includes/search-found-returns-true.js fails +built-ins/TypedArray/prototype/includes/search-not-found-returns-false.js fails +built-ins/TypedArray/prototype/includes/tointeger-fromindex.js fails +built-ins/TypedArray/prototype/indexOf/detached-buffer.js fails +built-ins/TypedArray/prototype/indexOf/fromIndex-equal-or-greater-length-returns-minus-one.js fails +built-ins/TypedArray/prototype/indexOf/fromIndex-infinity.js fails +built-ins/TypedArray/prototype/indexOf/fromIndex-minus-zero.js fails +built-ins/TypedArray/prototype/indexOf/get-length-uses-internal-arraylength.js fails +built-ins/TypedArray/prototype/indexOf/invoked-as-func.js fails +built-ins/TypedArray/prototype/indexOf/invoked-as-method.js fails +built-ins/TypedArray/prototype/indexOf/length-zero-returns-minus-one.js fails +built-ins/TypedArray/prototype/indexOf/length.js fails +built-ins/TypedArray/prototype/indexOf/name.js fails +built-ins/TypedArray/prototype/indexOf/prop-desc.js fails +built-ins/TypedArray/prototype/indexOf/return-abrupt-tointeger-fromindex.js fails +built-ins/TypedArray/prototype/indexOf/search-found-returns-index.js fails +built-ins/TypedArray/prototype/indexOf/search-not-found-returns-minus-one.js fails +built-ins/TypedArray/prototype/indexOf/strict-comparison.js fails +built-ins/TypedArray/prototype/indexOf/tointeger-fromindex.js fails +built-ins/TypedArray/prototype/join/custom-separator-result-from-tostring-on-each-simple-value.js fails +built-ins/TypedArray/prototype/join/custom-separator-result-from-tostring-on-each-value.js fails +built-ins/TypedArray/prototype/join/detached-buffer.js fails +built-ins/TypedArray/prototype/join/empty-instance-empty-string.js fails +built-ins/TypedArray/prototype/join/get-length-uses-internal-arraylength.js fails +built-ins/TypedArray/prototype/join/invoked-as-func.js fails +built-ins/TypedArray/prototype/join/invoked-as-method.js fails +built-ins/TypedArray/prototype/join/length.js fails +built-ins/TypedArray/prototype/join/name.js fails +built-ins/TypedArray/prototype/join/prop-desc.js fails +built-ins/TypedArray/prototype/join/result-from-tostring-on-each-simple-value.js fails +built-ins/TypedArray/prototype/join/result-from-tostring-on-each-value.js fails +built-ins/TypedArray/prototype/join/return-abrupt-from-separator.js fails +built-ins/TypedArray/prototype/keys/detached-buffer.js fails +built-ins/TypedArray/prototype/lastIndexOf/detached-buffer.js fails +built-ins/TypedArray/prototype/lastIndexOf/fromIndex-infinity.js fails +built-ins/TypedArray/prototype/lastIndexOf/fromIndex-minus-zero.js fails +built-ins/TypedArray/prototype/lastIndexOf/get-length-uses-internal-arraylength.js fails +built-ins/TypedArray/prototype/lastIndexOf/invoked-as-func.js fails +built-ins/TypedArray/prototype/lastIndexOf/invoked-as-method.js fails +built-ins/TypedArray/prototype/lastIndexOf/length-zero-returns-minus-one.js fails +built-ins/TypedArray/prototype/lastIndexOf/length.js fails +built-ins/TypedArray/prototype/lastIndexOf/name.js fails +built-ins/TypedArray/prototype/lastIndexOf/prop-desc.js fails +built-ins/TypedArray/prototype/lastIndexOf/return-abrupt-tointeger-fromindex.js fails +built-ins/TypedArray/prototype/lastIndexOf/search-found-returns-index.js fails +built-ins/TypedArray/prototype/lastIndexOf/search-not-found-returns-minus-one.js fails +built-ins/TypedArray/prototype/lastIndexOf/strict-comparison.js fails +built-ins/TypedArray/prototype/lastIndexOf/tointeger-fromindex.js fails +built-ins/TypedArray/prototype/length/detached-buffer.js fails +built-ins/TypedArray/prototype/length/name.js fails +built-ins/TypedArray/prototype/length/prop-desc.js fails +built-ins/TypedArray/prototype/map/arraylength-internal.js fails +built-ins/TypedArray/prototype/map/callbackfn-arguments-with-thisarg.js fails +built-ins/TypedArray/prototype/map/callbackfn-arguments-without-thisarg.js fails +built-ins/TypedArray/prototype/map/callbackfn-detachbuffer.js fails +built-ins/TypedArray/prototype/map/callbackfn-no-interaction-over-non-integer-properties.js fails +built-ins/TypedArray/prototype/map/callbackfn-not-called-on-empty.js fails +built-ins/TypedArray/prototype/map/callbackfn-return-affects-returned-object.js fails +built-ins/TypedArray/prototype/map/callbackfn-return-does-not-change-instance.js fails +built-ins/TypedArray/prototype/map/callbackfn-return-does-not-copy-non-integer-properties.js fails +built-ins/TypedArray/prototype/map/callbackfn-returns-abrupt.js fails +built-ins/TypedArray/prototype/map/callbackfn-set-value-during-interaction.js fails +built-ins/TypedArray/prototype/map/callbackfn-this.js fails +built-ins/TypedArray/prototype/map/detached-buffer.js fails +built-ins/TypedArray/prototype/map/invoked-as-func.js fails +built-ins/TypedArray/prototype/map/invoked-as-method.js fails +built-ins/TypedArray/prototype/map/length.js fails +built-ins/TypedArray/prototype/map/name.js fails +built-ins/TypedArray/prototype/map/prop-desc.js fails +built-ins/TypedArray/prototype/map/return-new-typedarray-conversion-operation-consistent-nan.js fails +built-ins/TypedArray/prototype/map/return-new-typedarray-conversion-operation.js fails +built-ins/TypedArray/prototype/map/return-new-typedarray-from-empty-length.js fails +built-ins/TypedArray/prototype/map/return-new-typedarray-from-positive-length.js fails +built-ins/TypedArray/prototype/map/values-are-not-cached.js fails +built-ins/TypedArray/prototype/reduce/callbackfn-arguments-custom-accumulator.js fails +built-ins/TypedArray/prototype/reduce/callbackfn-arguments-default-accumulator.js fails +built-ins/TypedArray/prototype/reduce/callbackfn-detachbuffer.js fails +built-ins/TypedArray/prototype/reduce/callbackfn-no-iteration-over-non-integer-properties.js fails +built-ins/TypedArray/prototype/reduce/callbackfn-not-called-on-empty.js fails +built-ins/TypedArray/prototype/reduce/callbackfn-return-does-not-change-instance.js fails +built-ins/TypedArray/prototype/reduce/callbackfn-returns-abrupt.js fails +built-ins/TypedArray/prototype/reduce/callbackfn-set-value-during-iteration.js fails +built-ins/TypedArray/prototype/reduce/callbackfn-this.js fails +built-ins/TypedArray/prototype/reduce/detached-buffer.js fails +built-ins/TypedArray/prototype/reduce/empty-instance-return-initialvalue.js fails +built-ins/TypedArray/prototype/reduce/get-length-uses-internal-arraylength.js fails +built-ins/TypedArray/prototype/reduce/invoked-as-func.js fails +built-ins/TypedArray/prototype/reduce/invoked-as-method.js fails +built-ins/TypedArray/prototype/reduce/length.js fails +built-ins/TypedArray/prototype/reduce/name.js fails +built-ins/TypedArray/prototype/reduce/prop-desc.js fails +built-ins/TypedArray/prototype/reduce/result-is-last-callbackfn-return.js fails +built-ins/TypedArray/prototype/reduce/result-of-any-type.js fails +built-ins/TypedArray/prototype/reduce/return-first-value-without-callbackfn.js fails +built-ins/TypedArray/prototype/reduce/values-are-not-cached.js fails +built-ins/TypedArray/prototype/reduceRight/callbackfn-arguments-custom-accumulator.js fails +built-ins/TypedArray/prototype/reduceRight/callbackfn-arguments-default-accumulator.js fails +built-ins/TypedArray/prototype/reduceRight/callbackfn-detachbuffer.js fails +built-ins/TypedArray/prototype/reduceRight/callbackfn-no-iteration-over-non-integer-properties.js fails +built-ins/TypedArray/prototype/reduceRight/callbackfn-not-called-on-empty.js fails +built-ins/TypedArray/prototype/reduceRight/callbackfn-return-does-not-change-instance.js fails +built-ins/TypedArray/prototype/reduceRight/callbackfn-returns-abrupt.js fails +built-ins/TypedArray/prototype/reduceRight/callbackfn-set-value-during-iteration.js fails +built-ins/TypedArray/prototype/reduceRight/callbackfn-this.js fails +built-ins/TypedArray/prototype/reduceRight/detached-buffer.js fails +built-ins/TypedArray/prototype/reduceRight/empty-instance-return-initialvalue.js fails +built-ins/TypedArray/prototype/reduceRight/get-length-uses-internal-arraylength.js fails +built-ins/TypedArray/prototype/reduceRight/invoked-as-func.js fails +built-ins/TypedArray/prototype/reduceRight/invoked-as-method.js fails +built-ins/TypedArray/prototype/reduceRight/length.js fails +built-ins/TypedArray/prototype/reduceRight/name.js fails +built-ins/TypedArray/prototype/reduceRight/prop-desc.js fails +built-ins/TypedArray/prototype/reduceRight/result-is-last-callbackfn-return.js fails +built-ins/TypedArray/prototype/reduceRight/result-of-any-type.js fails +built-ins/TypedArray/prototype/reduceRight/return-first-value-without-callbackfn.js fails +built-ins/TypedArray/prototype/reduceRight/values-are-not-cached.js fails +built-ins/TypedArray/prototype/reverse/detached-buffer.js fails +built-ins/TypedArray/prototype/reverse/get-length-uses-internal-arraylength.js fails +built-ins/TypedArray/prototype/reverse/invoked-as-func.js fails +built-ins/TypedArray/prototype/reverse/invoked-as-method.js fails +built-ins/TypedArray/prototype/reverse/length.js fails +built-ins/TypedArray/prototype/reverse/name.js fails +built-ins/TypedArray/prototype/reverse/preserves-non-numeric-properties.js fails +built-ins/TypedArray/prototype/reverse/prop-desc.js fails +built-ins/TypedArray/prototype/reverse/returns-original-object.js fails +built-ins/TypedArray/prototype/reverse/reverts.js fails +built-ins/TypedArray/prototype/set/array-arg-set-values-in-order.js fails +built-ins/TypedArray/prototype/set/array-arg-target-arraylength-internal.js fails +built-ins/TypedArray/prototype/set/array-arg-targetbuffer-detached-on-get-src-value-throws.js fails +built-ins/TypedArray/prototype/set/array-arg-targetbuffer-detached-on-tointeger-offset-throws.js fails +built-ins/TypedArray/prototype/set/array-arg-targetbuffer-detached-throws.js fails +built-ins/TypedArray/prototype/set/typedarray-arg-src-arraylength-internal.js fails +built-ins/TypedArray/prototype/set/typedarray-arg-src-byteoffset-internal.js fails +built-ins/TypedArray/prototype/set/typedarray-arg-srcbuffer-detached-during-tointeger-offset-throws.js fails +built-ins/TypedArray/prototype/set/typedarray-arg-target-arraylength-internal.js fails +built-ins/TypedArray/prototype/set/typedarray-arg-target-byteoffset-internal.js fails +built-ins/TypedArray/prototype/set/typedarray-arg-targetbuffer-detached-during-tointeger-offset-throws.js fails +built-ins/TypedArray/prototype/slice/arraylength-internal.js fails +built-ins/TypedArray/prototype/slice/bit-precision.js fails +built-ins/TypedArray/prototype/slice/detached-buffer-zero-count-custom-ctor-other-targettype.js fails +built-ins/TypedArray/prototype/slice/detached-buffer-zero-count-custom-ctor-same-targettype.js fails +built-ins/TypedArray/prototype/slice/detached-buffer.js fails +built-ins/TypedArray/prototype/slice/infinity.js fails +built-ins/TypedArray/prototype/slice/invoked-as-func.js fails +built-ins/TypedArray/prototype/slice/invoked-as-method.js fails +built-ins/TypedArray/prototype/slice/length.js fails +built-ins/TypedArray/prototype/slice/minus-zero.js fails +built-ins/TypedArray/prototype/slice/name.js fails +built-ins/TypedArray/prototype/slice/prop-desc.js fails +built-ins/TypedArray/prototype/slice/result-does-not-copy-ordinary-properties.js fails +built-ins/TypedArray/prototype/slice/results-with-different-length.js fails +built-ins/TypedArray/prototype/slice/results-with-empty-length.js fails +built-ins/TypedArray/prototype/slice/results-with-same-length.js fails +built-ins/TypedArray/prototype/slice/return-abrupt-from-end.js fails +built-ins/TypedArray/prototype/slice/return-abrupt-from-start.js fails +built-ins/TypedArray/prototype/slice/set-values-from-different-ctor-type.js fails +built-ins/TypedArray/prototype/slice/speciesctor-get-ctor-abrupt.js fails +built-ins/TypedArray/prototype/slice/speciesctor-get-ctor-inherited.js fails +built-ins/TypedArray/prototype/slice/speciesctor-get-ctor.js fails +built-ins/TypedArray/prototype/slice/speciesctor-get-species-abrupt.js fails +built-ins/TypedArray/prototype/slice/speciesctor-get-species-custom-ctor-invocation.js fails +built-ins/TypedArray/prototype/slice/speciesctor-get-species-custom-ctor-length.js fails +built-ins/TypedArray/prototype/slice/speciesctor-get-species-custom-ctor-returns-another-instance.js fails +built-ins/TypedArray/prototype/slice/speciesctor-get-species-custom-ctor.js fails +built-ins/TypedArray/prototype/slice/speciesctor-get-species-use-default-ctor.js fails +built-ins/TypedArray/prototype/slice/speciesctor-get-species.js fails +built-ins/TypedArray/prototype/slice/tointeger-end.js fails +built-ins/TypedArray/prototype/slice/tointeger-start.js fails +built-ins/TypedArray/prototype/some/callbackfn-arguments-with-thisarg.js fails +built-ins/TypedArray/prototype/some/callbackfn-arguments-without-thisarg.js fails +built-ins/TypedArray/prototype/some/callbackfn-detachbuffer.js fails +built-ins/TypedArray/prototype/some/callbackfn-no-interaction-over-non-integer.js fails +built-ins/TypedArray/prototype/some/callbackfn-not-called-on-empty.js fails +built-ins/TypedArray/prototype/some/callbackfn-return-does-not-change-instance.js fails +built-ins/TypedArray/prototype/some/callbackfn-returns-abrupt.js fails +built-ins/TypedArray/prototype/some/callbackfn-set-value-during-interaction.js fails +built-ins/TypedArray/prototype/some/callbackfn-this.js fails +built-ins/TypedArray/prototype/some/detached-buffer.js fails +built-ins/TypedArray/prototype/some/get-length-uses-internal-arraylength.js fails +built-ins/TypedArray/prototype/some/invoked-as-func.js fails +built-ins/TypedArray/prototype/some/invoked-as-method.js fails +built-ins/TypedArray/prototype/some/length.js fails +built-ins/TypedArray/prototype/some/name.js fails +built-ins/TypedArray/prototype/some/prop-desc.js fails +built-ins/TypedArray/prototype/some/returns-false-if-every-cb-returns-false.js fails +built-ins/TypedArray/prototype/some/returns-true-if-any-cb-returns-true.js fails +built-ins/TypedArray/prototype/some/values-are-not-cached.js fails +built-ins/TypedArray/prototype/sort/arraylength-internal.js fails +built-ins/TypedArray/prototype/sort/comparefn-call-throws.js fails +built-ins/TypedArray/prototype/sort/comparefn-calls.js fails +built-ins/TypedArray/prototype/sort/detached-buffer-comparefn.js fails +built-ins/TypedArray/prototype/sort/detached-buffer.js fails +built-ins/TypedArray/prototype/sort/invoked-as-func.js fails +built-ins/TypedArray/prototype/sort/invoked-as-method.js fails +built-ins/TypedArray/prototype/sort/length.js fails +built-ins/TypedArray/prototype/sort/name.js fails +built-ins/TypedArray/prototype/sort/prop-desc.js fails +built-ins/TypedArray/prototype/sort/return-same-instance.js fails +built-ins/TypedArray/prototype/sort/sortcompare-with-no-tostring.js fails +built-ins/TypedArray/prototype/sort/sorted-values-nan.js fails +built-ins/TypedArray/prototype/sort/sorted-values.js fails +built-ins/TypedArray/prototype/subarray/detached-buffer.js fails +built-ins/TypedArray/prototype/subarray/length.js fails +built-ins/TypedArray/prototype/subarray/speciesctor-get-ctor-inherited.js fails +built-ins/TypedArray/prototype/subarray/speciesctor-get-ctor.js fails +built-ins/TypedArray/prototype/subarray/speciesctor-get-species-abrupt.js fails +built-ins/TypedArray/prototype/subarray/speciesctor-get-species-custom-ctor-invocation.js fails +built-ins/TypedArray/prototype/subarray/speciesctor-get-species-custom-ctor-returns-another-instance.js fails +built-ins/TypedArray/prototype/subarray/speciesctor-get-species-custom-ctor.js fails +built-ins/TypedArray/prototype/subarray/speciesctor-get-species-use-default-ctor.js fails +built-ins/TypedArray/prototype/subarray/speciesctor-get-species.js fails +built-ins/TypedArray/prototype/toLocaleString/calls-tolocalestring-from-each-value.js fails +built-ins/TypedArray/prototype/toLocaleString/calls-tostring-from-each-value.js fails +built-ins/TypedArray/prototype/toLocaleString/calls-valueof-from-each-value.js fails +built-ins/TypedArray/prototype/toLocaleString/detached-buffer.js fails +built-ins/TypedArray/prototype/toLocaleString/empty-instance-returns-empty-string.js fails +built-ins/TypedArray/prototype/toLocaleString/get-length-uses-internal-arraylength.js fails +built-ins/TypedArray/prototype/toLocaleString/invoked-as-method.js fails +built-ins/TypedArray/prototype/toLocaleString/prop-desc.js fails +built-ins/TypedArray/prototype/toLocaleString/return-abrupt-from-firstelement-tolocalestring.js fails +built-ins/TypedArray/prototype/toLocaleString/return-abrupt-from-firstelement-tostring.js fails +built-ins/TypedArray/prototype/toLocaleString/return-abrupt-from-firstelement-valueof.js fails +built-ins/TypedArray/prototype/toLocaleString/return-abrupt-from-nextelement-tolocalestring.js fails +built-ins/TypedArray/prototype/toLocaleString/return-abrupt-from-nextelement-tostring.js fails +built-ins/TypedArray/prototype/toLocaleString/return-abrupt-from-nextelement-valueof.js fails +built-ins/TypedArray/prototype/toLocaleString/return-result.js fails +built-ins/TypedArray/prototype/toLocaleString/this-is-not-object.js fails +built-ins/TypedArray/prototype/toLocaleString/this-is-not-typedarray-instance.js fails +built-ins/TypedArray/prototype/toString.js fails +built-ins/TypedArray/prototype/toString/detached-buffer.js fails +built-ins/TypedArray/prototype/values/detached-buffer.js fails +built-ins/TypedArrays/ctors/buffer-arg/byteoffset-to-number-detachbuffer.js fails +built-ins/TypedArrays/ctors/buffer-arg/custom-proto-access-throws.js fails +built-ins/TypedArrays/ctors/buffer-arg/defined-negative-length.js fails +built-ins/TypedArrays/ctors/buffer-arg/detachedbuffer.js fails +built-ins/TypedArrays/ctors/buffer-arg/length-to-number-detachbuffer.js fails +built-ins/TypedArrays/ctors/buffer-arg/proto-from-ctor-realm.js fails +built-ins/TypedArrays/ctors/buffer-arg/use-custom-proto-if-object.js fails +built-ins/TypedArrays/ctors/buffer-arg/use-default-proto-if-custom-proto-is-not-object.js fails +built-ins/TypedArrays/ctors/length-arg/custom-proto-access-throws.js fails +built-ins/TypedArrays/ctors/length-arg/proto-from-ctor-realm.js fails +built-ins/TypedArrays/ctors/length-arg/use-custom-proto-if-object.js fails +built-ins/TypedArrays/ctors/length-arg/use-default-proto-if-custom-proto-is-not-object.js fails +built-ins/TypedArrays/ctors/no-args/custom-proto-access-throws.js fails +built-ins/TypedArrays/ctors/no-args/proto-from-ctor-realm.js fails +built-ins/TypedArrays/ctors/no-args/use-custom-proto-if-object.js fails +built-ins/TypedArrays/ctors/no-args/use-default-proto-if-custom-proto-is-not-object.js fails +built-ins/TypedArrays/ctors/object-arg/as-generator-iterable-returns.js fails +built-ins/TypedArrays/ctors/object-arg/custom-proto-access-throws.js fails +built-ins/TypedArrays/ctors/object-arg/iterator-not-callable-throws.js fails +built-ins/TypedArrays/ctors/object-arg/proto-from-ctor-realm.js fails +built-ins/TypedArrays/ctors/object-arg/throws-setting-obj-to-primitive-typeerror.js fails +built-ins/TypedArrays/ctors/object-arg/throws-setting-obj-to-primitive.js fails +built-ins/TypedArrays/ctors/object-arg/use-custom-proto-if-object.js fails +built-ins/TypedArrays/ctors/object-arg/use-default-proto-if-custom-proto-is-not-object.js fails +built-ins/TypedArrays/ctors/typedarray-arg/custom-proto-access-throws.js fails +built-ins/TypedArrays/ctors/typedarray-arg/detached-when-species-retrieved-different-type.js fails +built-ins/TypedArrays/ctors/typedarray-arg/detached-when-species-retrieved-same-type.js fails +built-ins/TypedArrays/ctors/typedarray-arg/other-ctor-buffer-ctor-custom-species-proto-from-ctor-realm.js fails +built-ins/TypedArrays/ctors/typedarray-arg/other-ctor-buffer-ctor-custom-species.js fails +built-ins/TypedArrays/ctors/typedarray-arg/other-ctor-buffer-ctor-not-object-throws.js fails +built-ins/TypedArrays/ctors/typedarray-arg/other-ctor-buffer-ctor-species-not-ctor-throws.js fails +built-ins/TypedArrays/ctors/typedarray-arg/other-ctor-buffer-ctor-species-prototype-throws.js fails +built-ins/TypedArrays/ctors/typedarray-arg/proto-from-ctor-realm.js fails +built-ins/TypedArrays/ctors/typedarray-arg/same-ctor-buffer-ctor-species-custom-proto-from-ctor-realm.js fails +built-ins/TypedArrays/ctors/typedarray-arg/same-ctor-buffer-ctor-species-custom.js fails +built-ins/TypedArrays/ctors/typedarray-arg/same-ctor-buffer-ctor-species-not-ctor.js fails +built-ins/TypedArrays/ctors/typedarray-arg/same-ctor-buffer-ctor-species-prototype-throws.js fails +built-ins/TypedArrays/ctors/typedarray-arg/same-ctor-buffer-ctor-value-not-obj-throws.js fails +built-ins/TypedArrays/ctors/typedarray-arg/use-custom-proto-if-object.js fails +built-ins/TypedArrays/ctors/typedarray-arg/use-default-proto-if-custom-proto-is-not-object.js fails +built-ins/TypedArrays/from/arylk-get-length-error.js fails +built-ins/TypedArrays/from/arylk-to-length-error.js fails +built-ins/TypedArrays/from/custom-ctor-returns-other-instance.js fails +built-ins/TypedArrays/from/custom-ctor.js fails +built-ins/TypedArrays/from/iter-access-error.js fails +built-ins/TypedArrays/from/iter-invoke-error.js fails +built-ins/TypedArrays/from/iter-next-error.js fails +built-ins/TypedArrays/from/iter-next-value-error.js fails +built-ins/TypedArrays/from/mapfn-abrupt-completion.js fails +built-ins/TypedArrays/from/mapfn-arguments.js fails +built-ins/TypedArrays/from/mapfn-this-with-thisarg.js fails +built-ins/TypedArrays/from/mapfn-this-without-thisarg-non-strict.js sloppyFails +built-ins/TypedArrays/from/mapfn-this-without-thisarg-strict.js strictFails +built-ins/TypedArrays/from/nan-conversion.js fails +built-ins/TypedArrays/from/new-instance-empty.js fails +built-ins/TypedArrays/from/new-instance-from-ordinary-object.js fails +built-ins/TypedArrays/from/new-instance-from-sparse-array.js fails +built-ins/TypedArrays/from/new-instance-from-zero.js fails +built-ins/TypedArrays/from/new-instance-using-custom-ctor.js fails +built-ins/TypedArrays/from/new-instance-with-mapfn.js fails +built-ins/TypedArrays/from/new-instance-without-mapfn.js fails +built-ins/TypedArrays/from/property-abrupt-completion.js fails +built-ins/TypedArrays/from/set-value-abrupt-completion.js fails +built-ins/TypedArrays/internals/DefineOwnProperty/conversion-operation-consistent-nan.js fails +built-ins/TypedArrays/internals/DefineOwnProperty/conversion-operation.js fails +built-ins/TypedArrays/internals/DefineOwnProperty/detached-buffer-realm.js fails +built-ins/TypedArrays/internals/DefineOwnProperty/detached-buffer.js fails +built-ins/TypedArrays/internals/DefineOwnProperty/key-is-greater-than-last-index.js fails +built-ins/TypedArrays/internals/DefineOwnProperty/key-is-lower-than-zero.js fails +built-ins/TypedArrays/internals/DefineOwnProperty/key-is-minus-zero.js fails +built-ins/TypedArrays/internals/DefineOwnProperty/key-is-not-canonical-index.js fails +built-ins/TypedArrays/internals/DefineOwnProperty/key-is-not-integer.js fails +built-ins/TypedArrays/internals/DefineOwnProperty/key-is-not-numeric-index.js fails +built-ins/TypedArrays/internals/DefineOwnProperty/key-is-numericindex-accessor-desc.js fails +built-ins/TypedArrays/internals/DefineOwnProperty/key-is-numericindex-desc-configurable.js fails +built-ins/TypedArrays/internals/DefineOwnProperty/key-is-numericindex-desc-not-enumerable.js fails +built-ins/TypedArrays/internals/DefineOwnProperty/key-is-numericindex-desc-not-writable.js fails +built-ins/TypedArrays/internals/DefineOwnProperty/key-is-numericindex.js fails +built-ins/TypedArrays/internals/DefineOwnProperty/key-is-symbol.js fails +built-ins/TypedArrays/internals/DefineOwnProperty/non-extensible-new-key.js fails +built-ins/TypedArrays/internals/DefineOwnProperty/non-extensible-redefine-key.js fails +built-ins/TypedArrays/internals/DefineOwnProperty/set-value.js fails +built-ins/TypedArrays/internals/DefineOwnProperty/this-is-not-extensible.js fails +built-ins/TypedArrays/internals/DefineOwnProperty/tonumber-value-detached-buffer.js fails +built-ins/TypedArrays/internals/Get/detached-buffer-key-is-not-numeric-index.js fails +built-ins/TypedArrays/internals/Get/detached-buffer-key-is-symbol.js fails +built-ins/TypedArrays/internals/Get/detached-buffer-realm.js fails +built-ins/TypedArrays/internals/Get/detached-buffer.js fails +built-ins/TypedArrays/internals/Get/infinity-detached-buffer.js fails +built-ins/TypedArrays/internals/Get/key-is-not-integer.js fails +built-ins/TypedArrays/internals/Get/key-is-not-minus-zero.js fails +built-ins/TypedArrays/internals/Get/key-is-out-of-bounds.js fails +built-ins/TypedArrays/internals/GetOwnProperty/detached-buffer-key-is-not-number.js fails +built-ins/TypedArrays/internals/GetOwnProperty/detached-buffer-key-is-symbol.js fails +built-ins/TypedArrays/internals/GetOwnProperty/detached-buffer-realm.js fails +built-ins/TypedArrays/internals/GetOwnProperty/detached-buffer.js fails +built-ins/TypedArrays/internals/GetOwnProperty/enumerate-detached-buffer.js fails +built-ins/TypedArrays/internals/GetOwnProperty/index-prop-desc.js fails +built-ins/TypedArrays/internals/HasProperty/abrupt-from-ordinary-has-parent-hasproperty.js fails +built-ins/TypedArrays/internals/HasProperty/detached-buffer-key-is-not-number.js fails +built-ins/TypedArrays/internals/HasProperty/detached-buffer-key-is-symbol.js fails +built-ins/TypedArrays/internals/HasProperty/detached-buffer-realm.js fails +built-ins/TypedArrays/internals/HasProperty/detached-buffer.js fails +built-ins/TypedArrays/internals/HasProperty/indexed-value.js fails +built-ins/TypedArrays/internals/HasProperty/infinity-with-detached-buffer.js sloppyFails +built-ins/TypedArrays/internals/HasProperty/inherited-property.js fails +built-ins/TypedArrays/internals/HasProperty/key-is-greater-than-last-index.js fails +built-ins/TypedArrays/internals/HasProperty/key-is-lower-than-zero.js fails +built-ins/TypedArrays/internals/HasProperty/key-is-minus-zero.js fails +built-ins/TypedArrays/internals/HasProperty/key-is-not-canonical-index.js fails +built-ins/TypedArrays/internals/HasProperty/key-is-not-integer.js fails +built-ins/TypedArrays/internals/HasProperty/key-is-not-numeric-index.js fails +built-ins/TypedArrays/internals/HasProperty/key-is-symbol.js fails +built-ins/TypedArrays/internals/OwnPropertyKeys/integer-indexes-and-string-and-symbol-keys-.js fails +built-ins/TypedArrays/internals/OwnPropertyKeys/integer-indexes-and-string-keys.js fails +built-ins/TypedArrays/internals/OwnPropertyKeys/integer-indexes.js fails +built-ins/TypedArrays/internals/OwnPropertyKeys/not-enumerable-keys.js fails +built-ins/TypedArrays/internals/Set/detached-buffer-key-is-not-numeric-index.js fails +built-ins/TypedArrays/internals/Set/detached-buffer-key-is-symbol.js fails +built-ins/TypedArrays/internals/Set/detached-buffer-realm.js fails +built-ins/TypedArrays/internals/Set/detached-buffer.js fails +built-ins/TypedArrays/internals/Set/indexed-value.js fails +built-ins/TypedArrays/internals/Set/key-is-minus-zero.js fails +built-ins/TypedArrays/internals/Set/key-is-not-canonical-index.js fails +built-ins/TypedArrays/internals/Set/key-is-not-integer.js fails +built-ins/TypedArrays/internals/Set/key-is-not-numeric-index.js fails +built-ins/TypedArrays/internals/Set/key-is-out-of-bounds.js fails +built-ins/TypedArrays/internals/Set/key-is-symbol.js fails +built-ins/TypedArrays/internals/Set/tonumber-value-detached-buffer.js fails +built-ins/TypedArrays/internals/Set/tonumber-value-throws.js strictFails +built-ins/TypedArrays/of/argument-number-value-throws.js fails +built-ins/TypedArrays/of/custom-ctor-returns-other-instance.js fails +built-ins/TypedArrays/of/custom-ctor.js fails +built-ins/TypedArrays/of/nan-conversion.js fails +built-ins/TypedArrays/of/new-instance-empty.js fails +built-ins/TypedArrays/of/new-instance-from-zero.js fails +built-ins/TypedArrays/of/new-instance-using-custom-ctor.js fails +built-ins/TypedArrays/of/new-instance.js fails +built-ins/WeakMap/constructor.js fails +built-ins/WeakMap/empty-iterable.js fails +built-ins/WeakMap/get-set-method-failure.js fails +built-ins/WeakMap/iterable-failure.js fails +built-ins/WeakMap/iterable.js fails +built-ins/WeakMap/iterator-close-after-set-failure.js fails +built-ins/WeakMap/iterator-item-first-entry-returns-abrupt.js fails +built-ins/WeakMap/iterator-item-second-entry-returns-abrupt.js fails +built-ins/WeakMap/iterator-items-are-not-object-close-iterator.js fails +built-ins/WeakMap/iterator-items-are-not-object.js fails +built-ins/WeakMap/iterator-next-failure.js fails +built-ins/WeakMap/iterator-value-failure.js fails +built-ins/WeakMap/length.js fails +built-ins/WeakMap/name.js fails +built-ins/WeakMap/no-iterable.js fails +built-ins/WeakMap/properties-of-map-instances.js fails +built-ins/WeakMap/properties-of-the-weakmap-prototype-object.js fails +built-ins/WeakMap/proto-from-ctor-realm.js fails +built-ins/WeakMap/prototype-of-weakmap.js fails +built-ins/WeakMap/prototype/Symbol.toStringTag.js fails +built-ins/WeakMap/prototype/constructor.js fails +built-ins/WeakMap/prototype/delete/delete-entry-initial-iterable.js fails +built-ins/WeakMap/prototype/delete/delete-entry.js fails +built-ins/WeakMap/prototype/delete/delete.js fails +built-ins/WeakMap/prototype/delete/does-not-have-weakmapdata-internal-slot-array.js fails +built-ins/WeakMap/prototype/delete/does-not-have-weakmapdata-internal-slot-map.js fails +built-ins/WeakMap/prototype/delete/does-not-have-weakmapdata-internal-slot-object.js fails +built-ins/WeakMap/prototype/delete/does-not-have-weakmapdata-internal-slot-set.js fails +built-ins/WeakMap/prototype/delete/does-not-have-weakmapdata-internal-slot-weakmap-prototype.js fails +built-ins/WeakMap/prototype/delete/length.js fails +built-ins/WeakMap/prototype/delete/name.js fails +built-ins/WeakMap/prototype/delete/returns-false-value-is-not-object.js fails +built-ins/WeakMap/prototype/delete/returns-false-when-delete-is-noop.js fails +built-ins/WeakMap/prototype/delete/this-not-object-throw-boolean.js fails +built-ins/WeakMap/prototype/delete/this-not-object-throw-null.js fails +built-ins/WeakMap/prototype/delete/this-not-object-throw-number.js fails +built-ins/WeakMap/prototype/delete/this-not-object-throw-string.js fails +built-ins/WeakMap/prototype/delete/this-not-object-throw-symbol.js fails +built-ins/WeakMap/prototype/delete/this-not-object-throw-undefined.js fails +built-ins/WeakMap/prototype/get/does-not-have-weakmapdata-internal-slot-map.js fails +built-ins/WeakMap/prototype/get/does-not-have-weakmapdata-internal-slot-set.js fails +built-ins/WeakMap/prototype/get/does-not-have-weakmapdata-internal-slot.js fails +built-ins/WeakMap/prototype/get/get.js fails +built-ins/WeakMap/prototype/get/length.js fails +built-ins/WeakMap/prototype/get/name.js fails +built-ins/WeakMap/prototype/get/returns-undefined-key-is-not-object.js fails +built-ins/WeakMap/prototype/get/returns-undefined.js fails +built-ins/WeakMap/prototype/get/returns-value.js fails +built-ins/WeakMap/prototype/get/this-not-object-throw.js fails +built-ins/WeakMap/prototype/has/does-not-have-weakmapdata-internal-slot-array.js fails +built-ins/WeakMap/prototype/has/does-not-have-weakmapdata-internal-slot-map.js fails +built-ins/WeakMap/prototype/has/does-not-have-weakmapdata-internal-slot-object.js fails +built-ins/WeakMap/prototype/has/does-not-have-weakmapdata-internal-slot-set.js fails +built-ins/WeakMap/prototype/has/does-not-have-weakmapdata-internal-slot-weakmap-prototype.js fails +built-ins/WeakMap/prototype/has/has.js fails +built-ins/WeakMap/prototype/has/length.js fails +built-ins/WeakMap/prototype/has/name.js fails +built-ins/WeakMap/prototype/has/returns-false-when-value-is-not-object.js fails +built-ins/WeakMap/prototype/has/returns-false-when-value-not-present.js fails +built-ins/WeakMap/prototype/has/returns-true-when-value-present.js fails +built-ins/WeakMap/prototype/has/this-not-object-throw-boolean.js fails +built-ins/WeakMap/prototype/has/this-not-object-throw-null.js fails +built-ins/WeakMap/prototype/has/this-not-object-throw-number.js fails +built-ins/WeakMap/prototype/has/this-not-object-throw-string.js fails +built-ins/WeakMap/prototype/has/this-not-object-throw-symbol.js fails +built-ins/WeakMap/prototype/has/this-not-object-throw-undefined.js fails +built-ins/WeakMap/prototype/prototype-attributes.js fails +built-ins/WeakMap/prototype/set/adds-element.js fails +built-ins/WeakMap/prototype/set/does-not-have-weakmapdata-internal-slot-array.js fails +built-ins/WeakMap/prototype/set/does-not-have-weakmapdata-internal-slot-map.js fails +built-ins/WeakMap/prototype/set/does-not-have-weakmapdata-internal-slot-object.js fails +built-ins/WeakMap/prototype/set/does-not-have-weakmapdata-internal-slot-set.js fails +built-ins/WeakMap/prototype/set/does-not-have-weakmapdata-internal-slot-weakmap-prototype.js fails +built-ins/WeakMap/prototype/set/key-not-object-throw.js fails +built-ins/WeakMap/prototype/set/length.js fails +built-ins/WeakMap/prototype/set/name.js fails +built-ins/WeakMap/prototype/set/returns-this-when-ignoring-duplicate.js fails +built-ins/WeakMap/prototype/set/returns-this.js fails +built-ins/WeakMap/prototype/set/set.js fails +built-ins/WeakMap/prototype/set/this-not-object-throw-boolean.js fails +built-ins/WeakMap/prototype/set/this-not-object-throw-null.js fails +built-ins/WeakMap/prototype/set/this-not-object-throw-number.js fails +built-ins/WeakMap/prototype/set/this-not-object-throw-string.js fails +built-ins/WeakMap/prototype/set/this-not-object-throw-symbol.js fails +built-ins/WeakMap/prototype/set/this-not-object-throw-undefined.js fails +built-ins/WeakMap/set-not-callable-throws.js fails +built-ins/WeakMap/undefined-newtarget.js fails +built-ins/WeakMap/weakmap.js fails +built-ins/WeakSet/add-not-callable-throws.js fails +built-ins/WeakSet/constructor.js fails +built-ins/WeakSet/empty-iterable.js fails +built-ins/WeakSet/get-add-method-failure.js fails +built-ins/WeakSet/iterable-failure.js fails +built-ins/WeakSet/iterable.js fails +built-ins/WeakSet/iterator-close-after-add-failure.js fails +built-ins/WeakSet/iterator-next-failure.js fails +built-ins/WeakSet/iterator-value-failure.js fails +built-ins/WeakSet/length.js fails +built-ins/WeakSet/name.js fails +built-ins/WeakSet/no-iterable.js fails +built-ins/WeakSet/properties-of-the-weakset-prototype-object.js fails +built-ins/WeakSet/proto-from-ctor-realm.js fails +built-ins/WeakSet/prototype-of-weakset.js fails +built-ins/WeakSet/prototype/Symbol.toStringTag.js fails +built-ins/WeakSet/prototype/add/add.js fails +built-ins/WeakSet/prototype/add/adds-element.js fails +built-ins/WeakSet/prototype/add/does-not-have-weaksetdata-internal-slot-array.js fails +built-ins/WeakSet/prototype/add/does-not-have-weaksetdata-internal-slot-map.js fails +built-ins/WeakSet/prototype/add/does-not-have-weaksetdata-internal-slot-object.js fails +built-ins/WeakSet/prototype/add/does-not-have-weaksetdata-internal-slot-set.js fails +built-ins/WeakSet/prototype/add/does-not-have-weaksetdata-internal-slot-weakset-prototype.js fails +built-ins/WeakSet/prototype/add/length.js fails +built-ins/WeakSet/prototype/add/name.js fails +built-ins/WeakSet/prototype/add/returns-this-when-ignoring-duplicate.js fails +built-ins/WeakSet/prototype/add/returns-this.js fails +built-ins/WeakSet/prototype/add/this-not-object-throw-boolean.js fails +built-ins/WeakSet/prototype/add/this-not-object-throw-null.js fails +built-ins/WeakSet/prototype/add/this-not-object-throw-number.js fails +built-ins/WeakSet/prototype/add/this-not-object-throw-string.js fails +built-ins/WeakSet/prototype/add/this-not-object-throw-symbol.js fails +built-ins/WeakSet/prototype/add/this-not-object-throw-undefined.js fails +built-ins/WeakSet/prototype/add/value-not-object-throw.js fails +built-ins/WeakSet/prototype/constructor/weakset-prototype-constructor-intrinsic.js fails +built-ins/WeakSet/prototype/constructor/weakset-prototype-constructor.js fails +built-ins/WeakSet/prototype/delete/delete-entry-initial-iterable.js fails +built-ins/WeakSet/prototype/delete/delete-entry.js fails +built-ins/WeakSet/prototype/delete/delete.js fails +built-ins/WeakSet/prototype/delete/does-not-have-weaksetdata-internal-slot-array.js fails +built-ins/WeakSet/prototype/delete/does-not-have-weaksetdata-internal-slot-map.js fails +built-ins/WeakSet/prototype/delete/does-not-have-weaksetdata-internal-slot-object.js fails +built-ins/WeakSet/prototype/delete/does-not-have-weaksetdata-internal-slot-set.js fails +built-ins/WeakSet/prototype/delete/does-not-have-weaksetdata-internal-slot-weakset-prototype.js fails +built-ins/WeakSet/prototype/delete/length.js fails +built-ins/WeakSet/prototype/delete/name.js fails +built-ins/WeakSet/prototype/delete/returns-false-value-is-not-object.js fails +built-ins/WeakSet/prototype/delete/returns-false-when-delete-is-noop.js fails +built-ins/WeakSet/prototype/delete/this-not-object-throw-boolean.js fails +built-ins/WeakSet/prototype/delete/this-not-object-throw-null.js fails +built-ins/WeakSet/prototype/delete/this-not-object-throw-number.js fails +built-ins/WeakSet/prototype/delete/this-not-object-throw-string.js fails +built-ins/WeakSet/prototype/delete/this-not-object-throw-symbol.js fails +built-ins/WeakSet/prototype/delete/this-not-object-throw-undefined.js fails +built-ins/WeakSet/prototype/has/does-not-have-weaksetdata-internal-slot-array.js fails +built-ins/WeakSet/prototype/has/does-not-have-weaksetdata-internal-slot-map.js fails +built-ins/WeakSet/prototype/has/does-not-have-weaksetdata-internal-slot-object.js fails +built-ins/WeakSet/prototype/has/does-not-have-weaksetdata-internal-slot-set.js fails +built-ins/WeakSet/prototype/has/does-not-have-weaksetdata-internal-slot-weakset-prototype.js fails +built-ins/WeakSet/prototype/has/has.js fails +built-ins/WeakSet/prototype/has/length.js fails +built-ins/WeakSet/prototype/has/name.js fails +built-ins/WeakSet/prototype/has/returns-false-when-value-is-not-object.js fails +built-ins/WeakSet/prototype/has/returns-false-when-value-not-present.js fails +built-ins/WeakSet/prototype/has/returns-true-when-value-present.js fails +built-ins/WeakSet/prototype/has/this-not-object-throw-boolean.js fails +built-ins/WeakSet/prototype/has/this-not-object-throw-null.js fails +built-ins/WeakSet/prototype/has/this-not-object-throw-number.js fails +built-ins/WeakSet/prototype/has/this-not-object-throw-string.js fails +built-ins/WeakSet/prototype/has/this-not-object-throw-symbol.js fails +built-ins/WeakSet/prototype/has/this-not-object-throw-undefined.js fails +built-ins/WeakSet/prototype/prototype-attributes.js fails +built-ins/WeakSet/symbol-disallowed-as-weakset-key.js fails +built-ins/WeakSet/undefined-newtarget.js fails +built-ins/WeakSet/weakset.js fails +built-ins/eval/length-non-configurable.js fails +built-ins/global/global-object.js fails +built-ins/global/property-descriptor.js fails +built-ins/isFinite/toprimitive-not-callable-throws.js fails +built-ins/isFinite/toprimitive-result-is-object-throws.js fails +built-ins/isFinite/toprimitive-result-is-symbol-throws.js fails +built-ins/isFinite/toprimitive-valid-result.js fails +built-ins/isNaN/toprimitive-not-callable-throws.js fails +built-ins/isNaN/toprimitive-result-is-object-throws.js fails +built-ins/isNaN/toprimitive-result-is-symbol-throws.js fails +built-ins/isNaN/toprimitive-valid-result.js fails +language/arguments-object/cls-decl-gen-meth-args-trailing-comma-multiple.js fails +language/arguments-object/cls-decl-gen-meth-args-trailing-comma-null.js fails +language/arguments-object/cls-decl-gen-meth-args-trailing-comma-single-args.js fails +language/arguments-object/cls-decl-gen-meth-args-trailing-comma-undefined.js fails +language/arguments-object/cls-decl-gen-meth-static-args-trailing-comma-multiple.js fails +language/arguments-object/cls-decl-gen-meth-static-args-trailing-comma-null.js fails +language/arguments-object/cls-decl-gen-meth-static-args-trailing-comma-single-args.js fails +language/arguments-object/cls-decl-gen-meth-static-args-trailing-comma-undefined.js fails +language/arguments-object/cls-decl-meth-args-trailing-comma-multiple.js fails +language/arguments-object/cls-decl-meth-args-trailing-comma-null.js fails +language/arguments-object/cls-decl-meth-args-trailing-comma-single-args.js fails +language/arguments-object/cls-decl-meth-args-trailing-comma-undefined.js fails +language/arguments-object/cls-decl-meth-static-args-trailing-comma-multiple.js fails +language/arguments-object/cls-decl-meth-static-args-trailing-comma-null.js fails +language/arguments-object/cls-decl-meth-static-args-trailing-comma-single-args.js fails +language/arguments-object/cls-decl-meth-static-args-trailing-comma-undefined.js fails +language/arguments-object/cls-expr-gen-meth-args-trailing-comma-multiple.js fails +language/arguments-object/cls-expr-gen-meth-args-trailing-comma-null.js fails +language/arguments-object/cls-expr-gen-meth-args-trailing-comma-single-args.js fails +language/arguments-object/cls-expr-gen-meth-args-trailing-comma-undefined.js fails +language/arguments-object/cls-expr-gen-meth-static-args-trailing-comma-multiple.js fails +language/arguments-object/cls-expr-gen-meth-static-args-trailing-comma-null.js fails +language/arguments-object/cls-expr-gen-meth-static-args-trailing-comma-single-args.js fails +language/arguments-object/cls-expr-gen-meth-static-args-trailing-comma-undefined.js fails +language/arguments-object/cls-expr-meth-args-trailing-comma-multiple.js fails +language/arguments-object/cls-expr-meth-args-trailing-comma-null.js fails +language/arguments-object/cls-expr-meth-args-trailing-comma-single-args.js fails +language/arguments-object/cls-expr-meth-args-trailing-comma-undefined.js fails +language/arguments-object/cls-expr-meth-static-args-trailing-comma-multiple.js fails +language/arguments-object/cls-expr-meth-static-args-trailing-comma-null.js fails +language/arguments-object/cls-expr-meth-static-args-trailing-comma-single-args.js fails +language/arguments-object/cls-expr-meth-static-args-trailing-comma-undefined.js fails +language/arguments-object/mapped/mapped-arguments-nonconfigurable-2.js sloppyFails +language/arguments-object/mapped/mapped-arguments-nonconfigurable-3.js sloppyFails +language/arguments-object/mapped/mapped-arguments-nonconfigurable-4.js sloppyFails +language/arguments-object/mapped/mapped-arguments-nonconfigurable-delete-2.js sloppyFails +language/arguments-object/mapped/mapped-arguments-nonconfigurable-delete-3.js sloppyFails +language/arguments-object/mapped/mapped-arguments-nonconfigurable-delete-4.js sloppyFails +language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-1.js sloppyFails +language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-3.js sloppyFails +language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-4.js sloppyFails +language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-5.js sloppyFails +language/arguments-object/mapped/mapped-arguments-nonconfigurable-strict-delete-2.js sloppyFails +language/arguments-object/mapped/mapped-arguments-nonconfigurable-strict-delete-3.js sloppyFails +language/arguments-object/mapped/mapped-arguments-nonconfigurable-strict-delete-4.js sloppyFails +language/arguments-object/mapped/mapped-arguments-nonwritable-nonconfigurable-1.js sloppyFails +language/arguments-object/mapped/mapped-arguments-nonwritable-nonconfigurable-3.js sloppyFails +language/arguments-object/mapped/mapped-arguments-nonwritable-nonconfigurable-4.js sloppyFails +language/arguments-object/mapped/nonconfigurable-descriptors-set-value-by-arguments.js sloppyFails +language/arguments-object/mapped/nonconfigurable-descriptors-set-value-with-define-property.js sloppyFails +language/arguments-object/mapped/nonconfigurable-descriptors-with-param-assign.js sloppyFails +language/arguments-object/mapped/nonconfigurable-nonenumerable-nonwritable-descriptors-set-by-arguments.js sloppyFails +language/arguments-object/mapped/nonconfigurable-nonenumerable-nonwritable-descriptors-set-by-param.js sloppyFails +language/arguments-object/mapped/nonconfigurable-nonwritable-descriptors-set-by-arguments.js sloppyFails +language/arguments-object/mapped/nonconfigurable-nonwritable-descriptors-set-by-param.js sloppyFails +language/arguments-object/mapped/nonwritable-nonconfigurable-descriptors-set-by-arguments.js sloppyFails +language/computed-property-names/basics/string.js fails +language/computed-property-names/basics/symbol.js fails +language/computed-property-names/class/accessor/getter-duplicates.js fails +language/computed-property-names/class/accessor/getter.js fails +language/computed-property-names/class/accessor/setter-duplicates.js fails +language/computed-property-names/class/accessor/setter.js fails +language/computed-property-names/class/method/constructor-can-be-generator.js fails +language/computed-property-names/class/method/constructor-can-be-getter.js fails +language/computed-property-names/class/method/constructor-can-be-setter.js fails +language/computed-property-names/class/method/constructor-duplicate-1.js fails +language/computed-property-names/class/method/constructor-duplicate-2.js fails +language/computed-property-names/class/method/constructor-duplicate-3.js fails +language/computed-property-names/class/method/constructor.js fails +language/computed-property-names/class/method/generator.js fails +language/computed-property-names/class/method/number.js fails +language/computed-property-names/class/method/string.js fails +language/computed-property-names/class/method/symbol.js fails +language/computed-property-names/class/static/generator-constructor.js fails +language/computed-property-names/class/static/generator-prototype.js fails +language/computed-property-names/class/static/getter-constructor.js fails +language/computed-property-names/class/static/getter-prototype.js fails +language/computed-property-names/class/static/method-constructor.js fails +language/computed-property-names/class/static/method-number.js fails +language/computed-property-names/class/static/method-prototype.js fails +language/computed-property-names/class/static/method-string.js fails +language/computed-property-names/class/static/method-symbol.js fails +language/computed-property-names/class/static/setter-constructor.js fails +language/computed-property-names/class/static/setter-prototype.js fails +language/computed-property-names/object/accessor/getter-duplicates.js fails +language/computed-property-names/object/accessor/getter-super.js fails +language/computed-property-names/object/accessor/getter.js fails +language/computed-property-names/object/accessor/setter-duplicates.js fails +language/computed-property-names/object/accessor/setter-super.js fails +language/computed-property-names/object/accessor/setter.js fails +language/computed-property-names/object/method/string.js fails +language/computed-property-names/object/method/super.js fails +language/computed-property-names/object/method/symbol.js fails +language/computed-property-names/to-name-side-effects/class.js fails +language/computed-property-names/to-name-side-effects/numbers-class.js fails +language/computed-property-names/to-name-side-effects/object.js fails +language/eval-code/direct/lex-env-distinct-cls.js fails +language/eval-code/direct/lex-env-no-init-cls.js fails +language/eval-code/direct/lex-env-no-init-const.js fails +language/eval-code/direct/lex-env-no-init-let.js fails +language/eval-code/direct/new.target-fn.js fails +language/eval-code/direct/non-definable-function-with-function.js sloppyFails +language/eval-code/direct/non-definable-function-with-variable.js sloppyFails +language/eval-code/direct/non-definable-global-function.js sloppyFails +language/eval-code/direct/non-definable-global-generator.js sloppyFails +language/eval-code/direct/super-prop-method.js fails +language/eval-code/direct/this-value-func-strict-source.js sloppyFails +language/eval-code/direct/var-env-func-init-global-update-configurable.js sloppyFails +language/eval-code/direct/var-env-global-lex-non-strict.js sloppyFails +language/eval-code/direct/var-env-lower-lex-catch-non-strict.js sloppyFails +language/eval-code/direct/var-env-lower-lex-non-strict.js sloppyFails +language/eval-code/indirect/always-non-strict.js strictFails +language/eval-code/indirect/lex-env-distinct-cls.js fails +language/eval-code/indirect/lex-env-no-init-cls.js fails +language/eval-code/indirect/lex-env-no-init-const.js fails +language/eval-code/indirect/lex-env-no-init-let.js fails +language/eval-code/indirect/non-definable-function-with-function.js sloppyFails +language/eval-code/indirect/non-definable-function-with-variable.js sloppyFails +language/eval-code/indirect/non-definable-global-function.js fails +language/eval-code/indirect/non-definable-global-generator.js fails +language/eval-code/indirect/realm.js fails +language/eval-code/indirect/this-value-func.js strictFails +language/eval-code/indirect/var-env-func-init-global-new.js strictFails +language/eval-code/indirect/var-env-func-init-global-update-configurable.js fails +language/eval-code/indirect/var-env-func-init-multi.js strictFails +language/eval-code/indirect/var-env-func-non-strict.js strictFails +language/eval-code/indirect/var-env-global-lex-non-strict.js fails +language/eval-code/indirect/var-env-var-init-global-exstng.js strictFails +language/eval-code/indirect/var-env-var-init-global-new.js strictFails +language/eval-code/indirect/var-env-var-non-strict.js strictFails +language/expressions/addition/coerce-symbol-to-prim-err.js fails +language/expressions/addition/coerce-symbol-to-prim-invocation.js fails +language/expressions/addition/coerce-symbol-to-prim-return-obj.js fails +language/expressions/addition/coerce-symbol-to-prim-return-prim.js fails +language/expressions/addition/get-symbol-to-prim-err.js fails +language/expressions/array/spread-err-mult-err-expr-throws.js fails +language/expressions/array/spread-err-mult-err-iter-get-value.js fails +language/expressions/array/spread-err-mult-err-itr-get-call.js fails +language/expressions/array/spread-err-mult-err-itr-get-get.js fails +language/expressions/array/spread-err-mult-err-itr-step.js fails +language/expressions/array/spread-err-mult-err-itr-value.js fails +language/expressions/array/spread-err-mult-err-unresolvable.js fails +language/expressions/array/spread-err-sngl-err-expr-throws.js fails +language/expressions/array/spread-err-sngl-err-itr-get-call.js fails +language/expressions/array/spread-err-sngl-err-itr-get-get.js fails +language/expressions/array/spread-err-sngl-err-itr-get-value.js fails +language/expressions/array/spread-err-sngl-err-itr-step.js fails +language/expressions/array/spread-err-sngl-err-itr-value.js fails +language/expressions/array/spread-err-sngl-err-unresolvable.js fails +language/expressions/array/spread-mult-empty.js fails +language/expressions/array/spread-mult-expr.js fails +language/expressions/array/spread-mult-iter.js fails +language/expressions/array/spread-mult-literal.js fails +language/expressions/array/spread-sngl-empty.js fails +language/expressions/array/spread-sngl-expr.js fails +language/expressions/array/spread-sngl-iter.js fails +language/expressions/array/spread-sngl-literal.js fails +language/expressions/arrow-function/cannot-override-this-with-thisArg.js fails +language/expressions/arrow-function/dflt-params-ref-later.js fails +language/expressions/arrow-function/dflt-params-ref-self.js fails +language/expressions/arrow-function/dstr-ary-ptrn-elem-ary-elision-init.js fails +language/expressions/arrow-function/dstr-ary-ptrn-elem-ary-rest-init.js fails +language/expressions/arrow-function/dstr-ary-ptrn-elem-ary-rest-iter.js fails +language/expressions/arrow-function/dstr-ary-ptrn-elem-id-init-fn-name-class.js fails +language/expressions/arrow-function/dstr-ary-ptrn-elision-step-err.js fails +language/expressions/arrow-function/dstr-ary-ptrn-elision.js fails +language/expressions/arrow-function/dstr-ary-ptrn-rest-ary-elem.js fails +language/expressions/arrow-function/dstr-ary-ptrn-rest-ary-rest.js fails +language/expressions/arrow-function/dstr-ary-ptrn-rest-id-elision.js fails +language/expressions/arrow-function/dstr-ary-ptrn-rest-id-exhausted.js fails +language/expressions/arrow-function/dstr-ary-ptrn-rest-id.js fails +language/expressions/arrow-function/dstr-ary-ptrn-rest-obj-id.js fails +language/expressions/arrow-function/dstr-ary-ptrn-rest-obj-prop-id.js fails +language/expressions/arrow-function/dstr-dflt-ary-ptrn-elem-ary-elision-init.js fails +language/expressions/arrow-function/dstr-dflt-ary-ptrn-elem-ary-rest-init.js fails +language/expressions/arrow-function/dstr-dflt-ary-ptrn-elem-ary-rest-iter.js fails +language/expressions/arrow-function/dstr-dflt-ary-ptrn-elem-id-init-fn-name-class.js fails +language/expressions/arrow-function/dstr-dflt-ary-ptrn-elision-step-err.js fails +language/expressions/arrow-function/dstr-dflt-ary-ptrn-elision.js fails +language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-ary-elem.js fails +language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-ary-rest.js fails +language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-id-elision.js fails +language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-id-exhausted.js fails +language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-id.js fails +language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-obj-id.js fails +language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-obj-prop-id.js fails +language/expressions/arrow-function/dstr-dflt-obj-ptrn-id-init-fn-name-arrow.js fails +language/expressions/arrow-function/dstr-dflt-obj-ptrn-id-init-fn-name-class.js fails +language/expressions/arrow-function/dstr-dflt-obj-ptrn-id-init-fn-name-cover.js fails +language/expressions/arrow-function/dstr-dflt-obj-ptrn-id-init-fn-name-fn.js fails +language/expressions/arrow-function/dstr-dflt-obj-ptrn-id-init-fn-name-gen.js fails +language/expressions/arrow-function/dstr-dflt-obj-ptrn-id-init-skipped.js fails +language/expressions/arrow-function/dstr-dflt-obj-ptrn-id-init-throws.js fails +language/expressions/arrow-function/dstr-dflt-obj-ptrn-id-init-unresolvable.js fails +language/expressions/arrow-function/dstr-dflt-obj-ptrn-list-err.js fails +language/expressions/arrow-function/dstr-obj-ptrn-id-init-fn-name-arrow.js fails +language/expressions/arrow-function/dstr-obj-ptrn-id-init-fn-name-class.js fails +language/expressions/arrow-function/dstr-obj-ptrn-id-init-fn-name-cover.js fails +language/expressions/arrow-function/dstr-obj-ptrn-id-init-fn-name-fn.js fails +language/expressions/arrow-function/dstr-obj-ptrn-id-init-fn-name-gen.js fails +language/expressions/arrow-function/dstr-obj-ptrn-id-init-skipped.js fails +language/expressions/arrow-function/dstr-obj-ptrn-id-init-throws.js fails +language/expressions/arrow-function/dstr-obj-ptrn-id-init-unresolvable.js fails +language/expressions/arrow-function/dstr-obj-ptrn-list-err.js fails +language/expressions/arrow-function/lexical-arguments.js fails +language/expressions/arrow-function/lexical-new.target-closure-returned.js fails +language/expressions/arrow-function/lexical-new.target.js fails +language/expressions/arrow-function/lexical-super-call-from-within-constructor.js fails +language/expressions/arrow-function/lexical-super-property-from-within-constructor.js fails +language/expressions/arrow-function/lexical-super-property.js fails +language/expressions/arrow-function/lexical-supercall-from-immediately-invoked-arrow.js fails +language/expressions/arrow-function/lexical-this.js fails +language/expressions/arrow-function/prototype-rules.js fails +language/expressions/arrow-function/scope-body-lex-distinct.js sloppyFails +language/expressions/arrow-function/scope-param-elem-var-close.js sloppyFails +language/expressions/arrow-function/scope-param-elem-var-open.js sloppyFails +language/expressions/arrow-function/scope-param-rest-elem-var-close.js sloppyFails +language/expressions/arrow-function/scope-param-rest-elem-var-open.js sloppyFails +language/expressions/arrow-function/scope-paramsbody-var-open.js fails +language/expressions/arrow-function/syntax/arrowparameters-cover-initialize-2.js fails +language/expressions/arrow-function/throw-new.js fails +language/expressions/assignment/S11.13.1_A5_T1.js sloppyFails +language/expressions/assignment/S11.13.1_A5_T2.js sloppyFails +language/expressions/assignment/S11.13.1_A5_T3.js sloppyFails +language/expressions/assignment/S11.13.1_A5_T4.js sloppyFails +language/expressions/assignment/S11.13.1_A5_T5.js fails +language/expressions/assignment/S11.13.1_A6_T1.js sloppyFails +language/expressions/assignment/S11.13.1_A6_T2.js sloppyFails +language/expressions/assignment/S11.13.1_A6_T3.js sloppyFails +language/expressions/assignment/S11.13.1_A7_T1.js fails +language/expressions/assignment/S11.13.1_A7_T2.js fails +language/expressions/assignment/S11.13.1_A7_T3.js fails +language/expressions/assignment/destructuring/iterator-destructuring-property-reference-target-evaluation-order.js fails +language/expressions/assignment/destructuring/keyed-destructuring-property-reference-target-evaluation-order.js fails +language/expressions/assignment/dstr-array-elem-init-fn-name-class.js fails +language/expressions/assignment/dstr-array-elem-init-let.js fails +language/expressions/assignment/dstr-array-elem-iter-rtrn-close-err.js fails +language/expressions/assignment/dstr-array-elem-iter-rtrn-close-null.js fails +language/expressions/assignment/dstr-array-elem-iter-rtrn-close.js fails +language/expressions/assignment/dstr-array-elem-iter-thrw-close-err.js fails +language/expressions/assignment/dstr-array-elem-iter-thrw-close.js fails +language/expressions/assignment/dstr-array-elem-nested-array-yield-expr.js fails +language/expressions/assignment/dstr-array-elem-nested-array-yield-ident-valid.js sloppyFails +language/expressions/assignment/dstr-array-elem-nested-obj-yield-expr.js fails +language/expressions/assignment/dstr-array-elem-nested-obj-yield-ident-valid.js sloppyFails +language/expressions/assignment/dstr-array-elem-put-const.js fails +language/expressions/assignment/dstr-array-elem-put-let.js fails +language/expressions/assignment/dstr-array-elem-put-prop-ref-no-get.js fails +language/expressions/assignment/dstr-array-elem-put-prop-ref-user-err.js fails +language/expressions/assignment/dstr-array-elem-put-prop-ref.js fails +language/expressions/assignment/dstr-array-elem-target-yield-expr.js fails +language/expressions/assignment/dstr-array-elem-target-yield-valid.js sloppyFails +language/expressions/assignment/dstr-array-elem-trlg-iter-elision-iter-abpt.js fails +language/expressions/assignment/dstr-array-elem-trlg-iter-elision-iter-nrml-close-err.js fails +language/expressions/assignment/dstr-array-elem-trlg-iter-elision-iter-nrml-close-skip.js fails +language/expressions/assignment/dstr-array-elem-trlg-iter-elision-iter-nrml-close.js fails +language/expressions/assignment/dstr-array-elem-trlg-iter-list-rtrn-close-err.js fails +language/expressions/assignment/dstr-array-elem-trlg-iter-list-rtrn-close-null.js fails +language/expressions/assignment/dstr-array-elem-trlg-iter-list-rtrn-close.js fails +language/expressions/assignment/dstr-array-elem-trlg-iter-list-thrw-close-err.js fails +language/expressions/assignment/dstr-array-elem-trlg-iter-list-thrw-close.js fails +language/expressions/assignment/dstr-array-elem-trlg-iter-rest-nrml-close-skip.js fails +language/expressions/assignment/dstr-array-elem-trlg-iter-rest-rtrn-close-err.js fails +language/expressions/assignment/dstr-array-elem-trlg-iter-rest-rtrn-close-null.js fails +language/expressions/assignment/dstr-array-elem-trlg-iter-rest-rtrn-close.js fails +language/expressions/assignment/dstr-array-elem-trlg-iter-rest-thrw-close-err.js fails +language/expressions/assignment/dstr-array-elem-trlg-iter-rest-thrw-close.js fails +language/expressions/assignment/dstr-array-elision-iter-abpt.js fails +language/expressions/assignment/dstr-array-elision-iter-nrml-close-err.js fails +language/expressions/assignment/dstr-array-elision-iter-nrml-close-skip.js fails +language/expressions/assignment/dstr-array-elision-iter-nrml-close.js fails +language/expressions/assignment/dstr-array-iteration.js fails +language/expressions/assignment/dstr-array-rest-after-element.js fails +language/expressions/assignment/dstr-array-rest-after-elision.js fails +language/expressions/assignment/dstr-array-rest-elision.js fails +language/expressions/assignment/dstr-array-rest-iter-rtrn-close-err.js fails +language/expressions/assignment/dstr-array-rest-iter-rtrn-close-null.js fails +language/expressions/assignment/dstr-array-rest-iter-rtrn-close.js fails +language/expressions/assignment/dstr-array-rest-iter-thrw-close-err.js fails +language/expressions/assignment/dstr-array-rest-iter-thrw-close.js fails +language/expressions/assignment/dstr-array-rest-lref-err.js fails +language/expressions/assignment/dstr-array-rest-lref.js fails +language/expressions/assignment/dstr-array-rest-nested-array-iter-thrw-close-skip.js fails +language/expressions/assignment/dstr-array-rest-nested-array-null.js fails +language/expressions/assignment/dstr-array-rest-nested-array-undefined-hole.js fails +language/expressions/assignment/dstr-array-rest-nested-array-undefined-own.js fails +language/expressions/assignment/dstr-array-rest-nested-array-undefined.js fails +language/expressions/assignment/dstr-array-rest-nested-array-yield-expr.js fails +language/expressions/assignment/dstr-array-rest-nested-array-yield-ident-valid.js sloppyFails +language/expressions/assignment/dstr-array-rest-nested-array.js fails +language/expressions/assignment/dstr-array-rest-nested-obj-null.js fails +language/expressions/assignment/dstr-array-rest-nested-obj-undefined-hole.js fails +language/expressions/assignment/dstr-array-rest-nested-obj-undefined-own.js fails +language/expressions/assignment/dstr-array-rest-nested-obj-undefined.js fails +language/expressions/assignment/dstr-array-rest-nested-obj-yield-expr.js fails +language/expressions/assignment/dstr-array-rest-nested-obj-yield-ident-valid.js sloppyFails +language/expressions/assignment/dstr-array-rest-nested-obj.js fails +language/expressions/assignment/dstr-array-rest-put-const.js fails +language/expressions/assignment/dstr-array-rest-put-let.js fails +language/expressions/assignment/dstr-array-rest-put-prop-ref-no-get.js fails +language/expressions/assignment/dstr-array-rest-put-prop-ref.js fails +language/expressions/assignment/dstr-array-rest-put-unresolvable-no-strict.js sloppyFails +language/expressions/assignment/dstr-array-rest-put-unresolvable-strict.js strictFails +language/expressions/assignment/dstr-array-rest-yield-expr.js fails +language/expressions/assignment/dstr-array-rest-yield-ident-valid.js sloppyFails +language/expressions/assignment/dstr-obj-empty-null.js fails +language/expressions/assignment/dstr-obj-empty-undef.js fails +language/expressions/assignment/dstr-obj-id-init-assignment-missing.js fails +language/expressions/assignment/dstr-obj-id-init-assignment-null.js fails +language/expressions/assignment/dstr-obj-id-init-assignment-truthy.js fails +language/expressions/assignment/dstr-obj-id-init-assignment-undef.js fails +language/expressions/assignment/dstr-obj-id-init-evaluation.js fails +language/expressions/assignment/dstr-obj-id-init-fn-name-arrow.js fails +language/expressions/assignment/dstr-obj-id-init-fn-name-class.js fails +language/expressions/assignment/dstr-obj-id-init-fn-name-cover.js fails +language/expressions/assignment/dstr-obj-id-init-fn-name-fn.js fails +language/expressions/assignment/dstr-obj-id-init-fn-name-gen.js fails +language/expressions/assignment/dstr-obj-id-init-in.js fails +language/expressions/assignment/dstr-obj-id-init-let.js fails +language/expressions/assignment/dstr-obj-id-init-order.js fails +language/expressions/assignment/dstr-obj-id-init-simple-no-strict.js sloppyFails +language/expressions/assignment/dstr-obj-id-init-yield-expr.js fails +language/expressions/assignment/dstr-obj-id-init-yield-ident-valid.js sloppyFails +language/expressions/assignment/dstr-obj-id-put-const.js fails +language/expressions/assignment/dstr-obj-id-put-let.js fails +language/expressions/assignment/dstr-obj-prop-elem-init-fn-name-class.js fails +language/expressions/assignment/dstr-obj-prop-elem-init-let.js fails +language/expressions/assignment/dstr-obj-prop-elem-target-yield-expr.js fails +language/expressions/assignment/dstr-obj-prop-elem-target-yield-ident-valid.js sloppyFails +language/expressions/assignment/dstr-obj-prop-nested-obj-yield-expr.js fails +language/expressions/assignment/dstr-obj-prop-nested-obj-yield-ident-valid.js sloppyFails +language/expressions/assignment/dstr-obj-prop-put-const.js fails +language/expressions/assignment/dstr-obj-prop-put-let.js fails +language/expressions/assignment/dstr-obj-prop-put-prop-ref-no-get.js fails +language/expressions/assignment/dstr-obj-prop-put-prop-ref-user-err.js fails +language/expressions/assignment/dstr-obj-prop-put-prop-ref.js fails +language/expressions/assignment/fn-name-class.js fails +language/expressions/assignment/fn-name-lhs-cover.js fails +language/expressions/assignment/fn-name-lhs-member.js fails +language/expressions/async-function/expression-returns-promise.js fails +language/expressions/async-function/syntax-expression-is-PrimaryExpression.js fails +language/expressions/await/await-BindingIdentifier-in-global.js fails +language/expressions/await/await-in-nested-function.js fails +language/expressions/await/await-in-nested-generator.js fails +language/expressions/await/await-throws-rejections.js fails +language/expressions/call/11.2.3-3_3.js fails +language/expressions/call/eval-realm-indirect.js sloppyFails +language/expressions/call/eval-spread-empty-leading.js fails +language/expressions/call/eval-spread-empty-trailing.js fails +language/expressions/call/eval-spread-empty.js fails +language/expressions/call/eval-spread.js fails +language/expressions/call/scope-lex-open.js fails +language/expressions/call/spread-err-mult-err-expr-throws.js fails +language/expressions/call/spread-err-mult-err-iter-get-value.js fails +language/expressions/call/spread-err-mult-err-itr-get-call.js fails +language/expressions/call/spread-err-mult-err-itr-get-get.js fails +language/expressions/call/spread-err-mult-err-itr-step.js fails +language/expressions/call/spread-err-mult-err-itr-value.js fails +language/expressions/call/spread-err-mult-err-unresolvable.js fails +language/expressions/call/spread-err-sngl-err-expr-throws.js fails +language/expressions/call/spread-err-sngl-err-itr-get-call.js fails +language/expressions/call/spread-err-sngl-err-itr-get-get.js fails +language/expressions/call/spread-err-sngl-err-itr-get-value.js fails +language/expressions/call/spread-err-sngl-err-itr-step.js fails +language/expressions/call/spread-err-sngl-err-itr-value.js fails +language/expressions/call/spread-err-sngl-err-unresolvable.js fails +language/expressions/call/spread-mult-empty.js fails +language/expressions/call/spread-mult-expr.js fails +language/expressions/call/spread-mult-iter.js fails +language/expressions/call/spread-mult-literal.js fails +language/expressions/call/spread-sngl-empty.js fails +language/expressions/call/spread-sngl-expr.js fails +language/expressions/call/spread-sngl-iter.js fails +language/expressions/call/spread-sngl-literal.js fails +language/expressions/call/tco-call-args.js strictFails +language/expressions/call/tco-cross-realm-class-construct.js fails +language/expressions/call/tco-cross-realm-class-derived-construct.js fails +language/expressions/call/tco-cross-realm-fun-call.js fails +language/expressions/call/tco-cross-realm-fun-construct.js fails +language/expressions/call/tco-member-args.js strictFails +language/expressions/call/tco-non-eval-function-dynamic.js sloppyFails +language/expressions/call/tco-non-eval-function.js sloppyFails +language/expressions/call/tco-non-eval-global.js sloppyFails +language/expressions/call/tco-non-eval-with.js sloppyFails +language/expressions/call/trailing-comma.js fails +language/expressions/class/accessor-name-inst-computed-err-evaluation.js fails +language/expressions/class/accessor-name-inst-computed-err-to-prop-key.js fails +language/expressions/class/accessor-name-inst-computed-err-unresolvable.js fails +language/expressions/class/accessor-name-inst-computed-in.js fails +language/expressions/class/accessor-name-inst-computed-yield-expr.js fails +language/expressions/class/accessor-name-inst-computed.js fails +language/expressions/class/accessor-name-inst-literal-numeric-binary.js fails +language/expressions/class/accessor-name-inst-literal-numeric-exponent.js fails +language/expressions/class/accessor-name-inst-literal-numeric-hex.js fails +language/expressions/class/accessor-name-inst-literal-numeric-leading-decimal.js fails +language/expressions/class/accessor-name-inst-literal-numeric-non-canonical.js fails +language/expressions/class/accessor-name-inst-literal-numeric-octal.js fails +language/expressions/class/accessor-name-inst-literal-numeric-zero.js fails +language/expressions/class/accessor-name-inst-literal-string-char-escape.js fails +language/expressions/class/accessor-name-inst-literal-string-double-quote.js fails +language/expressions/class/accessor-name-inst-literal-string-empty.js fails +language/expressions/class/accessor-name-inst-literal-string-hex-escape.js fails +language/expressions/class/accessor-name-inst-literal-string-line-continuation.js fails +language/expressions/class/accessor-name-inst-literal-string-single-quote.js fails +language/expressions/class/accessor-name-inst-literal-string-unicode-escape.js fails +language/expressions/class/accessor-name-static-computed-err-evaluation.js fails +language/expressions/class/accessor-name-static-computed-err-to-prop-key.js fails +language/expressions/class/accessor-name-static-computed-err-unresolvable.js fails +language/expressions/class/accessor-name-static-computed-in.js fails +language/expressions/class/accessor-name-static-computed-yield-expr.js fails +language/expressions/class/accessor-name-static-computed.js fails +language/expressions/class/accessor-name-static-literal-numeric-binary.js fails +language/expressions/class/accessor-name-static-literal-numeric-exponent.js fails +language/expressions/class/accessor-name-static-literal-numeric-hex.js fails +language/expressions/class/accessor-name-static-literal-numeric-leading-decimal.js fails +language/expressions/class/accessor-name-static-literal-numeric-non-canonical.js fails +language/expressions/class/accessor-name-static-literal-numeric-octal.js fails +language/expressions/class/accessor-name-static-literal-numeric-zero.js fails +language/expressions/class/accessor-name-static-literal-string-char-escape.js fails +language/expressions/class/accessor-name-static-literal-string-double-quote.js fails +language/expressions/class/accessor-name-static-literal-string-empty.js fails +language/expressions/class/accessor-name-static-literal-string-hex-escape.js fails +language/expressions/class/accessor-name-static-literal-string-line-continuation.js fails +language/expressions/class/accessor-name-static-literal-string-single-quote.js fails +language/expressions/class/accessor-name-static-literal-string-unicode-escape.js fails +language/expressions/class/dstr-gen-meth-ary-init-iter-close.js fails +language/expressions/class/dstr-gen-meth-ary-init-iter-get-err.js fails +language/expressions/class/dstr-gen-meth-ary-init-iter-no-close.js fails +language/expressions/class/dstr-gen-meth-ary-name-iter-val.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-ary-elem-init.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-ary-elem-iter.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-ary-elision-init.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-ary-elision-iter.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-ary-empty-init.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-ary-empty-iter.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-ary-rest-init.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-ary-rest-iter.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-ary-val-null.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-id-init-exhausted.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-id-init-fn-name-class.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-id-init-hole.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-id-init-skipped.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-id-init-throws.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-id-init-undef.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-id-init-unresolvable.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-id-iter-complete.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-id-iter-done.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-id-iter-step-err.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-id-iter-val-err.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-id-iter-val.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-obj-id-init.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-obj-id.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-obj-prop-id-init.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-obj-prop-id.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-obj-val-null.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elem-obj-val-undef.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elision-exhausted.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elision-step-err.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-elision.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-empty.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-rest-ary-elem.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-rest-ary-elision.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-rest-ary-empty.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-rest-ary-rest.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-rest-id-elision-next-err.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-rest-id-elision.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-rest-id-exhausted.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-rest-id-iter-step-err.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-rest-id-iter-val-err.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-rest-id.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-rest-obj-id.js fails +language/expressions/class/dstr-gen-meth-ary-ptrn-rest-obj-prop-id.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-init-iter-close.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-init-iter-get-err.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-init-iter-no-close.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-name-iter-val.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-elem-init.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-elem-iter.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-elision-init.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-elision-iter.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-empty-init.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-empty-iter.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-rest-init.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-rest-iter.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-val-null.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-exhausted.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-fn-name-class.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-hole.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-skipped.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-throws.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-undef.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-unresolvable.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-iter-complete.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-iter-done.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-iter-step-err.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-iter-val-err.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-iter-val.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-obj-id-init.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-obj-id.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-obj-prop-id-init.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-obj-prop-id.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-obj-val-null.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elem-obj-val-undef.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elision-exhausted.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elision-step-err.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-elision.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-empty.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-ary-elem.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-ary-elision.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-ary-empty.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-ary-rest.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-id-elision-next-err.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-id-elision.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-id-exhausted.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-id-iter-step-err.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-id-iter-val-err.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-id.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-obj-id.js fails +language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-obj-prop-id.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-init-null.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-init-undefined.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-empty.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-id-get-value-err.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-id-init-fn-name-arrow.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-id-init-fn-name-class.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-id-init-fn-name-cover.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-id-init-fn-name-fn.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-id-init-fn-name-gen.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-id-init-skipped.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-id-init-throws.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-id-init-unresolvable.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-id-trailing-comma.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-list-err.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-prop-ary-init.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-prop-ary-trailing-comma.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-prop-ary-value-null.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-prop-ary.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-prop-eval-err.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-prop-id-get-value-err.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-prop-id-init-skipped.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-prop-id-init-throws.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-prop-id-init-unresolvable.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-prop-id-init.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-prop-id-trailing-comma.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-prop-id.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-prop-obj-init.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-prop-obj-value-null.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-prop-obj-value-undef.js fails +language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-prop-obj.js fails +language/expressions/class/dstr-gen-meth-obj-init-null.js fails +language/expressions/class/dstr-gen-meth-obj-init-undefined.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-empty.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-id-get-value-err.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-id-init-fn-name-arrow.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-id-init-fn-name-class.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-id-init-fn-name-cover.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-id-init-fn-name-fn.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-id-init-fn-name-gen.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-id-init-skipped.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-id-init-throws.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-id-init-unresolvable.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-id-trailing-comma.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-list-err.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-prop-ary-init.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-prop-ary-trailing-comma.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-prop-ary-value-null.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-prop-ary.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-prop-eval-err.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-prop-id-get-value-err.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-prop-id-init-skipped.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-prop-id-init-throws.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-prop-id-init-unresolvable.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-prop-id-init.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-prop-id-trailing-comma.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-prop-id.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-prop-obj-init.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-prop-obj-value-null.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-prop-obj-value-undef.js fails +language/expressions/class/dstr-gen-meth-obj-ptrn-prop-obj.js fails +language/expressions/class/dstr-gen-meth-static-ary-init-iter-close.js fails +language/expressions/class/dstr-gen-meth-static-ary-init-iter-get-err.js fails +language/expressions/class/dstr-gen-meth-static-ary-init-iter-no-close.js fails +language/expressions/class/dstr-gen-meth-static-ary-name-iter-val.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-ary-elem-init.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-ary-elem-iter.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-ary-elision-init.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-ary-elision-iter.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-ary-empty-init.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-ary-empty-iter.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-ary-rest-init.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-ary-rest-iter.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-ary-val-null.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-exhausted.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-fn-name-class.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-hole.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-skipped.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-throws.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-undef.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-unresolvable.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-id-iter-complete.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-id-iter-done.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-id-iter-step-err.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-id-iter-val-err.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-id-iter-val.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-obj-id-init.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-obj-id.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-obj-prop-id-init.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-obj-prop-id.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-obj-val-null.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elem-obj-val-undef.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elision-exhausted.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elision-step-err.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-elision.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-empty.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-ary-elem.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-ary-elision.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-ary-empty.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-ary-rest.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-id-elision-next-err.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-id-elision.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-id-exhausted.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-id-iter-step-err.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-id-iter-val-err.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-id.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-obj-id.js fails +language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-obj-prop-id.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-init-iter-close.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-init-iter-get-err.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-init-iter-no-close.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-name-iter-val.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-elem-init.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-elem-iter.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-elision-init.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-elision-iter.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-empty-init.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-empty-iter.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-rest-init.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-rest-iter.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-val-null.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-exhausted.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-class.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-hole.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-skipped.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-throws.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-undef.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-unresolvable.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-iter-complete.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-iter-done.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-iter-step-err.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-iter-val-err.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-iter-val.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-obj-id-init.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-obj-id.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-obj-prop-id-init.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-obj-prop-id.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-obj-val-null.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-obj-val-undef.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elision-exhausted.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elision-step-err.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-elision.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-empty.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-ary-elem.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-ary-elision.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-ary-empty.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-ary-rest.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-id-elision-next-err.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-id-elision.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-id-exhausted.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-id-iter-step-err.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-id-iter-val-err.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-id.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-obj-id.js fails +language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-obj-prop-id.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-init-null.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-init-undefined.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-empty.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-id-get-value-err.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-fn-name-arrow.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-fn-name-class.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-fn-name-cover.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-fn-name-fn.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-fn-name-gen.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-skipped.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-throws.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-unresolvable.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-id-trailing-comma.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-list-err.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-ary-init.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-ary-trailing-comma.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-ary-value-null.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-ary.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-eval-err.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-id-get-value-err.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-id-init-skipped.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-id-init-throws.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-id-init-unresolvable.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-id-init.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-id-trailing-comma.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-id.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-obj-init.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-obj-value-null.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-obj-value-undef.js fails +language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-obj.js fails +language/expressions/class/dstr-gen-meth-static-obj-init-null.js fails +language/expressions/class/dstr-gen-meth-static-obj-init-undefined.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-empty.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-id-get-value-err.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-id-init-fn-name-arrow.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-id-init-fn-name-class.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-id-init-fn-name-cover.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-id-init-fn-name-fn.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-id-init-fn-name-gen.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-id-init-skipped.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-id-init-throws.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-id-init-unresolvable.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-id-trailing-comma.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-list-err.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-prop-ary-init.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-prop-ary-trailing-comma.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-prop-ary-value-null.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-prop-ary.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-prop-eval-err.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-prop-id-get-value-err.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-prop-id-init-skipped.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-prop-id-init-throws.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-prop-id-init-unresolvable.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-prop-id-init.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-prop-id-trailing-comma.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-prop-id.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-prop-obj-init.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-prop-obj-value-null.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-prop-obj-value-undef.js fails +language/expressions/class/dstr-gen-meth-static-obj-ptrn-prop-obj.js fails +language/expressions/class/dstr-meth-ary-init-iter-close.js fails +language/expressions/class/dstr-meth-ary-init-iter-get-err.js fails +language/expressions/class/dstr-meth-ary-init-iter-no-close.js fails +language/expressions/class/dstr-meth-ary-name-iter-val.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-ary-elem-init.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-ary-elem-iter.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-ary-elision-init.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-ary-elision-iter.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-ary-empty-init.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-ary-empty-iter.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-ary-rest-init.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-ary-rest-iter.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-ary-val-null.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-id-init-exhausted.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-id-init-fn-name-class.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-id-init-hole.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-id-init-skipped.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-id-init-throws.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-id-init-undef.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-id-init-unresolvable.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-id-iter-complete.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-id-iter-done.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-id-iter-step-err.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-id-iter-val-err.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-id-iter-val.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-obj-id-init.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-obj-id.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-obj-prop-id-init.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-obj-prop-id.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-obj-val-null.js fails +language/expressions/class/dstr-meth-ary-ptrn-elem-obj-val-undef.js fails +language/expressions/class/dstr-meth-ary-ptrn-elision-exhausted.js fails +language/expressions/class/dstr-meth-ary-ptrn-elision-step-err.js fails +language/expressions/class/dstr-meth-ary-ptrn-elision.js fails +language/expressions/class/dstr-meth-ary-ptrn-empty.js fails +language/expressions/class/dstr-meth-ary-ptrn-rest-ary-elem.js fails +language/expressions/class/dstr-meth-ary-ptrn-rest-ary-elision.js fails +language/expressions/class/dstr-meth-ary-ptrn-rest-ary-empty.js fails +language/expressions/class/dstr-meth-ary-ptrn-rest-ary-rest.js fails +language/expressions/class/dstr-meth-ary-ptrn-rest-id-elision-next-err.js fails +language/expressions/class/dstr-meth-ary-ptrn-rest-id-elision.js fails +language/expressions/class/dstr-meth-ary-ptrn-rest-id-exhausted.js fails +language/expressions/class/dstr-meth-ary-ptrn-rest-id-iter-step-err.js fails +language/expressions/class/dstr-meth-ary-ptrn-rest-id-iter-val-err.js fails +language/expressions/class/dstr-meth-ary-ptrn-rest-id.js fails +language/expressions/class/dstr-meth-ary-ptrn-rest-obj-id.js fails +language/expressions/class/dstr-meth-ary-ptrn-rest-obj-prop-id.js fails +language/expressions/class/dstr-meth-dflt-ary-init-iter-close.js fails +language/expressions/class/dstr-meth-dflt-ary-init-iter-get-err.js fails +language/expressions/class/dstr-meth-dflt-ary-init-iter-no-close.js fails +language/expressions/class/dstr-meth-dflt-ary-name-iter-val.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-ary-elem-init.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-ary-elem-iter.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-ary-elision-init.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-ary-elision-iter.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-ary-empty-init.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-ary-empty-iter.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-ary-rest-init.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-ary-rest-iter.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-ary-val-null.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-id-init-exhausted.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-id-init-fn-name-class.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-id-init-hole.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-id-init-skipped.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-id-init-throws.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-id-init-undef.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-id-init-unresolvable.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-id-iter-complete.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-id-iter-done.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-id-iter-step-err.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-id-iter-val-err.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-id-iter-val.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-obj-id-init.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-obj-id.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-obj-prop-id-init.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-obj-prop-id.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-obj-val-null.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elem-obj-val-undef.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elision-exhausted.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elision-step-err.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-elision.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-empty.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-ary-elem.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-ary-elision.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-ary-empty.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-ary-rest.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-id-elision-next-err.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-id-elision.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-id-exhausted.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-id-iter-step-err.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-id-iter-val-err.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-id.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-obj-id.js fails +language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-obj-prop-id.js fails +language/expressions/class/dstr-meth-dflt-obj-init-null.js fails +language/expressions/class/dstr-meth-dflt-obj-init-undefined.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-empty.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-id-get-value-err.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-id-init-fn-name-arrow.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-id-init-fn-name-class.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-id-init-fn-name-cover.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-id-init-fn-name-fn.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-id-init-fn-name-gen.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-id-init-skipped.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-id-init-throws.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-id-init-unresolvable.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-id-trailing-comma.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-list-err.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-prop-ary-init.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-prop-ary-trailing-comma.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-prop-ary-value-null.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-prop-ary.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-prop-eval-err.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-prop-id-get-value-err.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-prop-id-init-skipped.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-prop-id-init-throws.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-prop-id-init-unresolvable.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-prop-id-init.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-prop-id-trailing-comma.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-prop-id.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-prop-obj-init.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-prop-obj-value-null.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-prop-obj-value-undef.js fails +language/expressions/class/dstr-meth-dflt-obj-ptrn-prop-obj.js fails +language/expressions/class/dstr-meth-obj-init-null.js fails +language/expressions/class/dstr-meth-obj-init-undefined.js fails +language/expressions/class/dstr-meth-obj-ptrn-empty.js fails +language/expressions/class/dstr-meth-obj-ptrn-id-get-value-err.js fails +language/expressions/class/dstr-meth-obj-ptrn-id-init-fn-name-arrow.js fails +language/expressions/class/dstr-meth-obj-ptrn-id-init-fn-name-class.js fails +language/expressions/class/dstr-meth-obj-ptrn-id-init-fn-name-cover.js fails +language/expressions/class/dstr-meth-obj-ptrn-id-init-fn-name-fn.js fails +language/expressions/class/dstr-meth-obj-ptrn-id-init-fn-name-gen.js fails +language/expressions/class/dstr-meth-obj-ptrn-id-init-skipped.js fails +language/expressions/class/dstr-meth-obj-ptrn-id-init-throws.js fails +language/expressions/class/dstr-meth-obj-ptrn-id-init-unresolvable.js fails +language/expressions/class/dstr-meth-obj-ptrn-id-trailing-comma.js fails +language/expressions/class/dstr-meth-obj-ptrn-list-err.js fails +language/expressions/class/dstr-meth-obj-ptrn-prop-ary-init.js fails +language/expressions/class/dstr-meth-obj-ptrn-prop-ary-trailing-comma.js fails +language/expressions/class/dstr-meth-obj-ptrn-prop-ary-value-null.js fails +language/expressions/class/dstr-meth-obj-ptrn-prop-ary.js fails +language/expressions/class/dstr-meth-obj-ptrn-prop-eval-err.js fails +language/expressions/class/dstr-meth-obj-ptrn-prop-id-get-value-err.js fails +language/expressions/class/dstr-meth-obj-ptrn-prop-id-init-skipped.js fails +language/expressions/class/dstr-meth-obj-ptrn-prop-id-init-throws.js fails +language/expressions/class/dstr-meth-obj-ptrn-prop-id-init-unresolvable.js fails +language/expressions/class/dstr-meth-obj-ptrn-prop-id-init.js fails +language/expressions/class/dstr-meth-obj-ptrn-prop-id-trailing-comma.js fails +language/expressions/class/dstr-meth-obj-ptrn-prop-id.js fails +language/expressions/class/dstr-meth-obj-ptrn-prop-obj-init.js fails +language/expressions/class/dstr-meth-obj-ptrn-prop-obj-value-null.js fails +language/expressions/class/dstr-meth-obj-ptrn-prop-obj-value-undef.js fails +language/expressions/class/dstr-meth-obj-ptrn-prop-obj.js fails +language/expressions/class/dstr-meth-static-ary-init-iter-close.js fails +language/expressions/class/dstr-meth-static-ary-init-iter-get-err.js fails +language/expressions/class/dstr-meth-static-ary-init-iter-no-close.js fails +language/expressions/class/dstr-meth-static-ary-name-iter-val.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-ary-elem-init.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-ary-elem-iter.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-ary-elision-init.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-ary-elision-iter.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-ary-empty-init.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-ary-empty-iter.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-ary-rest-init.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-ary-rest-iter.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-ary-val-null.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-id-init-exhausted.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-id-init-fn-name-class.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-id-init-hole.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-id-init-skipped.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-id-init-throws.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-id-init-undef.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-id-init-unresolvable.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-id-iter-complete.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-id-iter-done.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-id-iter-step-err.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-id-iter-val-err.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-id-iter-val.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-obj-id-init.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-obj-id.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-obj-prop-id-init.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-obj-prop-id.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-obj-val-null.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elem-obj-val-undef.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elision-exhausted.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elision-step-err.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-elision.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-empty.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-rest-ary-elem.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-rest-ary-elision.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-rest-ary-empty.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-rest-ary-rest.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-rest-id-elision-next-err.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-rest-id-elision.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-rest-id-exhausted.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-rest-id-iter-step-err.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-rest-id-iter-val-err.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-rest-id.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-rest-obj-id.js fails +language/expressions/class/dstr-meth-static-ary-ptrn-rest-obj-prop-id.js fails +language/expressions/class/dstr-meth-static-dflt-ary-init-iter-close.js fails +language/expressions/class/dstr-meth-static-dflt-ary-init-iter-get-err.js fails +language/expressions/class/dstr-meth-static-dflt-ary-init-iter-no-close.js fails +language/expressions/class/dstr-meth-static-dflt-ary-name-iter-val.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-elem-init.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-elem-iter.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-elision-init.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-elision-iter.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-empty-init.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-empty-iter.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-rest-init.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-rest-iter.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-val-null.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-exhausted.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-class.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-hole.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-skipped.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-throws.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-undef.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-unresolvable.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-id-iter-complete.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-id-iter-done.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-id-iter-step-err.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-id-iter-val-err.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-id-iter-val.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-obj-id-init.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-obj-id.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-obj-prop-id-init.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-obj-prop-id.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-obj-val-null.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elem-obj-val-undef.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elision-exhausted.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elision-step-err.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-elision.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-empty.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-ary-elem.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-ary-elision.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-ary-empty.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-ary-rest.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-id-elision-next-err.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-id-elision.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-id-exhausted.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-id-iter-step-err.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-id-iter-val-err.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-id.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-obj-id.js fails +language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-obj-prop-id.js fails +language/expressions/class/dstr-meth-static-dflt-obj-init-null.js fails +language/expressions/class/dstr-meth-static-dflt-obj-init-undefined.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-empty.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-id-get-value-err.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-id-init-fn-name-arrow.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-id-init-fn-name-class.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-id-init-fn-name-cover.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-id-init-fn-name-fn.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-id-init-fn-name-gen.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-id-init-skipped.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-id-init-throws.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-id-init-unresolvable.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-id-trailing-comma.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-list-err.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-prop-ary-init.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-prop-ary-trailing-comma.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-prop-ary-value-null.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-prop-ary.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-prop-eval-err.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-prop-id-get-value-err.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-prop-id-init-skipped.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-prop-id-init-throws.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-prop-id-init-unresolvable.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-prop-id-init.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-prop-id-trailing-comma.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-prop-id.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-prop-obj-init.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-prop-obj-value-null.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-prop-obj-value-undef.js fails +language/expressions/class/dstr-meth-static-dflt-obj-ptrn-prop-obj.js fails +language/expressions/class/dstr-meth-static-obj-init-null.js fails +language/expressions/class/dstr-meth-static-obj-init-undefined.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-empty.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-id-get-value-err.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-id-init-fn-name-arrow.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-id-init-fn-name-class.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-id-init-fn-name-cover.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-id-init-fn-name-fn.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-id-init-fn-name-gen.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-id-init-skipped.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-id-init-throws.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-id-init-unresolvable.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-id-trailing-comma.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-list-err.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-prop-ary-init.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-prop-ary-trailing-comma.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-prop-ary-value-null.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-prop-ary.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-prop-eval-err.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-prop-id-get-value-err.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-prop-id-init-skipped.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-prop-id-init-throws.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-prop-id-init-unresolvable.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-prop-id-init.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-prop-id-trailing-comma.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-prop-id.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-prop-obj-init.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-prop-obj-value-null.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-prop-obj-value-undef.js fails +language/expressions/class/dstr-meth-static-obj-ptrn-prop-obj.js fails +language/expressions/class/gen-meth-dflt-params-abrupt.js fails +language/expressions/class/gen-meth-dflt-params-arg-val-not-undefined.js fails +language/expressions/class/gen-meth-dflt-params-arg-val-undefined.js fails +language/expressions/class/gen-meth-dflt-params-ref-later.js fails +language/expressions/class/gen-meth-dflt-params-ref-prior.js fails +language/expressions/class/gen-meth-dflt-params-ref-self.js fails +language/expressions/class/gen-meth-dflt-params-trailing-comma.js fails +language/expressions/class/gen-meth-params-trailing-comma-multiple.js fails +language/expressions/class/gen-meth-params-trailing-comma-single.js fails +language/expressions/class/gen-meth-static-dflt-params-abrupt.js fails +language/expressions/class/gen-meth-static-dflt-params-arg-val-not-undefined.js fails +language/expressions/class/gen-meth-static-dflt-params-arg-val-undefined.js fails +language/expressions/class/gen-meth-static-dflt-params-ref-later.js fails +language/expressions/class/gen-meth-static-dflt-params-ref-prior.js fails +language/expressions/class/gen-meth-static-dflt-params-ref-self.js fails +language/expressions/class/gen-meth-static-dflt-params-trailing-comma.js fails +language/expressions/class/gen-meth-static-params-trailing-comma-multiple.js fails +language/expressions/class/gen-meth-static-params-trailing-comma-single.js fails +language/expressions/class/gen-method-length-dflt.js fails +language/expressions/class/gen-method-static-yield-spread-arr-multiple.js fails +language/expressions/class/gen-method-static-yield-spread-arr-single.js fails +language/expressions/class/gen-method-yield-spread-arr-multiple.js fails +language/expressions/class/gen-method-yield-spread-arr-single.js fails +language/expressions/class/meth-dflt-params-abrupt.js fails +language/expressions/class/meth-dflt-params-arg-val-not-undefined.js fails +language/expressions/class/meth-dflt-params-arg-val-undefined.js fails +language/expressions/class/meth-dflt-params-ref-later.js fails +language/expressions/class/meth-dflt-params-ref-prior.js fails +language/expressions/class/meth-dflt-params-ref-self.js fails +language/expressions/class/meth-dflt-params-trailing-comma.js fails +language/expressions/class/meth-params-trailing-comma-multiple.js fails +language/expressions/class/meth-params-trailing-comma-single.js fails +language/expressions/class/meth-static-dflt-params-abrupt.js fails +language/expressions/class/meth-static-dflt-params-arg-val-not-undefined.js fails +language/expressions/class/meth-static-dflt-params-arg-val-undefined.js fails +language/expressions/class/meth-static-dflt-params-ref-later.js fails +language/expressions/class/meth-static-dflt-params-ref-prior.js fails +language/expressions/class/meth-static-dflt-params-ref-self.js fails +language/expressions/class/meth-static-dflt-params-trailing-comma.js fails +language/expressions/class/meth-static-params-trailing-comma-multiple.js fails +language/expressions/class/meth-static-params-trailing-comma-single.js fails +language/expressions/class/method-length-dflt.js fails +language/expressions/class/name.js fails +language/expressions/class/params-dflt-gen-meth-args-unmapped.js fails +language/expressions/class/params-dflt-gen-meth-ref-arguments.js fails +language/expressions/class/params-dflt-gen-meth-static-args-unmapped.js fails +language/expressions/class/params-dflt-gen-meth-static-ref-arguments.js fails +language/expressions/class/params-dflt-meth-args-unmapped.js fails +language/expressions/class/params-dflt-meth-ref-arguments.js fails +language/expressions/class/params-dflt-meth-static-args-unmapped.js fails +language/expressions/class/params-dflt-meth-static-ref-arguments.js fails +language/expressions/class/restricted-properties.js fails +language/expressions/class/scope-gen-meth-paramsbody-var-close.js fails +language/expressions/class/scope-gen-meth-paramsbody-var-open.js fails +language/expressions/class/scope-meth-paramsbody-var-close.js fails +language/expressions/class/scope-meth-paramsbody-var-open.js fails +language/expressions/class/scope-name-lex-close.js fails +language/expressions/class/scope-name-lex-open-heritage.js fails +language/expressions/class/scope-name-lex-open-no-heritage.js fails +language/expressions/class/scope-setter-paramsbody-var-close.js fails +language/expressions/class/scope-setter-paramsbody-var-open.js fails +language/expressions/class/scope-static-gen-meth-paramsbody-var-close.js fails +language/expressions/class/scope-static-gen-meth-paramsbody-var-open.js fails +language/expressions/class/scope-static-meth-paramsbody-var-close.js fails +language/expressions/class/scope-static-meth-paramsbody-var-open.js fails +language/expressions/class/scope-static-setter-paramsbody-var-close.js fails +language/expressions/class/scope-static-setter-paramsbody-var-open.js fails +language/expressions/class/setter-length-dflt.js fails +language/expressions/class/static-method-length-dflt.js fails +language/expressions/comma/tco-final.js strictFails +language/expressions/compound-assignment/S11.13.2_A5.10_T1.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.10_T2.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.10_T3.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.10_T4.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.10_T5.js fails +language/expressions/compound-assignment/S11.13.2_A5.11_T1.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.11_T2.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.11_T3.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.11_T4.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.11_T5.js fails +language/expressions/compound-assignment/S11.13.2_A5.1_T1.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.1_T2.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.1_T3.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.1_T4.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.1_T5.js fails +language/expressions/compound-assignment/S11.13.2_A5.2_T1.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.2_T2.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.2_T3.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.2_T4.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.2_T5.js fails +language/expressions/compound-assignment/S11.13.2_A5.3_T1.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.3_T2.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.3_T3.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.3_T4.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.3_T5.js fails +language/expressions/compound-assignment/S11.13.2_A5.4_T1.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.4_T2.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.4_T3.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.4_T4.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.4_T5.js fails +language/expressions/compound-assignment/S11.13.2_A5.5_T1.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.5_T2.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.5_T3.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.5_T4.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.5_T5.js fails +language/expressions/compound-assignment/S11.13.2_A5.6_T1.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.6_T2.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.6_T3.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.6_T4.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.6_T5.js fails +language/expressions/compound-assignment/S11.13.2_A5.7_T1.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.7_T2.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.7_T3.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.7_T4.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.7_T5.js fails +language/expressions/compound-assignment/S11.13.2_A5.8_T1.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.8_T2.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.8_T3.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.8_T4.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.8_T5.js fails +language/expressions/compound-assignment/S11.13.2_A5.9_T1.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.9_T2.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.9_T3.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.9_T4.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A5.9_T5.js fails +language/expressions/compound-assignment/S11.13.2_A6.10_T1.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A6.11_T1.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A6.1_T1.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A6.2_T1.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A6.3_T1.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A6.4_T1.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A6.5_T1.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A6.6_T1.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A6.7_T1.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A6.8_T1.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A6.9_T1.js sloppyFails +language/expressions/compound-assignment/S11.13.2_A7.10_T4.js fails +language/expressions/compound-assignment/S11.13.2_A7.11_T4.js fails +language/expressions/compound-assignment/S11.13.2_A7.1_T4.js fails +language/expressions/compound-assignment/S11.13.2_A7.2_T4.js fails +language/expressions/compound-assignment/S11.13.2_A7.3_T4.js fails +language/expressions/compound-assignment/S11.13.2_A7.4_T4.js fails +language/expressions/compound-assignment/S11.13.2_A7.5_T4.js fails +language/expressions/compound-assignment/S11.13.2_A7.6_T4.js fails +language/expressions/compound-assignment/S11.13.2_A7.7_T4.js fails +language/expressions/compound-assignment/S11.13.2_A7.8_T4.js fails +language/expressions/compound-assignment/S11.13.2_A7.9_T4.js fails +language/expressions/conditional/in-branch-1.js fails +language/expressions/conditional/tco-cond.js strictFails +language/expressions/conditional/tco-pos.js strictFails +language/expressions/delete/11.4.1-5-a-28-s.js strictFails +language/expressions/delete/super-property.js fails +language/expressions/equals/coerce-symbol-to-prim-invocation.js fails +language/expressions/equals/coerce-symbol-to-prim-return-obj.js fails +language/expressions/equals/coerce-symbol-to-prim-return-prim.js fails +language/expressions/equals/to-prim-hint.js fails +language/expressions/exponentiation/applying-the-exp-operator_A7.js fails +language/expressions/exponentiation/applying-the-exp-operator_A8.js fails +language/expressions/function/arguments-with-arguments-fn.js sloppyFails +language/expressions/function/arguments-with-arguments-lex.js sloppyFails +language/expressions/function/dflt-params-ref-later.js fails +language/expressions/function/dflt-params-ref-self.js fails +language/expressions/function/dflt-params-trailing-comma.js fails +language/expressions/function/dstr-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/expressions/function/dstr-ary-ptrn-elem-id-init-fn-name-class.js fails +language/expressions/function/dstr-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/expressions/function/dstr-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/expressions/function/dstr-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/expressions/function/dstr-dflt-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/expressions/function/dstr-dflt-ary-ptrn-elem-id-init-fn-name-class.js fails +language/expressions/function/dstr-dflt-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/expressions/function/dstr-dflt-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/expressions/function/dstr-dflt-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/expressions/function/dstr-dflt-obj-ptrn-id-init-fn-name-arrow.js fails +language/expressions/function/dstr-dflt-obj-ptrn-id-init-fn-name-class.js fails +language/expressions/function/dstr-dflt-obj-ptrn-id-init-fn-name-cover.js fails +language/expressions/function/dstr-dflt-obj-ptrn-id-init-fn-name-fn.js fails +language/expressions/function/dstr-dflt-obj-ptrn-id-init-fn-name-gen.js fails +language/expressions/function/dstr-obj-ptrn-id-init-fn-name-arrow.js fails +language/expressions/function/dstr-obj-ptrn-id-init-fn-name-class.js fails +language/expressions/function/dstr-obj-ptrn-id-init-fn-name-cover.js fails +language/expressions/function/dstr-obj-ptrn-id-init-fn-name-fn.js fails +language/expressions/function/dstr-obj-ptrn-id-init-fn-name-gen.js fails +language/expressions/function/name.js fails +language/expressions/function/param-dflt-yield-non-strict.js sloppyFails +language/expressions/function/params-trailing-comma-multiple.js fails +language/expressions/function/params-trailing-comma-single.js fails +language/expressions/function/scope-body-lex-distinct.js sloppyFails +language/expressions/function/scope-name-var-open-non-strict.js sloppyFails +language/expressions/function/scope-name-var-open-strict.js strictFails +language/expressions/function/scope-param-elem-var-close.js sloppyFails +language/expressions/function/scope-param-elem-var-open.js sloppyFails +language/expressions/function/scope-param-rest-elem-var-close.js sloppyFails +language/expressions/function/scope-param-rest-elem-var-open.js sloppyFails +language/expressions/function/scope-paramsbody-var-open.js fails +language/expressions/generators/arguments-with-arguments-fn.js sloppyFails +language/expressions/generators/arguments-with-arguments-lex.js sloppyFails +language/expressions/generators/default-proto.js fails +language/expressions/generators/dflt-params-ref-later.js fails +language/expressions/generators/dflt-params-ref-self.js fails +language/expressions/generators/dflt-params-trailing-comma.js fails +language/expressions/generators/dstr-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/expressions/generators/dstr-ary-ptrn-elem-id-init-fn-name-class.js fails +language/expressions/generators/dstr-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/expressions/generators/dstr-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/expressions/generators/dstr-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/expressions/generators/dstr-dflt-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/expressions/generators/dstr-dflt-ary-ptrn-elem-id-init-fn-name-class.js fails +language/expressions/generators/dstr-dflt-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/expressions/generators/dstr-dflt-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/expressions/generators/dstr-dflt-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/expressions/generators/dstr-dflt-obj-ptrn-id-init-fn-name-arrow.js fails +language/expressions/generators/dstr-dflt-obj-ptrn-id-init-fn-name-class.js fails +language/expressions/generators/dstr-dflt-obj-ptrn-id-init-fn-name-cover.js fails +language/expressions/generators/dstr-dflt-obj-ptrn-id-init-fn-name-fn.js fails +language/expressions/generators/dstr-dflt-obj-ptrn-id-init-fn-name-gen.js fails +language/expressions/generators/dstr-obj-ptrn-id-init-fn-name-arrow.js fails +language/expressions/generators/dstr-obj-ptrn-id-init-fn-name-class.js fails +language/expressions/generators/dstr-obj-ptrn-id-init-fn-name-cover.js fails +language/expressions/generators/dstr-obj-ptrn-id-init-fn-name-fn.js fails +language/expressions/generators/dstr-obj-ptrn-id-init-fn-name-gen.js fails +language/expressions/generators/eval-body-proto-realm.js fails +language/expressions/generators/name.js fails +language/expressions/generators/named-yield-identifier-non-strict.js sloppyFails +language/expressions/generators/named-yield-spread-arr-multiple.js fails +language/expressions/generators/named-yield-spread-arr-single.js fails +language/expressions/generators/params-trailing-comma-multiple.js fails +language/expressions/generators/params-trailing-comma-single.js fails +language/expressions/generators/scope-body-lex-distinct.js sloppyFails +language/expressions/generators/scope-name-var-open-non-strict.js sloppyFails +language/expressions/generators/scope-name-var-open-strict.js strictFails +language/expressions/generators/scope-param-elem-var-close.js sloppyFails +language/expressions/generators/scope-param-elem-var-open.js sloppyFails +language/expressions/generators/scope-param-rest-elem-var-close.js sloppyFails +language/expressions/generators/scope-param-rest-elem-var-open.js sloppyFails +language/expressions/generators/scope-paramsbody-var-open.js fails +language/expressions/generators/yield-as-function-expression-binding-identifier.js sloppyFails +language/expressions/generators/yield-as-identifier-in-nested-function.js sloppyFails +language/expressions/generators/yield-as-literal-property-name.js fails +language/expressions/generators/yield-as-property-name.js fails +language/expressions/generators/yield-identifier-non-strict.js sloppyFails +language/expressions/generators/yield-spread-arr-multiple.js fails +language/expressions/generators/yield-spread-arr-single.js fails +language/expressions/generators/yield-star-before-newline.js fails +language/expressions/instanceof/prototype-getter-with-object-throws.js fails +language/expressions/instanceof/prototype-getter-with-object.js fails +language/expressions/logical-and/tco-right.js strictFails +language/expressions/logical-or/tco-right.js strictFails +language/expressions/new.target/asi.js fails +language/expressions/new.target/value-via-call.js fails +language/expressions/new.target/value-via-fpapply.js fails +language/expressions/new.target/value-via-fpcall.js fails +language/expressions/new.target/value-via-member.js fails +language/expressions/new.target/value-via-new.js fails +language/expressions/new.target/value-via-reflect-apply.js fails +language/expressions/new.target/value-via-reflect-construct.js fails +language/expressions/new.target/value-via-super-call.js fails +language/expressions/new.target/value-via-super-property.js fails +language/expressions/new.target/value-via-tagged-template.js fails +language/expressions/new/non-ctor-err-realm.js fails +language/expressions/new/spread-err-mult-err-expr-throws.js fails +language/expressions/new/spread-err-mult-err-iter-get-value.js fails +language/expressions/new/spread-err-mult-err-itr-get-call.js fails +language/expressions/new/spread-err-mult-err-itr-get-get.js fails +language/expressions/new/spread-err-mult-err-itr-step.js fails +language/expressions/new/spread-err-mult-err-itr-value.js fails +language/expressions/new/spread-err-mult-err-unresolvable.js fails +language/expressions/new/spread-err-sngl-err-expr-throws.js fails +language/expressions/new/spread-err-sngl-err-itr-get-call.js fails +language/expressions/new/spread-err-sngl-err-itr-get-get.js fails +language/expressions/new/spread-err-sngl-err-itr-get-value.js fails +language/expressions/new/spread-err-sngl-err-itr-step.js fails +language/expressions/new/spread-err-sngl-err-itr-value.js fails +language/expressions/new/spread-err-sngl-err-unresolvable.js fails +language/expressions/new/spread-mult-empty.js fails +language/expressions/new/spread-mult-expr.js fails +language/expressions/new/spread-mult-iter.js fails +language/expressions/new/spread-mult-literal.js fails +language/expressions/new/spread-sngl-empty.js fails +language/expressions/new/spread-sngl-expr.js fails +language/expressions/new/spread-sngl-iter.js fails +language/expressions/new/spread-sngl-literal.js fails +language/expressions/object/accessor-name-computed-err-evaluation.js fails +language/expressions/object/accessor-name-computed-err-to-prop-key.js fails +language/expressions/object/accessor-name-computed-err-unresolvable.js fails +language/expressions/object/accessor-name-computed-in.js fails +language/expressions/object/accessor-name-computed-yield-expr.js fails +language/expressions/object/accessor-name-computed-yield-id.js sloppyFails +language/expressions/object/accessor-name-computed.js fails +language/expressions/object/accessor-name-literal-numeric-binary.js fails +language/expressions/object/accessor-name-literal-numeric-exponent.js fails +language/expressions/object/accessor-name-literal-numeric-hex.js fails +language/expressions/object/accessor-name-literal-numeric-leading-decimal.js fails +language/expressions/object/accessor-name-literal-numeric-non-canonical.js fails +language/expressions/object/accessor-name-literal-numeric-octal.js fails +language/expressions/object/accessor-name-literal-numeric-zero.js fails +language/expressions/object/accessor-name-literal-string-char-escape.js fails +language/expressions/object/accessor-name-literal-string-double-quote.js fails +language/expressions/object/accessor-name-literal-string-empty.js fails +language/expressions/object/accessor-name-literal-string-hex-escape.js fails +language/expressions/object/accessor-name-literal-string-line-continuation.js fails +language/expressions/object/accessor-name-literal-string-single-quote.js fails +language/expressions/object/accessor-name-literal-string-unicode-escape.js fails +language/expressions/object/computed-__proto__.js fails +language/expressions/object/concise-generator.js fails +language/expressions/object/dstr-gen-meth-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/expressions/object/dstr-gen-meth-ary-ptrn-elem-id-init-fn-name-class.js fails +language/expressions/object/dstr-gen-meth-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/expressions/object/dstr-gen-meth-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/expressions/object/dstr-gen-meth-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-fn-name-class.js fails +language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/expressions/object/dstr-gen-meth-dflt-obj-ptrn-id-init-fn-name-arrow.js fails +language/expressions/object/dstr-gen-meth-dflt-obj-ptrn-id-init-fn-name-class.js fails +language/expressions/object/dstr-gen-meth-dflt-obj-ptrn-id-init-fn-name-cover.js fails +language/expressions/object/dstr-gen-meth-dflt-obj-ptrn-id-init-fn-name-fn.js fails +language/expressions/object/dstr-gen-meth-dflt-obj-ptrn-id-init-fn-name-gen.js fails +language/expressions/object/dstr-gen-meth-obj-ptrn-id-init-fn-name-arrow.js fails +language/expressions/object/dstr-gen-meth-obj-ptrn-id-init-fn-name-class.js fails +language/expressions/object/dstr-gen-meth-obj-ptrn-id-init-fn-name-cover.js fails +language/expressions/object/dstr-gen-meth-obj-ptrn-id-init-fn-name-fn.js fails +language/expressions/object/dstr-gen-meth-obj-ptrn-id-init-fn-name-gen.js fails +language/expressions/object/dstr-meth-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/expressions/object/dstr-meth-ary-ptrn-elem-id-init-fn-name-class.js fails +language/expressions/object/dstr-meth-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/expressions/object/dstr-meth-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/expressions/object/dstr-meth-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/expressions/object/dstr-meth-dflt-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/expressions/object/dstr-meth-dflt-ary-ptrn-elem-id-init-fn-name-class.js fails +language/expressions/object/dstr-meth-dflt-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/expressions/object/dstr-meth-dflt-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/expressions/object/dstr-meth-dflt-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/expressions/object/dstr-meth-dflt-obj-ptrn-id-init-fn-name-arrow.js fails +language/expressions/object/dstr-meth-dflt-obj-ptrn-id-init-fn-name-class.js fails +language/expressions/object/dstr-meth-dflt-obj-ptrn-id-init-fn-name-cover.js fails +language/expressions/object/dstr-meth-dflt-obj-ptrn-id-init-fn-name-fn.js fails +language/expressions/object/dstr-meth-dflt-obj-ptrn-id-init-fn-name-gen.js fails +language/expressions/object/dstr-meth-obj-ptrn-id-init-fn-name-arrow.js fails +language/expressions/object/dstr-meth-obj-ptrn-id-init-fn-name-class.js fails +language/expressions/object/dstr-meth-obj-ptrn-id-init-fn-name-cover.js fails +language/expressions/object/dstr-meth-obj-ptrn-id-init-fn-name-fn.js fails +language/expressions/object/dstr-meth-obj-ptrn-id-init-fn-name-gen.js fails +language/expressions/object/fn-name-accessor-get.js fails +language/expressions/object/fn-name-accessor-set.js fails +language/expressions/object/fn-name-arrow.js fails +language/expressions/object/fn-name-class.js fails +language/expressions/object/fn-name-cover.js fails +language/expressions/object/fn-name-fn.js fails +language/expressions/object/fn-name-gen.js fails +language/expressions/object/getter-super-prop.js fails +language/expressions/object/let-non-strict-access.js sloppyFails +language/expressions/object/let-non-strict-syntax.js sloppyFails +language/expressions/object/method-definition/fn-name-fn.js fails +language/expressions/object/method-definition/fn-name-gen.js fails +language/expressions/object/method-definition/gen-meth-dflt-params-ref-later.js fails +language/expressions/object/method-definition/gen-meth-dflt-params-ref-self.js fails +language/expressions/object/method-definition/gen-meth-dflt-params-trailing-comma.js fails +language/expressions/object/method-definition/gen-meth-params-trailing-comma-multiple.js fails +language/expressions/object/method-definition/gen-meth-params-trailing-comma-single.js fails +language/expressions/object/method-definition/gen-yield-identifier-non-strict.js sloppyFails +language/expressions/object/method-definition/gen-yield-spread-arr-multiple.js fails +language/expressions/object/method-definition/gen-yield-spread-arr-single.js fails +language/expressions/object/method-definition/generator-name-prop-symbol.js fails +language/expressions/object/method-definition/generator-super-prop-body.js fails +language/expressions/object/method-definition/generator-super-prop-param.js fails +language/expressions/object/method-definition/meth-dflt-params-ref-later.js fails +language/expressions/object/method-definition/meth-dflt-params-ref-self.js fails +language/expressions/object/method-definition/meth-dflt-params-trailing-comma.js fails +language/expressions/object/method-definition/meth-params-trailing-comma-multiple.js fails +language/expressions/object/method-definition/meth-params-trailing-comma-single.js fails +language/expressions/object/method-definition/name-invoke-ctor.js fails +language/expressions/object/method-definition/name-name-prop-symbol.js fails +language/expressions/object/method-definition/name-prototype-prop.js fails +language/expressions/object/method-definition/name-super-prop-body.js fails +language/expressions/object/method-definition/name-super-prop-param.js fails +language/expressions/object/method-definition/object-method-returns-promise.js fails +language/expressions/object/method-definition/yield-as-function-expression-binding-identifier.js sloppyFails +language/expressions/object/method-definition/yield-as-identifier-in-nested-function.js sloppyFails +language/expressions/object/method-definition/yield-as-literal-property-name.js fails +language/expressions/object/method-definition/yield-as-property-name.js fails +language/expressions/object/method-definition/yield-star-before-newline.js fails +language/expressions/object/method.js fails +language/expressions/object/prop-def-id-eval-error-2.js sloppyFails +language/expressions/object/prop-def-id-eval-error.js sloppyFails +language/expressions/object/properties-names-eval-arguments.js strictFails +language/expressions/object/scope-gen-meth-body-lex-distinct.js sloppyFails +language/expressions/object/scope-gen-meth-param-elem-var-close.js sloppyFails +language/expressions/object/scope-gen-meth-param-elem-var-open.js sloppyFails +language/expressions/object/scope-gen-meth-param-rest-elem-var-close.js sloppyFails +language/expressions/object/scope-gen-meth-param-rest-elem-var-open.js sloppyFails +language/expressions/object/scope-gen-meth-paramsbody-var-open.js fails +language/expressions/object/scope-getter-body-lex-distinc.js sloppyFails +language/expressions/object/scope-meth-body-lex-distinct.js sloppyFails +language/expressions/object/scope-meth-param-elem-var-close.js sloppyFails +language/expressions/object/scope-meth-param-elem-var-open.js sloppyFails +language/expressions/object/scope-meth-param-rest-elem-var-close.js sloppyFails +language/expressions/object/scope-meth-param-rest-elem-var-open.js sloppyFails +language/expressions/object/scope-meth-paramsbody-var-open.js fails +language/expressions/object/scope-setter-body-lex-distinc.js sloppyFails +language/expressions/object/scope-setter-paramsbody-var-open.js fails +language/expressions/object/setter-super-prop.js fails +language/expressions/postfix-decrement/S11.3.2_A5_T1.js sloppyFails +language/expressions/postfix-decrement/S11.3.2_A5_T2.js sloppyFails +language/expressions/postfix-decrement/S11.3.2_A5_T3.js sloppyFails +language/expressions/postfix-decrement/S11.3.2_A5_T4.js sloppyFails +language/expressions/postfix-decrement/S11.3.2_A5_T5.js fails +language/expressions/postfix-decrement/S11.3.2_A6_T3.js fails +language/expressions/postfix-increment/S11.3.1_A5_T1.js sloppyFails +language/expressions/postfix-increment/S11.3.1_A5_T2.js sloppyFails +language/expressions/postfix-increment/S11.3.1_A5_T3.js sloppyFails +language/expressions/postfix-increment/S11.3.1_A5_T4.js sloppyFails +language/expressions/postfix-increment/S11.3.1_A5_T5.js fails +language/expressions/postfix-increment/S11.3.1_A6_T3.js fails +language/expressions/prefix-decrement/S11.4.5_A5_T1.js sloppyFails +language/expressions/prefix-decrement/S11.4.5_A5_T2.js sloppyFails +language/expressions/prefix-decrement/S11.4.5_A5_T3.js sloppyFails +language/expressions/prefix-decrement/S11.4.5_A5_T4.js sloppyFails +language/expressions/prefix-decrement/S11.4.5_A5_T5.js fails +language/expressions/prefix-decrement/S11.4.5_A6_T3.js fails +language/expressions/prefix-increment/S11.4.4_A5_T1.js sloppyFails +language/expressions/prefix-increment/S11.4.4_A5_T2.js sloppyFails +language/expressions/prefix-increment/S11.4.4_A5_T3.js sloppyFails +language/expressions/prefix-increment/S11.4.4_A5_T4.js sloppyFails +language/expressions/prefix-increment/S11.4.4_A5_T5.js fails +language/expressions/prefix-increment/S11.4.4_A6_T3.js fails +language/expressions/super/call-arg-evaluation-err.js fails +language/expressions/super/call-bind-this-value-twice.js fails +language/expressions/super/call-bind-this-value.js fails +language/expressions/super/call-construct-error.js fails +language/expressions/super/call-construct-invocation.js fails +language/expressions/super/call-expr-value.js fails +language/expressions/super/call-proto-not-ctor.js fails +language/expressions/super/call-spread-err-mult-err-expr-throws.js fails +language/expressions/super/call-spread-err-mult-err-iter-get-value.js fails +language/expressions/super/call-spread-err-mult-err-itr-get-call.js fails +language/expressions/super/call-spread-err-mult-err-itr-get-get.js fails +language/expressions/super/call-spread-err-mult-err-itr-step.js fails +language/expressions/super/call-spread-err-mult-err-itr-value.js fails +language/expressions/super/call-spread-err-mult-err-unresolvable.js fails +language/expressions/super/call-spread-err-sngl-err-expr-throws.js fails +language/expressions/super/call-spread-err-sngl-err-itr-get-call.js fails +language/expressions/super/call-spread-err-sngl-err-itr-get-get.js fails +language/expressions/super/call-spread-err-sngl-err-itr-get-value.js fails +language/expressions/super/call-spread-err-sngl-err-itr-step.js fails +language/expressions/super/call-spread-err-sngl-err-itr-value.js fails +language/expressions/super/call-spread-err-sngl-err-unresolvable.js fails +language/expressions/super/call-spread-mult-empty.js fails +language/expressions/super/call-spread-mult-expr.js fails +language/expressions/super/call-spread-mult-iter.js fails +language/expressions/super/call-spread-mult-literal.js fails +language/expressions/super/call-spread-sngl-empty.js fails +language/expressions/super/call-spread-sngl-expr.js fails +language/expressions/super/call-spread-sngl-iter.js fails +language/expressions/super/call-spread-sngl-literal.js fails +language/expressions/super/prop-dot-cls-null-proto.js fails +language/expressions/super/prop-dot-cls-ref-strict.js fails +language/expressions/super/prop-dot-cls-ref-this.js fails +language/expressions/super/prop-dot-cls-this-uninit.js fails +language/expressions/super/prop-dot-cls-val-from-arrow.js fails +language/expressions/super/prop-dot-cls-val-from-eval.js fails +language/expressions/super/prop-dot-cls-val.js fails +language/expressions/super/prop-dot-obj-null-proto.js fails +language/expressions/super/prop-dot-obj-ref-non-strict.js sloppyFails +language/expressions/super/prop-dot-obj-ref-strict.js strictFails +language/expressions/super/prop-dot-obj-ref-this.js fails +language/expressions/super/prop-dot-obj-val-from-arrow.js fails +language/expressions/super/prop-dot-obj-val-from-eval.js fails +language/expressions/super/prop-dot-obj-val.js fails +language/expressions/super/prop-expr-cls-err.js fails +language/expressions/super/prop-expr-cls-key-err.js fails +language/expressions/super/prop-expr-cls-null-proto.js fails +language/expressions/super/prop-expr-cls-ref-strict.js fails +language/expressions/super/prop-expr-cls-ref-this.js fails +language/expressions/super/prop-expr-cls-this-uninit.js fails +language/expressions/super/prop-expr-cls-unresolvable.js fails +language/expressions/super/prop-expr-cls-val-from-arrow.js fails +language/expressions/super/prop-expr-cls-val-from-eval.js fails +language/expressions/super/prop-expr-cls-val.js fails +language/expressions/super/prop-expr-obj-err.js fails +language/expressions/super/prop-expr-obj-key-err.js fails +language/expressions/super/prop-expr-obj-null-proto.js fails +language/expressions/super/prop-expr-obj-ref-non-strict.js sloppyFails +language/expressions/super/prop-expr-obj-ref-strict.js strictFails +language/expressions/super/prop-expr-obj-ref-this.js fails +language/expressions/super/prop-expr-obj-unresolvable.js fails +language/expressions/super/prop-expr-obj-val-from-arrow.js fails +language/expressions/super/prop-expr-obj-val-from-eval.js fails +language/expressions/super/prop-expr-obj-val.js fails +language/expressions/super/realm.js fails +language/expressions/tagged-template/cache-different-functions-same-site.js fails +language/expressions/tagged-template/cache-eval-inner-function.js fails +language/expressions/tagged-template/cache-realm.js fails +language/expressions/tagged-template/cache-same-site-top-level.js fails +language/expressions/tagged-template/cache-same-site.js fails +language/expressions/tagged-template/invalid-escape-sequences.js fails +language/expressions/tagged-template/tco-call.js strictFails +language/expressions/tagged-template/tco-member.js strictFails +language/expressions/tagged-template/template-object-frozen-non-strict.js sloppyFails +language/expressions/tagged-template/template-object-frozen-strict.js strictFails +language/expressions/tagged-template/template-object.js fails +language/expressions/tco-pos.js strictFails +language/expressions/template-literal/tv-character-escape-sequence.js fails +language/expressions/template-literal/tv-hex-escape-sequence.js fails +language/expressions/template-literal/tv-line-continuation.js fails +language/expressions/template-literal/tv-line-terminator-sequence.js fails +language/expressions/template-literal/tv-no-substitution.js fails +language/expressions/template-literal/tv-null-character-escape-sequence.js fails +language/expressions/template-literal/tv-template-character.js fails +language/expressions/template-literal/tv-template-characters.js fails +language/expressions/template-literal/tv-template-head.js fails +language/expressions/template-literal/tv-template-middle.js fails +language/expressions/template-literal/tv-template-tail.js fails +language/expressions/template-literal/tv-utf16-escape-sequence.js fails +language/expressions/template-literal/tv-zwnbsp.js fails +language/expressions/typeof/built-in-ordinary-objects-no-call.js fails +language/expressions/yield/star-array.js fails +language/expressions/yield/star-in-rltn-expr.js fails +language/expressions/yield/star-iterable.js fails +language/expressions/yield/star-rhs-iter-get-call-err.js fails +language/expressions/yield/star-rhs-iter-get-call-non-obj.js fails +language/expressions/yield/star-rhs-iter-get-get-err.js fails +language/expressions/yield/star-rhs-iter-nrml-next-call-err.js fails +language/expressions/yield/star-rhs-iter-nrml-next-call-non-obj.js fails +language/expressions/yield/star-rhs-iter-nrml-next-get-err.js fails +language/expressions/yield/star-rhs-iter-nrml-next-invoke.js fails +language/expressions/yield/star-rhs-iter-nrml-res-done-err.js fails +language/expressions/yield/star-rhs-iter-nrml-res-done-no-value.js fails +language/expressions/yield/star-rhs-iter-nrml-res-value-err.js fails +language/expressions/yield/star-rhs-iter-nrml-res-value-final.js fails +language/expressions/yield/star-rhs-iter-rtrn-no-rtrn.js fails +language/expressions/yield/star-rhs-iter-rtrn-res-done-err.js fails +language/expressions/yield/star-rhs-iter-rtrn-res-done-no-value.js fails +language/expressions/yield/star-rhs-iter-rtrn-res-value-err.js fails +language/expressions/yield/star-rhs-iter-rtrn-res-value-final.js fails +language/expressions/yield/star-rhs-iter-rtrn-rtrn-call-err.js fails +language/expressions/yield/star-rhs-iter-rtrn-rtrn-call-non-obj.js fails +language/expressions/yield/star-rhs-iter-rtrn-rtrn-get-err.js fails +language/expressions/yield/star-rhs-iter-rtrn-rtrn-invoke.js fails +language/expressions/yield/star-rhs-iter-thrw-res-done-err.js fails +language/expressions/yield/star-rhs-iter-thrw-res-done-no-value.js fails +language/expressions/yield/star-rhs-iter-thrw-res-value-err.js fails +language/expressions/yield/star-rhs-iter-thrw-res-value-final.js fails +language/expressions/yield/star-rhs-iter-thrw-thrw-call-err.js fails +language/expressions/yield/star-rhs-iter-thrw-thrw-call-non-obj.js fails +language/expressions/yield/star-rhs-iter-thrw-thrw-get-err.js fails +language/expressions/yield/star-rhs-iter-thrw-thrw-invoke.js fails +language/expressions/yield/star-rhs-iter-thrw-violation-no-rtrn.js fails +language/expressions/yield/star-rhs-iter-thrw-violation-rtrn-call-err.js fails +language/expressions/yield/star-rhs-iter-thrw-violation-rtrn-call-non-obj.js fails +language/expressions/yield/star-rhs-iter-thrw-violation-rtrn-get-err.js fails +language/expressions/yield/star-rhs-iter-thrw-violation-rtrn-invoke.js fails +language/expressions/yield/star-rhs-unresolvable.js fails +language/expressions/yield/star-string.js fails +language/function-code/each-param-has-own-non-shared-eval-scope.js sloppyFails +language/function-code/each-param-has-own-scope.js sloppyFails +language/function-code/eval-param-env-with-computed-key.js sloppyFails +language/function-code/eval-param-env-with-prop-initializer.js sloppyFails +language/global-code/decl-lex-deletion.js sloppyFails +language/global-code/decl-lex-restricted-global.js fails +language/global-code/decl-lex.js fails +language/global-code/script-decl-func-dups.js fails +language/global-code/script-decl-func-err-non-configurable.js fails +language/global-code/script-decl-func-err-non-extensible.js fails +language/global-code/script-decl-func.js fails +language/global-code/script-decl-lex-deletion.js sloppyFails +language/global-code/script-decl-lex-lex.js fails +language/global-code/script-decl-lex-restricted-global.js fails +language/global-code/script-decl-lex-var.js fails +language/global-code/script-decl-lex.js fails +language/global-code/script-decl-var-collision.js fails +language/global-code/script-decl-var-err.js fails +language/global-code/script-decl-var.js fails +language/identifiers/other_id_continue.js fails +language/identifiers/other_id_start-escaped.js fails +language/identifiers/other_id_start.js fails +language/literals/regexp/u-astral.js fails +language/literals/regexp/u-case-mapping.js fails +language/literals/regexp/u-surrogate-pairs-atom-char-class.js fails +language/literals/regexp/u-surrogate-pairs-atom-dot.js fails +language/literals/regexp/u-surrogate-pairs-atom-escape-char-class.js fails +language/literals/regexp/u-surrogate-pairs-atom-escape-decimal.js fails +language/literals/regexp/u-surrogate-pairs.js fails +language/literals/regexp/u-unicode-esc.js fails +language/literals/regexp/y-assertion-start.js fails +language/module-code/eval-gtbndng-indirect-trlng-comma_FIXTURE.js fails +language/module-code/eval-gtbndng-indirect-update-as_FIXTURE.js fails +language/module-code/eval-gtbndng-indirect-update-dflt_FIXTURE.js fails +language/module-code/eval-gtbndng-indirect-update_FIXTURE.js fails +language/module-code/eval-rqstd-abrupt-err-type_FIXTURE.js fails +language/module-code/eval-rqstd-abrupt-err-uri_FIXTURE.js fails +language/module-code/eval-rqstd-once_FIXTURE.js fails +language/module-code/eval-rqstd-order-4_FIXTURE.js fails +language/module-code/eval-rqstd-order-6_FIXTURE.js fails +language/module-code/eval-rqstd-order-8_FIXTURE.js fails +language/module-code/instn-iee-bndng-cls_FIXTURE.js fails +language/module-code/instn-iee-bndng-const_FIXTURE.js fails +language/module-code/instn-iee-bndng-fun_FIXTURE.js fails +language/module-code/instn-iee-bndng-gen_FIXTURE.js fails +language/module-code/instn-iee-bndng-let_FIXTURE.js fails +language/module-code/instn-iee-bndng-var_FIXTURE.js fails +language/module-code/instn-iee-err-ambiguous-1_FIXTURE.js fails +language/module-code/instn-iee-err-ambiguous-2_FIXTURE.js fails +language/module-code/instn-iee-err-ambiguous_FIXTURE.js fails +language/module-code/instn-iee-err-circular_FIXTURE.js fails +language/module-code/instn-iee-err-dflt-thru-star-dflt_FIXTURE.js fails +language/module-code/instn-iee-err-dflt-thru-star-int_FIXTURE.js fails +language/module-code/instn-iee-iee-cycle-2_FIXTURE.js fails +language/module-code/instn-iee-star-cycle-2_FIXTURE.js fails +language/module-code/instn-iee-star-cycle-indirect-x_FIXTURE.js fails +language/module-code/instn-iee-trlng-comma_FIXTURE.js fails +language/module-code/instn-named-err-ambiguous-1_FIXTURE.js fails +language/module-code/instn-named-err-ambiguous-2_FIXTURE.js fails +language/module-code/instn-named-err-ambiguous_FIXTURE.js fails +language/module-code/instn-named-err-dflt-thru-star-dflt_FIXTURE.js fails +language/module-code/instn-named-err-dflt-thru-star-int_FIXTURE.js fails +language/module-code/instn-named-iee-cycle-2_FIXTURE.js fails +language/module-code/instn-named-star-cycle-2_FIXTURE.js fails +language/module-code/instn-named-star-cycle-indirect-x_FIXTURE.js fails +language/module-code/instn-resolve-empty-export_FIXTURE.js fails +language/module-code/instn-resolve-empty-import_FIXTURE.js fails +language/module-code/instn-resolve-err-reference_FIXTURE.js fails +language/module-code/instn-resolve-err-syntax_FIXTURE.js fails +language/module-code/instn-resolve-order-depth-child_FIXTURE.js fails +language/module-code/instn-resolve-order-depth-reference_FIXTURE.js fails +language/module-code/instn-resolve-order-depth-syntax_FIXTURE.js fails +language/module-code/instn-resolve-order-src-reference_FIXTURE.js fails +language/module-code/instn-resolve-order-src-syntax_FIXTURE.js fails +language/module-code/instn-star-ambiguous-1_FIXTURE.js fails +language/module-code/instn-star-ambiguous-2_FIXTURE.js fails +language/module-code/instn-star-ambiguous_FIXTURE.js fails +language/module-code/instn-star-equality-other_FIXTURE.js fails +language/module-code/instn-star-err-not-found-faulty_FIXTURE.js fails +language/module-code/instn-star-iee-cycle-2_FIXTURE.js fails +language/module-code/instn-star-props-circular-a_FIXTURE.js fails +language/module-code/instn-star-props-circular-b_FIXTURE.js fails +language/module-code/instn-star-props-dflt-keep-indirect-def_FIXTURE.js fails +language/module-code/instn-star-props-dflt-keep-indirect-reexport_FIXTURE.js fails +language/module-code/instn-star-props-dflt-keep-local-named_FIXTURE.js fails +language/module-code/instn-star-props-dflt-keep-local-prod_FIXTURE.js fails +language/module-code/instn-star-props-dflt-skip-named_FIXTURE.js fails +language/module-code/instn-star-props-dflt-skip-prod_FIXTURE.js fails +language/module-code/instn-star-props-dflt-skip-star-named_FIXTURE.js fails +language/module-code/instn-star-props-dflt-skip-star-prod_FIXTURE.js fails +language/module-code/instn-star-props-nrml-1_FIXTURE.js fails +language/module-code/instn-star-props-nrml-indirect_FIXTURE.js fails +language/module-code/instn-star-props-nrml-star_FIXTURE.js fails +language/module-code/instn-star-star-cycle-2_FIXTURE.js fails +language/module-code/instn-star-star-cycle-indirect-x_FIXTURE.js fails +language/module-code/instn-uniq-env-rec-other_FIXTURE.js fails +language/module-code/namespace/internals/own-property-keys-binding-types_FIXTURE.js fails +language/rest-parameters/with-new-target.js fails +language/statements/async-function/cptn-decl.js fails +language/statements/async-function/declaration-returns-promise.js fails +language/statements/async-function/evaluation-body.js fails +language/statements/async-function/syntax-declaration-line-terminators-allowed.js fails +language/statements/block/tco-stmt-list.js strictFails +language/statements/block/tco-stmt.js strictFails +language/statements/class/accessor-name-inst-computed-err-evaluation.js fails +language/statements/class/accessor-name-inst-computed-err-to-prop-key.js fails +language/statements/class/accessor-name-inst-computed-err-unresolvable.js fails +language/statements/class/accessor-name-inst-computed-yield-expr.js fails +language/statements/class/accessor-name-inst-computed.js fails +language/statements/class/accessor-name-inst-literal-numeric-binary.js fails +language/statements/class/accessor-name-inst-literal-numeric-exponent.js fails +language/statements/class/accessor-name-inst-literal-numeric-hex.js fails +language/statements/class/accessor-name-inst-literal-numeric-leading-decimal.js fails +language/statements/class/accessor-name-inst-literal-numeric-non-canonical.js fails +language/statements/class/accessor-name-inst-literal-numeric-octal.js fails +language/statements/class/accessor-name-inst-literal-numeric-zero.js fails +language/statements/class/accessor-name-inst-literal-string-char-escape.js fails +language/statements/class/accessor-name-inst-literal-string-double-quote.js fails +language/statements/class/accessor-name-inst-literal-string-empty.js fails +language/statements/class/accessor-name-inst-literal-string-hex-escape.js fails +language/statements/class/accessor-name-inst-literal-string-line-continuation.js fails +language/statements/class/accessor-name-inst-literal-string-single-quote.js fails +language/statements/class/accessor-name-inst-literal-string-unicode-escape.js fails +language/statements/class/accessor-name-static-computed-err-evaluation.js fails +language/statements/class/accessor-name-static-computed-err-to-prop-key.js fails +language/statements/class/accessor-name-static-computed-err-unresolvable.js fails +language/statements/class/accessor-name-static-computed-yield-expr.js fails +language/statements/class/accessor-name-static-computed.js fails +language/statements/class/accessor-name-static-literal-numeric-binary.js fails +language/statements/class/accessor-name-static-literal-numeric-exponent.js fails +language/statements/class/accessor-name-static-literal-numeric-hex.js fails +language/statements/class/accessor-name-static-literal-numeric-leading-decimal.js fails +language/statements/class/accessor-name-static-literal-numeric-non-canonical.js fails +language/statements/class/accessor-name-static-literal-numeric-octal.js fails +language/statements/class/accessor-name-static-literal-numeric-zero.js fails +language/statements/class/accessor-name-static-literal-string-char-escape.js fails +language/statements/class/accessor-name-static-literal-string-double-quote.js fails +language/statements/class/accessor-name-static-literal-string-empty.js fails +language/statements/class/accessor-name-static-literal-string-hex-escape.js fails +language/statements/class/accessor-name-static-literal-string-line-continuation.js fails +language/statements/class/accessor-name-static-literal-string-single-quote.js fails +language/statements/class/accessor-name-static-literal-string-unicode-escape.js fails +language/statements/class/arguments/access.js fails +language/statements/class/arguments/default-constructor.js fails +language/statements/class/constructor-inferred-observable-iteration.js fails +language/statements/class/cptn-decl.js fails +language/statements/class/definition/accessors.js fails +language/statements/class/definition/basics.js fails +language/statements/class/definition/class-method-returns-promise.js fails +language/statements/class/definition/constructable-but-no-prototype.js fails +language/statements/class/definition/constructor-property.js fails +language/statements/class/definition/constructor-strict-by-default.js fails +language/statements/class/definition/constructor.js fails +language/statements/class/definition/fn-name-accessor-get.js fails +language/statements/class/definition/fn-name-accessor-set.js fails +language/statements/class/definition/fn-name-gen-method.js fails +language/statements/class/definition/fn-name-method.js fails +language/statements/class/definition/fn-name-static-precedence.js fails +language/statements/class/definition/getters-non-configurable-err.js fails +language/statements/class/definition/getters-prop-desc.js fails +language/statements/class/definition/getters-restricted-ids.js fails +language/statements/class/definition/implicit-constructor.js fails +language/statements/class/definition/invalid-extends.js fails +language/statements/class/definition/methods-gen-no-yield.js fails +language/statements/class/definition/methods-gen-return.js fails +language/statements/class/definition/methods-gen-yield-as-expression-with-rhs.js fails +language/statements/class/definition/methods-gen-yield-as-expression-without-rhs.js fails +language/statements/class/definition/methods-gen-yield-as-generator-method-binding-identifier.js fails +language/statements/class/definition/methods-gen-yield-as-literal-property-name.js fails +language/statements/class/definition/methods-gen-yield-as-property-name.js fails +language/statements/class/definition/methods-gen-yield-as-statement.js fails +language/statements/class/definition/methods-gen-yield-as-yield-operand.js fails +language/statements/class/definition/methods-gen-yield-newline.js fails +language/statements/class/definition/methods-gen-yield-star-before-newline.js fails +language/statements/class/definition/methods-named-eval-arguments.js fails +language/statements/class/definition/methods-restricted-properties.js fails +language/statements/class/definition/methods.js fails +language/statements/class/definition/numeric-property-names.js fails +language/statements/class/definition/prototype-getter.js fails +language/statements/class/definition/prototype-property.js fails +language/statements/class/definition/prototype-setter.js fails +language/statements/class/definition/prototype-wiring.js fails +language/statements/class/definition/setters-non-configurable-err.js fails +language/statements/class/definition/setters-prop-desc.js fails +language/statements/class/definition/setters-restricted-ids.js fails +language/statements/class/definition/side-effects-in-extends.js fails +language/statements/class/definition/side-effects-in-property-define.js fails +language/statements/class/definition/this-access-restriction-2.js fails +language/statements/class/definition/this-access-restriction.js fails +language/statements/class/definition/this-check-ordering.js fails +language/statements/class/dstr-gen-meth-ary-init-iter-close.js fails +language/statements/class/dstr-gen-meth-ary-init-iter-get-err.js fails +language/statements/class/dstr-gen-meth-ary-init-iter-no-close.js fails +language/statements/class/dstr-gen-meth-ary-name-iter-val.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-ary-elem-init.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-ary-elem-iter.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-ary-elision-init.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-ary-elision-iter.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-ary-empty-init.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-ary-empty-iter.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-ary-rest-init.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-ary-rest-iter.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-ary-val-null.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-init-exhausted.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-init-fn-name-class.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-init-hole.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-init-skipped.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-init-throws.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-init-undef.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-init-unresolvable.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-iter-complete.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-iter-done.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-iter-step-err.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-iter-val-err.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-iter-val.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-obj-id-init.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-obj-id.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-obj-prop-id-init.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-obj-prop-id.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-obj-val-null.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elem-obj-val-undef.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elision-exhausted.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elision-step-err.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-elision.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-empty.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-rest-ary-elem.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-rest-ary-elision.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-rest-ary-empty.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-rest-ary-rest.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-rest-id-elision-next-err.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-rest-id-elision.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-rest-id-exhausted.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-rest-id-iter-step-err.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-rest-id-iter-val-err.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-rest-id.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-rest-obj-id.js fails +language/statements/class/dstr-gen-meth-ary-ptrn-rest-obj-prop-id.js fails +language/statements/class/dstr-gen-meth-dflt-ary-init-iter-close.js fails +language/statements/class/dstr-gen-meth-dflt-ary-init-iter-get-err.js fails +language/statements/class/dstr-gen-meth-dflt-ary-init-iter-no-close.js fails +language/statements/class/dstr-gen-meth-dflt-ary-name-iter-val.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-elem-init.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-elem-iter.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-elision-init.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-elision-iter.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-empty-init.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-empty-iter.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-rest-init.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-rest-iter.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-val-null.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-exhausted.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-fn-name-class.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-hole.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-skipped.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-throws.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-undef.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-unresolvable.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-iter-complete.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-iter-done.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-iter-step-err.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-iter-val-err.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-iter-val.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-obj-id-init.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-obj-id.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-obj-prop-id-init.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-obj-prop-id.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-obj-val-null.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-obj-val-undef.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elision-exhausted.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elision-step-err.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elision.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-empty.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-ary-elem.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-ary-elision.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-ary-empty.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-ary-rest.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-id-elision-next-err.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-id-elision.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-id-exhausted.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-id-iter-step-err.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-id-iter-val-err.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-id.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-obj-id.js fails +language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-obj-prop-id.js fails +language/statements/class/dstr-gen-meth-dflt-obj-init-null.js fails +language/statements/class/dstr-gen-meth-dflt-obj-init-undefined.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-empty.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-id-get-value-err.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-id-init-fn-name-arrow.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-id-init-fn-name-class.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-id-init-fn-name-cover.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-id-init-fn-name-fn.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-id-init-fn-name-gen.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-id-init-skipped.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-id-init-throws.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-id-init-unresolvable.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-id-trailing-comma.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-list-err.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-ary-init.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-ary-trailing-comma.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-ary-value-null.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-ary.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-eval-err.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-id-get-value-err.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-id-init-skipped.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-id-init-throws.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-id-init-unresolvable.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-id-init.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-id-trailing-comma.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-id.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-obj-init.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-obj-value-null.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-obj-value-undef.js fails +language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-obj.js fails +language/statements/class/dstr-gen-meth-obj-init-null.js fails +language/statements/class/dstr-gen-meth-obj-init-undefined.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-empty.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-id-get-value-err.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-id-init-fn-name-arrow.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-id-init-fn-name-class.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-id-init-fn-name-cover.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-id-init-fn-name-fn.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-id-init-fn-name-gen.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-id-init-skipped.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-id-init-throws.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-id-init-unresolvable.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-id-trailing-comma.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-list-err.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-prop-ary-init.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-prop-ary-trailing-comma.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-prop-ary-value-null.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-prop-ary.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-prop-eval-err.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-prop-id-get-value-err.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-prop-id-init-skipped.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-prop-id-init-throws.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-prop-id-init-unresolvable.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-prop-id-init.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-prop-id-trailing-comma.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-prop-id.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-prop-obj-init.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-prop-obj-value-null.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-prop-obj-value-undef.js fails +language/statements/class/dstr-gen-meth-obj-ptrn-prop-obj.js fails +language/statements/class/dstr-gen-meth-static-ary-init-iter-close.js fails +language/statements/class/dstr-gen-meth-static-ary-init-iter-get-err.js fails +language/statements/class/dstr-gen-meth-static-ary-init-iter-no-close.js fails +language/statements/class/dstr-gen-meth-static-ary-name-iter-val.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-ary-elem-init.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-ary-elem-iter.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-ary-elision-init.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-ary-elision-iter.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-ary-empty-init.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-ary-empty-iter.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-ary-rest-init.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-ary-rest-iter.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-ary-val-null.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-exhausted.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-fn-name-class.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-hole.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-skipped.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-throws.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-undef.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-unresolvable.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-iter-complete.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-iter-done.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-iter-step-err.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-iter-val-err.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-iter-val.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-obj-id-init.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-obj-id.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-obj-prop-id-init.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-obj-prop-id.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-obj-val-null.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-obj-val-undef.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elision-exhausted.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elision-step-err.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-elision.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-empty.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-ary-elem.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-ary-elision.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-ary-empty.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-ary-rest.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-id-elision-next-err.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-id-elision.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-id-exhausted.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-id-iter-step-err.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-id-iter-val-err.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-id.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-obj-id.js fails +language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-obj-prop-id.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-init-iter-close.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-init-iter-get-err.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-init-iter-no-close.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-name-iter-val.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-elem-init.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-elem-iter.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-elision-init.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-elision-iter.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-empty-init.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-empty-iter.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-rest-init.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-rest-iter.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-val-null.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-exhausted.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-class.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-hole.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-skipped.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-throws.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-undef.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-unresolvable.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-iter-complete.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-iter-done.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-iter-step-err.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-iter-val-err.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-iter-val.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-obj-id-init.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-obj-id.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-obj-prop-id-init.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-obj-prop-id.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-obj-val-null.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-obj-val-undef.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elision-exhausted.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elision-step-err.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elision.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-empty.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-ary-elem.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-ary-elision.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-ary-empty.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-ary-rest.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-id-elision-next-err.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-id-elision.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-id-exhausted.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-id-iter-step-err.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-id-iter-val-err.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-id.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-obj-id.js fails +language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-obj-prop-id.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-init-null.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-init-undefined.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-empty.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-id-get-value-err.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-fn-name-arrow.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-fn-name-class.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-fn-name-cover.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-fn-name-fn.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-fn-name-gen.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-skipped.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-throws.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-unresolvable.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-id-trailing-comma.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-list-err.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-ary-init.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-ary-trailing-comma.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-ary-value-null.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-ary.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-eval-err.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-id-get-value-err.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-id-init-skipped.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-id-init-throws.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-id-init-unresolvable.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-id-init.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-id-trailing-comma.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-id.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-obj-init.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-obj-value-null.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-obj-value-undef.js fails +language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-obj.js fails +language/statements/class/dstr-gen-meth-static-obj-init-null.js fails +language/statements/class/dstr-gen-meth-static-obj-init-undefined.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-empty.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-id-get-value-err.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-id-init-fn-name-arrow.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-id-init-fn-name-class.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-id-init-fn-name-cover.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-id-init-fn-name-fn.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-id-init-fn-name-gen.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-id-init-skipped.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-id-init-throws.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-id-init-unresolvable.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-id-trailing-comma.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-list-err.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-ary-init.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-ary-trailing-comma.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-ary-value-null.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-ary.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-eval-err.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-id-get-value-err.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-id-init-skipped.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-id-init-throws.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-id-init-unresolvable.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-id-init.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-id-trailing-comma.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-id.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-obj-init.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-obj-value-null.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-obj-value-undef.js fails +language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-obj.js fails +language/statements/class/dstr-meth-ary-init-iter-close.js fails +language/statements/class/dstr-meth-ary-init-iter-get-err.js fails +language/statements/class/dstr-meth-ary-init-iter-no-close.js fails +language/statements/class/dstr-meth-ary-name-iter-val.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-ary-elem-init.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-ary-elem-iter.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-ary-elision-init.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-ary-elision-iter.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-ary-empty-init.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-ary-empty-iter.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-ary-rest-init.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-ary-rest-iter.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-ary-val-null.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-id-init-exhausted.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-id-init-fn-name-class.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-id-init-hole.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-id-init-skipped.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-id-init-throws.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-id-init-undef.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-id-init-unresolvable.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-id-iter-complete.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-id-iter-done.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-id-iter-step-err.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-id-iter-val-err.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-id-iter-val.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-obj-id-init.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-obj-id.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-obj-prop-id-init.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-obj-prop-id.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-obj-val-null.js fails +language/statements/class/dstr-meth-ary-ptrn-elem-obj-val-undef.js fails +language/statements/class/dstr-meth-ary-ptrn-elision-exhausted.js fails +language/statements/class/dstr-meth-ary-ptrn-elision-step-err.js fails +language/statements/class/dstr-meth-ary-ptrn-elision.js fails +language/statements/class/dstr-meth-ary-ptrn-empty.js fails +language/statements/class/dstr-meth-ary-ptrn-rest-ary-elem.js fails +language/statements/class/dstr-meth-ary-ptrn-rest-ary-elision.js fails +language/statements/class/dstr-meth-ary-ptrn-rest-ary-empty.js fails +language/statements/class/dstr-meth-ary-ptrn-rest-ary-rest.js fails +language/statements/class/dstr-meth-ary-ptrn-rest-id-elision-next-err.js fails +language/statements/class/dstr-meth-ary-ptrn-rest-id-elision.js fails +language/statements/class/dstr-meth-ary-ptrn-rest-id-exhausted.js fails +language/statements/class/dstr-meth-ary-ptrn-rest-id-iter-step-err.js fails +language/statements/class/dstr-meth-ary-ptrn-rest-id-iter-val-err.js fails +language/statements/class/dstr-meth-ary-ptrn-rest-id.js fails +language/statements/class/dstr-meth-ary-ptrn-rest-obj-id.js fails +language/statements/class/dstr-meth-ary-ptrn-rest-obj-prop-id.js fails +language/statements/class/dstr-meth-dflt-ary-init-iter-close.js fails +language/statements/class/dstr-meth-dflt-ary-init-iter-get-err.js fails +language/statements/class/dstr-meth-dflt-ary-init-iter-no-close.js fails +language/statements/class/dstr-meth-dflt-ary-name-iter-val.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-ary-elem-init.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-ary-elem-iter.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-ary-elision-init.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-ary-elision-iter.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-ary-empty-init.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-ary-empty-iter.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-ary-rest-init.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-ary-rest-iter.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-ary-val-null.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-init-exhausted.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-init-fn-name-class.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-init-hole.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-init-skipped.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-init-throws.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-init-undef.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-init-unresolvable.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-iter-complete.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-iter-done.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-iter-step-err.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-iter-val-err.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-iter-val.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-obj-id-init.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-obj-id.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-obj-prop-id-init.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-obj-prop-id.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-obj-val-null.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elem-obj-val-undef.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elision-exhausted.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elision-step-err.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-elision.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-empty.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-rest-ary-elem.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-rest-ary-elision.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-rest-ary-empty.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-rest-ary-rest.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-rest-id-elision-next-err.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-rest-id-elision.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-rest-id-exhausted.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-rest-id-iter-step-err.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-rest-id-iter-val-err.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-rest-id.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-rest-obj-id.js fails +language/statements/class/dstr-meth-dflt-ary-ptrn-rest-obj-prop-id.js fails +language/statements/class/dstr-meth-dflt-obj-init-null.js fails +language/statements/class/dstr-meth-dflt-obj-init-undefined.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-empty.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-id-get-value-err.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-id-init-fn-name-arrow.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-id-init-fn-name-class.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-id-init-fn-name-cover.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-id-init-fn-name-fn.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-id-init-fn-name-gen.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-id-init-skipped.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-id-init-throws.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-id-init-unresolvable.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-id-trailing-comma.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-list-err.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-prop-ary-init.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-prop-ary-trailing-comma.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-prop-ary-value-null.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-prop-ary.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-prop-eval-err.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-prop-id-get-value-err.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-prop-id-init-skipped.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-prop-id-init-throws.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-prop-id-init-unresolvable.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-prop-id-init.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-prop-id-trailing-comma.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-prop-id.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-prop-obj-init.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-prop-obj-value-null.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-prop-obj-value-undef.js fails +language/statements/class/dstr-meth-dflt-obj-ptrn-prop-obj.js fails +language/statements/class/dstr-meth-obj-init-null.js fails +language/statements/class/dstr-meth-obj-init-undefined.js fails +language/statements/class/dstr-meth-obj-ptrn-empty.js fails +language/statements/class/dstr-meth-obj-ptrn-id-get-value-err.js fails +language/statements/class/dstr-meth-obj-ptrn-id-init-fn-name-arrow.js fails +language/statements/class/dstr-meth-obj-ptrn-id-init-fn-name-class.js fails +language/statements/class/dstr-meth-obj-ptrn-id-init-fn-name-cover.js fails +language/statements/class/dstr-meth-obj-ptrn-id-init-fn-name-fn.js fails +language/statements/class/dstr-meth-obj-ptrn-id-init-fn-name-gen.js fails +language/statements/class/dstr-meth-obj-ptrn-id-init-skipped.js fails +language/statements/class/dstr-meth-obj-ptrn-id-init-throws.js fails +language/statements/class/dstr-meth-obj-ptrn-id-init-unresolvable.js fails +language/statements/class/dstr-meth-obj-ptrn-id-trailing-comma.js fails +language/statements/class/dstr-meth-obj-ptrn-list-err.js fails +language/statements/class/dstr-meth-obj-ptrn-prop-ary-init.js fails +language/statements/class/dstr-meth-obj-ptrn-prop-ary-trailing-comma.js fails +language/statements/class/dstr-meth-obj-ptrn-prop-ary-value-null.js fails +language/statements/class/dstr-meth-obj-ptrn-prop-ary.js fails +language/statements/class/dstr-meth-obj-ptrn-prop-eval-err.js fails +language/statements/class/dstr-meth-obj-ptrn-prop-id-get-value-err.js fails +language/statements/class/dstr-meth-obj-ptrn-prop-id-init-skipped.js fails +language/statements/class/dstr-meth-obj-ptrn-prop-id-init-throws.js fails +language/statements/class/dstr-meth-obj-ptrn-prop-id-init-unresolvable.js fails +language/statements/class/dstr-meth-obj-ptrn-prop-id-init.js fails +language/statements/class/dstr-meth-obj-ptrn-prop-id-trailing-comma.js fails +language/statements/class/dstr-meth-obj-ptrn-prop-id.js fails +language/statements/class/dstr-meth-obj-ptrn-prop-obj-init.js fails +language/statements/class/dstr-meth-obj-ptrn-prop-obj-value-null.js fails +language/statements/class/dstr-meth-obj-ptrn-prop-obj-value-undef.js fails +language/statements/class/dstr-meth-obj-ptrn-prop-obj.js fails +language/statements/class/dstr-meth-static-ary-init-iter-close.js fails +language/statements/class/dstr-meth-static-ary-init-iter-get-err.js fails +language/statements/class/dstr-meth-static-ary-init-iter-no-close.js fails +language/statements/class/dstr-meth-static-ary-name-iter-val.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-ary-elem-init.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-ary-elem-iter.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-ary-elision-init.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-ary-elision-iter.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-ary-empty-init.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-ary-empty-iter.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-ary-rest-init.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-ary-rest-iter.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-ary-val-null.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-id-init-exhausted.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-id-init-fn-name-class.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-id-init-hole.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-id-init-skipped.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-id-init-throws.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-id-init-undef.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-id-init-unresolvable.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-id-iter-complete.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-id-iter-done.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-id-iter-step-err.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-id-iter-val-err.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-id-iter-val.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-obj-id-init.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-obj-id.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-obj-prop-id-init.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-obj-prop-id.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-obj-val-null.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elem-obj-val-undef.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elision-exhausted.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elision-step-err.js fails +language/statements/class/dstr-meth-static-ary-ptrn-elision.js fails +language/statements/class/dstr-meth-static-ary-ptrn-empty.js fails +language/statements/class/dstr-meth-static-ary-ptrn-rest-ary-elem.js fails +language/statements/class/dstr-meth-static-ary-ptrn-rest-ary-elision.js fails +language/statements/class/dstr-meth-static-ary-ptrn-rest-ary-empty.js fails +language/statements/class/dstr-meth-static-ary-ptrn-rest-ary-rest.js fails +language/statements/class/dstr-meth-static-ary-ptrn-rest-id-elision-next-err.js fails +language/statements/class/dstr-meth-static-ary-ptrn-rest-id-elision.js fails +language/statements/class/dstr-meth-static-ary-ptrn-rest-id-exhausted.js fails +language/statements/class/dstr-meth-static-ary-ptrn-rest-id-iter-step-err.js fails +language/statements/class/dstr-meth-static-ary-ptrn-rest-id-iter-val-err.js fails +language/statements/class/dstr-meth-static-ary-ptrn-rest-id.js fails +language/statements/class/dstr-meth-static-ary-ptrn-rest-obj-id.js fails +language/statements/class/dstr-meth-static-ary-ptrn-rest-obj-prop-id.js fails +language/statements/class/dstr-meth-static-dflt-ary-init-iter-close.js fails +language/statements/class/dstr-meth-static-dflt-ary-init-iter-get-err.js fails +language/statements/class/dstr-meth-static-dflt-ary-init-iter-no-close.js fails +language/statements/class/dstr-meth-static-dflt-ary-name-iter-val.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-elem-init.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-elem-iter.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-elision-init.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-elision-iter.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-empty-init.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-empty-iter.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-rest-init.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-rest-iter.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-val-null.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-exhausted.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-class.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-hole.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-skipped.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-throws.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-undef.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-unresolvable.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-iter-complete.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-iter-done.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-iter-step-err.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-iter-val-err.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-iter-val.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-obj-id-init.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-obj-id.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-obj-prop-id-init.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-obj-prop-id.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-obj-val-null.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-obj-val-undef.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elision-exhausted.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elision-step-err.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-elision.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-empty.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-ary-elem.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-ary-elision.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-ary-empty.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-ary-rest.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-id-elision-next-err.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-id-elision.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-id-exhausted.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-id-iter-step-err.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-id-iter-val-err.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-id.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-obj-id.js fails +language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-obj-prop-id.js fails +language/statements/class/dstr-meth-static-dflt-obj-init-null.js fails +language/statements/class/dstr-meth-static-dflt-obj-init-undefined.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-empty.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-id-get-value-err.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-id-init-fn-name-arrow.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-id-init-fn-name-class.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-id-init-fn-name-cover.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-id-init-fn-name-fn.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-id-init-fn-name-gen.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-id-init-skipped.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-id-init-throws.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-id-init-unresolvable.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-id-trailing-comma.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-list-err.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-ary-init.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-ary-trailing-comma.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-ary-value-null.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-ary.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-eval-err.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-id-get-value-err.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-id-init-skipped.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-id-init-throws.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-id-init-unresolvable.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-id-init.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-id-trailing-comma.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-id.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-obj-init.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-obj-value-null.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-obj-value-undef.js fails +language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-obj.js fails +language/statements/class/dstr-meth-static-obj-init-null.js fails +language/statements/class/dstr-meth-static-obj-init-undefined.js fails +language/statements/class/dstr-meth-static-obj-ptrn-empty.js fails +language/statements/class/dstr-meth-static-obj-ptrn-id-get-value-err.js fails +language/statements/class/dstr-meth-static-obj-ptrn-id-init-fn-name-arrow.js fails +language/statements/class/dstr-meth-static-obj-ptrn-id-init-fn-name-class.js fails +language/statements/class/dstr-meth-static-obj-ptrn-id-init-fn-name-cover.js fails +language/statements/class/dstr-meth-static-obj-ptrn-id-init-fn-name-fn.js fails +language/statements/class/dstr-meth-static-obj-ptrn-id-init-fn-name-gen.js fails +language/statements/class/dstr-meth-static-obj-ptrn-id-init-skipped.js fails +language/statements/class/dstr-meth-static-obj-ptrn-id-init-throws.js fails +language/statements/class/dstr-meth-static-obj-ptrn-id-init-unresolvable.js fails +language/statements/class/dstr-meth-static-obj-ptrn-id-trailing-comma.js fails +language/statements/class/dstr-meth-static-obj-ptrn-list-err.js fails +language/statements/class/dstr-meth-static-obj-ptrn-prop-ary-init.js fails +language/statements/class/dstr-meth-static-obj-ptrn-prop-ary-trailing-comma.js fails +language/statements/class/dstr-meth-static-obj-ptrn-prop-ary-value-null.js fails +language/statements/class/dstr-meth-static-obj-ptrn-prop-ary.js fails +language/statements/class/dstr-meth-static-obj-ptrn-prop-eval-err.js fails +language/statements/class/dstr-meth-static-obj-ptrn-prop-id-get-value-err.js fails +language/statements/class/dstr-meth-static-obj-ptrn-prop-id-init-skipped.js fails +language/statements/class/dstr-meth-static-obj-ptrn-prop-id-init-throws.js fails +language/statements/class/dstr-meth-static-obj-ptrn-prop-id-init-unresolvable.js fails +language/statements/class/dstr-meth-static-obj-ptrn-prop-id-init.js fails +language/statements/class/dstr-meth-static-obj-ptrn-prop-id-trailing-comma.js fails +language/statements/class/dstr-meth-static-obj-ptrn-prop-id.js fails +language/statements/class/dstr-meth-static-obj-ptrn-prop-obj-init.js fails +language/statements/class/dstr-meth-static-obj-ptrn-prop-obj-value-null.js fails +language/statements/class/dstr-meth-static-obj-ptrn-prop-obj-value-undef.js fails +language/statements/class/dstr-meth-static-obj-ptrn-prop-obj.js fails +language/statements/class/gen-meth-dflt-params-abrupt.js fails +language/statements/class/gen-meth-dflt-params-arg-val-not-undefined.js fails +language/statements/class/gen-meth-dflt-params-arg-val-undefined.js fails +language/statements/class/gen-meth-dflt-params-ref-later.js fails +language/statements/class/gen-meth-dflt-params-ref-prior.js fails +language/statements/class/gen-meth-dflt-params-ref-self.js fails +language/statements/class/gen-meth-dflt-params-trailing-comma.js fails +language/statements/class/gen-meth-params-trailing-comma-multiple.js fails +language/statements/class/gen-meth-params-trailing-comma-single.js fails +language/statements/class/gen-meth-static-dflt-params-abrupt.js fails +language/statements/class/gen-meth-static-dflt-params-arg-val-not-undefined.js fails +language/statements/class/gen-meth-static-dflt-params-arg-val-undefined.js fails +language/statements/class/gen-meth-static-dflt-params-ref-later.js fails +language/statements/class/gen-meth-static-dflt-params-ref-prior.js fails +language/statements/class/gen-meth-static-dflt-params-ref-self.js fails +language/statements/class/gen-meth-static-dflt-params-trailing-comma.js fails +language/statements/class/gen-meth-static-params-trailing-comma-multiple.js fails +language/statements/class/gen-meth-static-params-trailing-comma-single.js fails +language/statements/class/gen-method-length-dflt.js fails +language/statements/class/gen-method-static-yield-spread-arr-multiple.js fails +language/statements/class/gen-method-static-yield-spread-arr-single.js fails +language/statements/class/gen-method-yield-spread-arr-multiple.js fails +language/statements/class/gen-method-yield-spread-arr-single.js fails +language/statements/class/meth-dflt-params-abrupt.js fails +language/statements/class/meth-dflt-params-arg-val-not-undefined.js fails +language/statements/class/meth-dflt-params-arg-val-undefined.js fails +language/statements/class/meth-dflt-params-ref-later.js fails +language/statements/class/meth-dflt-params-ref-prior.js fails +language/statements/class/meth-dflt-params-ref-self.js fails +language/statements/class/meth-dflt-params-trailing-comma.js fails +language/statements/class/meth-params-trailing-comma-multiple.js fails +language/statements/class/meth-params-trailing-comma-single.js fails +language/statements/class/meth-static-dflt-params-abrupt.js fails +language/statements/class/meth-static-dflt-params-arg-val-not-undefined.js fails +language/statements/class/meth-static-dflt-params-arg-val-undefined.js fails +language/statements/class/meth-static-dflt-params-ref-later.js fails +language/statements/class/meth-static-dflt-params-ref-prior.js fails +language/statements/class/meth-static-dflt-params-ref-self.js fails +language/statements/class/meth-static-dflt-params-trailing-comma.js fails +language/statements/class/meth-static-params-trailing-comma-multiple.js fails +language/statements/class/meth-static-params-trailing-comma-single.js fails +language/statements/class/method-length-dflt.js fails +language/statements/class/name-binding/basic.js fails +language/statements/class/name-binding/const.js fails +language/statements/class/name-binding/expression.js fails +language/statements/class/name-binding/in-extends-expression-assigned.js fails +language/statements/class/name-binding/in-extends-expression-grouped.js fails +language/statements/class/name-binding/in-extends-expression.js fails +language/statements/class/name.js fails +language/statements/class/params-dflt-gen-meth-args-unmapped.js fails +language/statements/class/params-dflt-gen-meth-ref-arguments.js fails +language/statements/class/params-dflt-gen-meth-static-args-unmapped.js fails +language/statements/class/params-dflt-gen-meth-static-ref-arguments.js fails +language/statements/class/params-dflt-meth-args-unmapped.js fails +language/statements/class/params-dflt-meth-ref-arguments.js fails +language/statements/class/params-dflt-meth-static-args-unmapped.js fails +language/statements/class/params-dflt-meth-static-ref-arguments.js fails +language/statements/class/restricted-properties.js fails +language/statements/class/scope-gen-meth-paramsbody-var-close.js fails +language/statements/class/scope-gen-meth-paramsbody-var-open.js fails +language/statements/class/scope-meth-paramsbody-var-close.js fails +language/statements/class/scope-meth-paramsbody-var-open.js fails +language/statements/class/scope-name-lex-close.js fails +language/statements/class/scope-name-lex-open-heritage.js fails +language/statements/class/scope-name-lex-open-no-heritage.js fails +language/statements/class/scope-setter-paramsbody-var-close.js fails +language/statements/class/scope-setter-paramsbody-var-open.js fails +language/statements/class/scope-static-gen-meth-paramsbody-var-close.js fails +language/statements/class/scope-static-gen-meth-paramsbody-var-open.js fails +language/statements/class/scope-static-meth-paramsbody-var-close.js fails +language/statements/class/scope-static-meth-paramsbody-var-open.js fails +language/statements/class/scope-static-setter-paramsbody-var-close.js fails +language/statements/class/scope-static-setter-paramsbody-var-open.js fails +language/statements/class/setter-length-dflt.js fails +language/statements/class/static-method-gen-non-configurable-err.js fails +language/statements/class/static-method-length-dflt.js fails +language/statements/class/static-method-non-configurable-err.js fails +language/statements/class/strict-mode/arguments-callee.js fails +language/statements/class/subclass/binding.js fails +language/statements/class/subclass/bound-function.js fails +language/statements/class/subclass/builtin-objects/Array/contructor-calls-super-multiple-arguments.js fails +language/statements/class/subclass/builtin-objects/Array/contructor-calls-super-single-argument.js fails +language/statements/class/subclass/builtin-objects/Array/length.js fails +language/statements/class/subclass/builtin-objects/Array/regular-subclassing.js fails +language/statements/class/subclass/builtin-objects/Array/super-must-be-called.js fails +language/statements/class/subclass/builtin-objects/ArrayBuffer/regular-subclassing.js fails +language/statements/class/subclass/builtin-objects/ArrayBuffer/super-must-be-called.js fails +language/statements/class/subclass/builtin-objects/Boolean/regular-subclassing.js fails +language/statements/class/subclass/builtin-objects/Boolean/super-must-be-called.js fails +language/statements/class/subclass/builtin-objects/DataView/regular-subclassing.js fails +language/statements/class/subclass/builtin-objects/DataView/super-must-be-called.js fails +language/statements/class/subclass/builtin-objects/Date/regular-subclassing.js fails +language/statements/class/subclass/builtin-objects/Date/super-must-be-called.js fails +language/statements/class/subclass/builtin-objects/Error/message-property-assignment.js fails +language/statements/class/subclass/builtin-objects/Error/regular-subclassing.js fails +language/statements/class/subclass/builtin-objects/Error/super-must-be-called.js fails +language/statements/class/subclass/builtin-objects/Function/instance-length.js fails +language/statements/class/subclass/builtin-objects/Function/instance-name.js fails +language/statements/class/subclass/builtin-objects/Function/regular-subclassing.js fails +language/statements/class/subclass/builtin-objects/Function/super-must-be-called.js fails +language/statements/class/subclass/builtin-objects/GeneratorFunction/instance-length.js fails +language/statements/class/subclass/builtin-objects/GeneratorFunction/instance-name.js fails +language/statements/class/subclass/builtin-objects/GeneratorFunction/instance-prototype.js fails +language/statements/class/subclass/builtin-objects/GeneratorFunction/regular-subclassing.js fails +language/statements/class/subclass/builtin-objects/GeneratorFunction/super-must-be-called.js fails +language/statements/class/subclass/builtin-objects/Map/regular-subclassing.js fails +language/statements/class/subclass/builtin-objects/Map/super-must-be-called.js fails +language/statements/class/subclass/builtin-objects/NativeError/EvalError-message.js fails +language/statements/class/subclass/builtin-objects/NativeError/EvalError-name.js fails +language/statements/class/subclass/builtin-objects/NativeError/EvalError-super.js fails +language/statements/class/subclass/builtin-objects/NativeError/RangeError-message.js fails +language/statements/class/subclass/builtin-objects/NativeError/RangeError-name.js fails +language/statements/class/subclass/builtin-objects/NativeError/RangeError-super.js fails +language/statements/class/subclass/builtin-objects/NativeError/ReferenceError-message.js fails +language/statements/class/subclass/builtin-objects/NativeError/ReferenceError-name.js fails +language/statements/class/subclass/builtin-objects/NativeError/ReferenceError-super.js fails +language/statements/class/subclass/builtin-objects/NativeError/SyntaxError-message.js fails +language/statements/class/subclass/builtin-objects/NativeError/SyntaxError-name.js fails +language/statements/class/subclass/builtin-objects/NativeError/SyntaxError-super.js fails +language/statements/class/subclass/builtin-objects/NativeError/TypeError-message.js fails +language/statements/class/subclass/builtin-objects/NativeError/TypeError-name.js fails +language/statements/class/subclass/builtin-objects/NativeError/TypeError-super.js fails +language/statements/class/subclass/builtin-objects/NativeError/URIError-message.js fails +language/statements/class/subclass/builtin-objects/NativeError/URIError-name.js fails +language/statements/class/subclass/builtin-objects/NativeError/URIError-super.js fails +language/statements/class/subclass/builtin-objects/Number/regular-subclassing.js fails +language/statements/class/subclass/builtin-objects/Number/super-must-be-called.js fails +language/statements/class/subclass/builtin-objects/Object/constructor-return-undefined-throws.js fails +language/statements/class/subclass/builtin-objects/Object/constructor-returns-non-object.js fails +language/statements/class/subclass/builtin-objects/Object/regular-subclassing.js fails +language/statements/class/subclass/builtin-objects/Object/replacing-prototype.js fails +language/statements/class/subclass/builtin-objects/Promise/regular-subclassing.js fails +language/statements/class/subclass/builtin-objects/Promise/super-must-be-called.js fails +language/statements/class/subclass/builtin-objects/Proxy/no-prototype-throws.js fails +language/statements/class/subclass/builtin-objects/RegExp/lastIndex.js fails +language/statements/class/subclass/builtin-objects/RegExp/regular-subclassing.js fails +language/statements/class/subclass/builtin-objects/RegExp/super-must-be-called.js fails +language/statements/class/subclass/builtin-objects/Set/regular-subclassing.js fails +language/statements/class/subclass/builtin-objects/Set/super-must-be-called.js fails +language/statements/class/subclass/builtin-objects/String/length.js fails +language/statements/class/subclass/builtin-objects/String/regular-subclassing.js fails +language/statements/class/subclass/builtin-objects/String/super-must-be-called.js fails +language/statements/class/subclass/builtin-objects/Symbol/new-symbol-with-super-throws.js fails +language/statements/class/subclass/builtin-objects/Symbol/symbol-valid-as-extends-value.js fails +language/statements/class/subclass/builtin-objects/TypedArray/regular-subclassing.js fails +language/statements/class/subclass/builtin-objects/TypedArray/super-must-be-called.js fails +language/statements/class/subclass/builtin-objects/WeakMap/regular-subclassing.js fails +language/statements/class/subclass/builtin-objects/WeakMap/super-must-be-called.js fails +language/statements/class/subclass/builtin-objects/WeakSet/regular-subclassing.js fails +language/statements/class/subclass/builtin-objects/WeakSet/super-must-be-called.js fails +language/statements/class/subclass/builtins.js fails +language/statements/class/subclass/class-definition-evaluation-empty-constructor-heritage-present.js fails +language/statements/class/subclass/class-definition-null-proto-contains-return-override.js fails +language/statements/class/subclass/class-definition-null-proto-missing-return-override.js fails +language/statements/class/subclass/class-definition-null-proto-super.js fails +language/statements/class/subclass/class-definition-null-proto-this.js fails +language/statements/class/subclass/class-definition-null-proto.js fails +language/statements/class/subclass/class-definition-parent-proto-null.js fails +language/statements/class/subclass/class-definition-superclass-generator.js fails +language/statements/class/subclass/default-constructor-2.js fails +language/statements/class/subclass/default-constructor-spread-override.js fails +language/statements/class/subclass/default-constructor.js fails +language/statements/class/subclass/derived-class-return-override-with-boolean.js fails +language/statements/class/subclass/derived-class-return-override-with-empty.js fails +language/statements/class/subclass/derived-class-return-override-with-null.js fails +language/statements/class/subclass/derived-class-return-override-with-number.js fails +language/statements/class/subclass/derived-class-return-override-with-object.js fails +language/statements/class/subclass/derived-class-return-override-with-string.js fails +language/statements/class/subclass/derived-class-return-override-with-symbol.js fails +language/statements/class/subclass/derived-class-return-override-with-this.js fails +language/statements/class/subclass/derived-class-return-override-with-undefined.js fails +language/statements/class/subclass/superclass-prototype-setter-constructor.js fails +language/statements/class/subclass/superclass-prototype-setter-method-override.js fails +language/statements/class/subclass/superclass-static-method-override.js fails +language/statements/class/super/in-constructor.js fails +language/statements/class/super/in-getter.js fails +language/statements/class/super/in-methods.js fails +language/statements/class/super/in-setter.js fails +language/statements/class/super/in-static-getter.js fails +language/statements/class/super/in-static-methods.js fails +language/statements/class/super/in-static-setter.js fails +language/statements/class/syntax/class-body-has-direct-super-class-heritage.js fails +language/statements/class/syntax/class-body-method-definition-super-property.js fails +language/statements/class/syntax/class-declaration-binding-identifier-class-element-list.js fails +language/statements/class/syntax/class-declaration-computed-method-definition.js fails +language/statements/class/syntax/class-declaration-computed-method-generator-definition.js fails +language/statements/class/syntax/class-declaration-heritage-identifier-reference-class-element-list.js fails +language/statements/class/syntax/class-expression-binding-identifier-opt-class-element-list.js fails +language/statements/class/syntax/class-expression-heritage-identifier-reference.js fails +language/statements/class/syntax/class-expression.js fails +language/statements/class/syntax/class-method-propname-constructor.js fails +language/statements/class/syntax/early-errors/class-body-constructor-empty-missing-class-heritage.js fails +language/statements/const/block-local-closure-get-before-initialization.js fails +language/statements/const/block-local-use-before-initialization-in-declaration-statement.js fails +language/statements/const/block-local-use-before-initialization-in-prior-statement.js fails +language/statements/const/cptn-value.js fails +language/statements/const/dstr-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/statements/const/dstr-ary-ptrn-elem-id-init-fn-name-class.js fails +language/statements/const/dstr-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/statements/const/dstr-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/statements/const/dstr-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/statements/const/dstr-obj-ptrn-id-init-fn-name-arrow.js fails +language/statements/const/dstr-obj-ptrn-id-init-fn-name-class.js fails +language/statements/const/dstr-obj-ptrn-id-init-fn-name-cover.js fails +language/statements/const/dstr-obj-ptrn-id-init-fn-name-fn.js fails +language/statements/const/dstr-obj-ptrn-id-init-fn-name-gen.js fails +language/statements/const/fn-name-class.js fails +language/statements/const/function-local-closure-get-before-initialization.js fails +language/statements/const/function-local-use-before-initialization-in-declaration-statement.js fails +language/statements/const/function-local-use-before-initialization-in-prior-statement.js fails +language/statements/const/global-closure-get-before-initialization.js fails +language/statements/const/global-use-before-initialization-in-declaration-statement.js fails +language/statements/const/global-use-before-initialization-in-prior-statement.js fails +language/statements/const/syntax/const-invalid-assignment-next-expression-for.js fails +language/statements/const/syntax/const-invalid-assignment-statement-body-for-in.js fails +language/statements/const/syntax/const-invalid-assignment-statement-body-for-of.js fails +language/statements/do-while/tco-body.js strictFails +language/statements/empty/cptn-value.js fails +language/statements/for-in/head-const-bound-names-fordecl-tdz.js fails +language/statements/for-in/head-const-fresh-binding-per-iteration.js fails +language/statements/for-in/head-let-bound-names-fordecl-tdz.js fails +language/statements/for-in/head-lhs-let.js sloppyFails +language/statements/for-in/head-var-bound-names-let.js sloppyFails +language/statements/for-in/identifier-let-allowed-as-lefthandside-expression-not-strict.js sloppyFails +language/statements/for-in/scope-body-lex-open.js fails +language/statements/for-in/scope-head-lex-close.js fails +language/statements/for-in/scope-head-lex-open.js fails +language/statements/for-of/body-dstr-assign-error.js fails +language/statements/for-of/body-put-error.js fails +language/statements/for-of/dstr-array-elem-init-fn-name-class.js fails +language/statements/for-of/dstr-array-elem-init-let.js fails +language/statements/for-of/dstr-array-elem-iter-rtrn-close-err.js fails +language/statements/for-of/dstr-array-elem-iter-rtrn-close-null.js fails +language/statements/for-of/dstr-array-elem-iter-rtrn-close.js fails +language/statements/for-of/dstr-array-elem-iter-thrw-close-err.js fails +language/statements/for-of/dstr-array-elem-iter-thrw-close.js fails +language/statements/for-of/dstr-array-elem-nested-array-yield-expr.js fails +language/statements/for-of/dstr-array-elem-nested-array-yield-ident-valid.js sloppyFails +language/statements/for-of/dstr-array-elem-nested-obj-yield-expr.js fails +language/statements/for-of/dstr-array-elem-nested-obj-yield-ident-valid.js sloppyFails +language/statements/for-of/dstr-array-elem-put-const.js fails +language/statements/for-of/dstr-array-elem-put-let.js fails +language/statements/for-of/dstr-array-elem-put-prop-ref-no-get.js fails +language/statements/for-of/dstr-array-elem-put-prop-ref-user-err.js fails +language/statements/for-of/dstr-array-elem-put-prop-ref.js fails +language/statements/for-of/dstr-array-elem-target-yield-expr.js fails +language/statements/for-of/dstr-array-elem-target-yield-valid.js sloppyFails +language/statements/for-of/dstr-array-elem-trlg-iter-elision-iter-abpt.js fails +language/statements/for-of/dstr-array-elem-trlg-iter-elision-iter-nrml-close-err.js fails +language/statements/for-of/dstr-array-elem-trlg-iter-elision-iter-nrml-close-skip.js fails +language/statements/for-of/dstr-array-elem-trlg-iter-elision-iter-nrml-close.js fails +language/statements/for-of/dstr-array-elem-trlg-iter-list-rtrn-close-err.js fails +language/statements/for-of/dstr-array-elem-trlg-iter-list-rtrn-close-null.js fails +language/statements/for-of/dstr-array-elem-trlg-iter-list-rtrn-close.js fails +language/statements/for-of/dstr-array-elem-trlg-iter-list-thrw-close-err.js fails +language/statements/for-of/dstr-array-elem-trlg-iter-list-thrw-close.js fails +language/statements/for-of/dstr-array-elem-trlg-iter-rest-nrml-close-skip.js fails +language/statements/for-of/dstr-array-elem-trlg-iter-rest-rtrn-close-err.js fails +language/statements/for-of/dstr-array-elem-trlg-iter-rest-rtrn-close-null.js fails +language/statements/for-of/dstr-array-elem-trlg-iter-rest-rtrn-close.js fails +language/statements/for-of/dstr-array-elem-trlg-iter-rest-thrw-close-err.js fails +language/statements/for-of/dstr-array-elem-trlg-iter-rest-thrw-close.js fails +language/statements/for-of/dstr-array-elision-iter-abpt.js fails +language/statements/for-of/dstr-array-elision-iter-nrml-close-err.js fails +language/statements/for-of/dstr-array-elision-iter-nrml-close-skip.js fails +language/statements/for-of/dstr-array-elision-iter-nrml-close.js fails +language/statements/for-of/dstr-array-iteration.js fails +language/statements/for-of/dstr-array-rest-after-element.js fails +language/statements/for-of/dstr-array-rest-after-elision.js fails +language/statements/for-of/dstr-array-rest-elision.js fails +language/statements/for-of/dstr-array-rest-iter-rtrn-close-err.js fails +language/statements/for-of/dstr-array-rest-iter-rtrn-close-null.js fails +language/statements/for-of/dstr-array-rest-iter-rtrn-close.js fails +language/statements/for-of/dstr-array-rest-iter-thrw-close-err.js fails +language/statements/for-of/dstr-array-rest-iter-thrw-close.js fails +language/statements/for-of/dstr-array-rest-lref-err.js fails +language/statements/for-of/dstr-array-rest-lref.js fails +language/statements/for-of/dstr-array-rest-nested-array-iter-thrw-close-skip.js fails +language/statements/for-of/dstr-array-rest-nested-array-null.js fails +language/statements/for-of/dstr-array-rest-nested-array-undefined-hole.js fails +language/statements/for-of/dstr-array-rest-nested-array-undefined-own.js fails +language/statements/for-of/dstr-array-rest-nested-array-undefined.js fails +language/statements/for-of/dstr-array-rest-nested-array-yield-expr.js fails +language/statements/for-of/dstr-array-rest-nested-array-yield-ident-valid.js sloppyFails +language/statements/for-of/dstr-array-rest-nested-array.js fails +language/statements/for-of/dstr-array-rest-nested-obj-null.js fails +language/statements/for-of/dstr-array-rest-nested-obj-undefined-hole.js fails +language/statements/for-of/dstr-array-rest-nested-obj-undefined-own.js fails +language/statements/for-of/dstr-array-rest-nested-obj-undefined.js fails +language/statements/for-of/dstr-array-rest-nested-obj-yield-expr.js fails +language/statements/for-of/dstr-array-rest-nested-obj-yield-ident-valid.js sloppyFails +language/statements/for-of/dstr-array-rest-nested-obj.js fails +language/statements/for-of/dstr-array-rest-put-const.js fails +language/statements/for-of/dstr-array-rest-put-let.js fails +language/statements/for-of/dstr-array-rest-put-prop-ref-no-get.js fails +language/statements/for-of/dstr-array-rest-put-prop-ref-user-err-iter-close-skip.js fails +language/statements/for-of/dstr-array-rest-put-prop-ref-user-err.js fails +language/statements/for-of/dstr-array-rest-put-prop-ref.js fails +language/statements/for-of/dstr-array-rest-put-unresolvable-no-strict.js sloppyFails +language/statements/for-of/dstr-array-rest-put-unresolvable-strict.js strictFails +language/statements/for-of/dstr-array-rest-yield-expr.js fails +language/statements/for-of/dstr-array-rest-yield-ident-valid.js sloppyFails +language/statements/for-of/dstr-const-ary-init-iter-close.js fails +language/statements/for-of/dstr-const-ary-init-iter-get-err.js fails +language/statements/for-of/dstr-const-ary-init-iter-no-close.js fails +language/statements/for-of/dstr-const-ary-name-iter-val.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-ary-elem-init.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-ary-elem-iter.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-ary-rest-init.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-ary-rest-iter.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-ary-val-null.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-id-init-exhausted.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-id-init-fn-name-class.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-id-init-hole.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-id-init-skipped.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-id-init-throws.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-id-init-undef.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-id-init-unresolvable.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-id-iter-complete.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-id-iter-done.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-id-iter-step-err.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-id-iter-val-err.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-id-iter-val.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-obj-id-init.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-obj-id.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-obj-prop-id-init.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-obj-prop-id.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-obj-val-null.js fails +language/statements/for-of/dstr-const-ary-ptrn-elem-obj-val-undef.js fails +language/statements/for-of/dstr-const-ary-ptrn-rest-ary-elem.js fails +language/statements/for-of/dstr-const-ary-ptrn-rest-ary-rest.js fails +language/statements/for-of/dstr-const-ary-ptrn-rest-id-elision-next-err.js fails +language/statements/for-of/dstr-const-ary-ptrn-rest-id-elision.js fails +language/statements/for-of/dstr-const-ary-ptrn-rest-id-exhausted.js fails +language/statements/for-of/dstr-const-ary-ptrn-rest-id-iter-close.js fails +language/statements/for-of/dstr-const-ary-ptrn-rest-id-iter-step-err.js fails +language/statements/for-of/dstr-const-ary-ptrn-rest-id-iter-val-err.js fails +language/statements/for-of/dstr-const-ary-ptrn-rest-id.js fails +language/statements/for-of/dstr-const-ary-ptrn-rest-obj-id.js fails +language/statements/for-of/dstr-const-ary-ptrn-rest-obj-prop-id.js fails +language/statements/for-of/dstr-const-obj-ptrn-id-get-value-err.js fails +language/statements/for-of/dstr-const-obj-ptrn-id-init-fn-name-arrow.js fails +language/statements/for-of/dstr-const-obj-ptrn-id-init-fn-name-class.js fails +language/statements/for-of/dstr-const-obj-ptrn-id-init-fn-name-cover.js fails +language/statements/for-of/dstr-const-obj-ptrn-id-init-fn-name-fn.js fails +language/statements/for-of/dstr-const-obj-ptrn-id-init-fn-name-gen.js fails +language/statements/for-of/dstr-const-obj-ptrn-id-init-skipped.js fails +language/statements/for-of/dstr-const-obj-ptrn-id-init-throws.js fails +language/statements/for-of/dstr-const-obj-ptrn-id-init-unresolvable.js fails +language/statements/for-of/dstr-const-obj-ptrn-id-trailing-comma.js fails +language/statements/for-of/dstr-const-obj-ptrn-list-err.js fails +language/statements/for-of/dstr-const-obj-ptrn-prop-ary-init.js fails +language/statements/for-of/dstr-const-obj-ptrn-prop-ary-trailing-comma.js fails +language/statements/for-of/dstr-const-obj-ptrn-prop-ary-value-null.js fails +language/statements/for-of/dstr-const-obj-ptrn-prop-ary.js fails +language/statements/for-of/dstr-const-obj-ptrn-prop-eval-err.js fails +language/statements/for-of/dstr-const-obj-ptrn-prop-id-get-value-err.js fails +language/statements/for-of/dstr-const-obj-ptrn-prop-id-init-skipped.js fails +language/statements/for-of/dstr-const-obj-ptrn-prop-id-init-throws.js fails +language/statements/for-of/dstr-const-obj-ptrn-prop-id-init-unresolvable.js fails +language/statements/for-of/dstr-const-obj-ptrn-prop-id-init.js fails +language/statements/for-of/dstr-const-obj-ptrn-prop-id-trailing-comma.js fails +language/statements/for-of/dstr-const-obj-ptrn-prop-id.js fails +language/statements/for-of/dstr-const-obj-ptrn-prop-obj-init.js fails +language/statements/for-of/dstr-const-obj-ptrn-prop-obj-value-null.js fails +language/statements/for-of/dstr-const-obj-ptrn-prop-obj-value-undef.js fails +language/statements/for-of/dstr-const-obj-ptrn-prop-obj.js fails +language/statements/for-of/dstr-let-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/statements/for-of/dstr-let-ary-ptrn-elem-id-init-fn-name-class.js fails +language/statements/for-of/dstr-let-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/statements/for-of/dstr-let-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/statements/for-of/dstr-let-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/statements/for-of/dstr-let-obj-ptrn-id-init-fn-name-arrow.js fails +language/statements/for-of/dstr-let-obj-ptrn-id-init-fn-name-class.js fails +language/statements/for-of/dstr-let-obj-ptrn-id-init-fn-name-cover.js fails +language/statements/for-of/dstr-let-obj-ptrn-id-init-fn-name-fn.js fails +language/statements/for-of/dstr-let-obj-ptrn-id-init-fn-name-gen.js fails +language/statements/for-of/dstr-obj-empty-null.js fails +language/statements/for-of/dstr-obj-empty-undef.js fails +language/statements/for-of/dstr-obj-id-init-assignment-missing.js fails +language/statements/for-of/dstr-obj-id-init-assignment-null.js fails +language/statements/for-of/dstr-obj-id-init-assignment-truthy.js fails +language/statements/for-of/dstr-obj-id-init-assignment-undef.js fails +language/statements/for-of/dstr-obj-id-init-evaluation.js fails +language/statements/for-of/dstr-obj-id-init-fn-name-arrow.js fails +language/statements/for-of/dstr-obj-id-init-fn-name-class.js fails +language/statements/for-of/dstr-obj-id-init-fn-name-cover.js fails +language/statements/for-of/dstr-obj-id-init-fn-name-fn.js fails +language/statements/for-of/dstr-obj-id-init-fn-name-gen.js fails +language/statements/for-of/dstr-obj-id-init-in.js fails +language/statements/for-of/dstr-obj-id-init-let.js fails +language/statements/for-of/dstr-obj-id-init-order.js fails +language/statements/for-of/dstr-obj-id-init-simple-no-strict.js sloppyFails +language/statements/for-of/dstr-obj-id-init-yield-expr.js fails +language/statements/for-of/dstr-obj-id-init-yield-ident-valid.js sloppyFails +language/statements/for-of/dstr-obj-id-put-const.js fails +language/statements/for-of/dstr-obj-id-put-let.js fails +language/statements/for-of/dstr-obj-prop-elem-init-fn-name-class.js fails +language/statements/for-of/dstr-obj-prop-elem-init-let.js fails +language/statements/for-of/dstr-obj-prop-elem-target-yield-expr.js fails +language/statements/for-of/dstr-obj-prop-elem-target-yield-ident-valid.js sloppyFails +language/statements/for-of/dstr-obj-prop-nested-obj-yield-expr.js fails +language/statements/for-of/dstr-obj-prop-nested-obj-yield-ident-valid.js sloppyFails +language/statements/for-of/dstr-obj-prop-put-const.js fails +language/statements/for-of/dstr-obj-prop-put-let.js fails +language/statements/for-of/dstr-obj-prop-put-prop-ref-no-get.js fails +language/statements/for-of/dstr-obj-prop-put-prop-ref-user-err.js fails +language/statements/for-of/dstr-obj-prop-put-prop-ref.js fails +language/statements/for-of/dstr-var-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/statements/for-of/dstr-var-ary-ptrn-elem-id-init-fn-name-class.js fails +language/statements/for-of/dstr-var-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/statements/for-of/dstr-var-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/statements/for-of/dstr-var-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/statements/for-of/dstr-var-obj-ptrn-id-init-fn-name-arrow.js fails +language/statements/for-of/dstr-var-obj-ptrn-id-init-fn-name-class.js fails +language/statements/for-of/dstr-var-obj-ptrn-id-init-fn-name-cover.js fails +language/statements/for-of/dstr-var-obj-ptrn-id-init-fn-name-fn.js fails +language/statements/for-of/dstr-var-obj-ptrn-id-init-fn-name-gen.js fails +language/statements/for-of/generator-close-via-continue.js fails +language/statements/for-of/generator-close-via-return.js fails +language/statements/for-of/generator-close-via-throw.js fails +language/statements/for-of/head-const-bound-names-fordecl-tdz.js fails +language/statements/for-of/head-const-fresh-binding-per-iteration.js fails +language/statements/for-of/head-let-bound-names-fordecl-tdz.js fails +language/statements/for-of/head-var-bound-names-let.js sloppyFails +language/statements/for-of/iterator-as-proxy.js fails +language/statements/for-of/iterator-close-via-continue.js fails +language/statements/for-of/iterator-close-via-return.js fails +language/statements/for-of/iterator-close-via-throw.js fails +language/statements/for-of/iterator-next-reference.js fails +language/statements/for-of/iterator-next-result-type.js fails +language/statements/for-of/map-contract-expand.js fails +language/statements/for-of/map-contract.js fails +language/statements/for-of/map-expand-contract.js fails +language/statements/for-of/map-expand.js fails +language/statements/for-of/map.js fails +language/statements/for-of/scope-body-lex-open.js fails +language/statements/for-of/scope-head-lex-close.js fails +language/statements/for-of/scope-head-lex-open.js fails +language/statements/for-of/set-contract-expand.js fails +language/statements/for-of/set-contract.js fails +language/statements/for-of/set-expand-contract.js fails +language/statements/for-of/set-expand.js fails +language/statements/for-of/set.js fails +language/statements/for-of/yield-star-from-catch.js fails +language/statements/for-of/yield-star-from-finally.js fails +language/statements/for-of/yield-star-from-try.js fails +language/statements/for-of/yield-star.js fails +language/statements/for/S12.6.3_A9.1.js fails +language/statements/for/S12.6.3_A9.js fails +language/statements/for/dstr-const-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/statements/for/dstr-const-ary-ptrn-elem-id-init-fn-name-class.js fails +language/statements/for/dstr-const-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/statements/for/dstr-const-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/statements/for/dstr-const-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/statements/for/dstr-const-obj-ptrn-id-init-fn-name-arrow.js fails +language/statements/for/dstr-const-obj-ptrn-id-init-fn-name-class.js fails +language/statements/for/dstr-const-obj-ptrn-id-init-fn-name-cover.js fails +language/statements/for/dstr-const-obj-ptrn-id-init-fn-name-fn.js fails +language/statements/for/dstr-const-obj-ptrn-id-init-fn-name-gen.js fails +language/statements/for/dstr-let-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/statements/for/dstr-let-ary-ptrn-elem-id-init-fn-name-class.js fails +language/statements/for/dstr-let-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/statements/for/dstr-let-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/statements/for/dstr-let-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/statements/for/dstr-let-obj-ptrn-id-init-fn-name-arrow.js fails +language/statements/for/dstr-let-obj-ptrn-id-init-fn-name-class.js fails +language/statements/for/dstr-let-obj-ptrn-id-init-fn-name-cover.js fails +language/statements/for/dstr-let-obj-ptrn-id-init-fn-name-fn.js fails +language/statements/for/dstr-let-obj-ptrn-id-init-fn-name-gen.js fails +language/statements/for/dstr-var-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/statements/for/dstr-var-ary-ptrn-elem-id-init-fn-name-class.js fails +language/statements/for/dstr-var-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/statements/for/dstr-var-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/statements/for/dstr-var-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/statements/for/dstr-var-obj-ptrn-id-init-fn-name-arrow.js fails +language/statements/for/dstr-var-obj-ptrn-id-init-fn-name-class.js fails +language/statements/for/dstr-var-obj-ptrn-id-init-fn-name-cover.js fails +language/statements/for/dstr-var-obj-ptrn-id-init-fn-name-fn.js fails +language/statements/for/dstr-var-obj-ptrn-id-init-fn-name-gen.js fails +language/statements/for/head-lhs-let.js sloppyFails +language/statements/for/scope-body-lex-open.js fails +language/statements/for/tco-const-body.js strictFails +language/statements/for/tco-let-body.js strictFails +language/statements/for/tco-lhs-body.js strictFails +language/statements/for/tco-var-body.js strictFails +language/statements/function/13.2-30-s.js fails +language/statements/function/S13_A15_T4.js sloppyFails +language/statements/function/arguments-with-arguments-fn.js sloppyFails +language/statements/function/arguments-with-arguments-lex.js sloppyFails +language/statements/function/cptn-decl.js fails +language/statements/function/dflt-params-ref-later.js fails +language/statements/function/dflt-params-ref-self.js fails +language/statements/function/dflt-params-trailing-comma.js fails +language/statements/function/dstr-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/statements/function/dstr-ary-ptrn-elem-id-init-fn-name-class.js fails +language/statements/function/dstr-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/statements/function/dstr-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/statements/function/dstr-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/statements/function/dstr-dflt-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/statements/function/dstr-dflt-ary-ptrn-elem-id-init-fn-name-class.js fails +language/statements/function/dstr-dflt-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/statements/function/dstr-dflt-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/statements/function/dstr-dflt-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/statements/function/dstr-dflt-obj-ptrn-id-init-fn-name-arrow.js fails +language/statements/function/dstr-dflt-obj-ptrn-id-init-fn-name-class.js fails +language/statements/function/dstr-dflt-obj-ptrn-id-init-fn-name-cover.js fails +language/statements/function/dstr-dflt-obj-ptrn-id-init-fn-name-fn.js fails +language/statements/function/dstr-dflt-obj-ptrn-id-init-fn-name-gen.js fails +language/statements/function/dstr-obj-ptrn-id-init-fn-name-arrow.js fails +language/statements/function/dstr-obj-ptrn-id-init-fn-name-class.js fails +language/statements/function/dstr-obj-ptrn-id-init-fn-name-cover.js fails +language/statements/function/dstr-obj-ptrn-id-init-fn-name-fn.js fails +language/statements/function/dstr-obj-ptrn-id-init-fn-name-gen.js fails +language/statements/function/param-dflt-yield-non-strict.js sloppyFails +language/statements/function/params-trailing-comma-multiple.js fails +language/statements/function/params-trailing-comma-single.js fails +language/statements/function/scope-body-lex-distinct.js sloppyFails +language/statements/function/scope-param-elem-var-close.js sloppyFails +language/statements/function/scope-param-elem-var-open.js sloppyFails +language/statements/function/scope-param-rest-elem-var-close.js sloppyFails +language/statements/function/scope-param-rest-elem-var-open.js sloppyFails +language/statements/function/scope-paramsbody-var-open.js fails +language/statements/generators/arguments-with-arguments-fn.js sloppyFails +language/statements/generators/arguments-with-arguments-lex.js sloppyFails +language/statements/generators/cptn-decl.js fails +language/statements/generators/default-proto.js fails +language/statements/generators/dflt-params-ref-later.js fails +language/statements/generators/dflt-params-ref-self.js fails +language/statements/generators/dflt-params-trailing-comma.js fails +language/statements/generators/dstr-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/statements/generators/dstr-ary-ptrn-elem-id-init-fn-name-class.js fails +language/statements/generators/dstr-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/statements/generators/dstr-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/statements/generators/dstr-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/statements/generators/dstr-dflt-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/statements/generators/dstr-dflt-ary-ptrn-elem-id-init-fn-name-class.js fails +language/statements/generators/dstr-dflt-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/statements/generators/dstr-dflt-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/statements/generators/dstr-dflt-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/statements/generators/dstr-dflt-obj-ptrn-id-init-fn-name-arrow.js fails +language/statements/generators/dstr-dflt-obj-ptrn-id-init-fn-name-class.js fails +language/statements/generators/dstr-dflt-obj-ptrn-id-init-fn-name-cover.js fails +language/statements/generators/dstr-dflt-obj-ptrn-id-init-fn-name-fn.js fails +language/statements/generators/dstr-dflt-obj-ptrn-id-init-fn-name-gen.js fails +language/statements/generators/dstr-obj-ptrn-id-init-fn-name-arrow.js fails +language/statements/generators/dstr-obj-ptrn-id-init-fn-name-class.js fails +language/statements/generators/dstr-obj-ptrn-id-init-fn-name-cover.js fails +language/statements/generators/dstr-obj-ptrn-id-init-fn-name-fn.js fails +language/statements/generators/dstr-obj-ptrn-id-init-fn-name-gen.js fails +language/statements/generators/params-trailing-comma-multiple.js fails +language/statements/generators/params-trailing-comma-single.js fails +language/statements/generators/scope-body-lex-distinct.js sloppyFails +language/statements/generators/scope-param-elem-var-close.js sloppyFails +language/statements/generators/scope-param-elem-var-open.js sloppyFails +language/statements/generators/scope-param-rest-elem-var-close.js sloppyFails +language/statements/generators/scope-param-rest-elem-var-open.js sloppyFails +language/statements/generators/scope-paramsbody-var-open.js fails +language/statements/generators/yield-as-function-expression-binding-identifier.js sloppyFails +language/statements/generators/yield-as-identifier-in-nested-function.js sloppyFails +language/statements/generators/yield-as-literal-property-name.js fails +language/statements/generators/yield-as-property-name.js fails +language/statements/generators/yield-identifier-non-strict.js sloppyFails +language/statements/generators/yield-spread-arr-multiple.js fails +language/statements/generators/yield-spread-arr-single.js fails +language/statements/generators/yield-star-before-newline.js fails +language/statements/if/cptn-no-else-true-abrupt-empty.js fails +language/statements/if/tco-else-body.js strictFails +language/statements/if/tco-if-body.js strictFails +language/statements/labeled/tco.js strictFails +language/statements/let/block-local-closure-get-before-initialization.js fails +language/statements/let/block-local-closure-set-before-initialization.js fails +language/statements/let/block-local-use-before-initialization-in-declaration-statement.js fails +language/statements/let/block-local-use-before-initialization-in-prior-statement.js fails +language/statements/let/cptn-value.js fails +language/statements/let/dstr-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/statements/let/dstr-ary-ptrn-elem-id-init-fn-name-class.js fails +language/statements/let/dstr-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/statements/let/dstr-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/statements/let/dstr-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/statements/let/dstr-obj-ptrn-id-init-fn-name-arrow.js fails +language/statements/let/dstr-obj-ptrn-id-init-fn-name-class.js fails +language/statements/let/dstr-obj-ptrn-id-init-fn-name-cover.js fails +language/statements/let/dstr-obj-ptrn-id-init-fn-name-fn.js fails +language/statements/let/dstr-obj-ptrn-id-init-fn-name-gen.js fails +language/statements/let/fn-name-class.js fails +language/statements/let/function-local-closure-get-before-initialization.js fails +language/statements/let/function-local-closure-set-before-initialization.js fails +language/statements/let/function-local-use-before-initialization-in-declaration-statement.js fails +language/statements/let/function-local-use-before-initialization-in-prior-statement.js fails +language/statements/let/global-closure-get-before-initialization.js fails +language/statements/let/global-closure-set-before-initialization.js fails +language/statements/let/global-use-before-initialization-in-declaration-statement.js fails +language/statements/let/global-use-before-initialization-in-prior-statement.js fails +language/statements/let/syntax/let.js fails +language/statements/return/tco.js strictFails +language/statements/switch/scope-lex-open-case.js fails +language/statements/switch/scope-lex-open-dflt.js fails +language/statements/switch/tco-case-body-dflt.js strictFails +language/statements/switch/tco-case-body.js strictFails +language/statements/switch/tco-dftl-body.js strictFails +language/statements/throw/S12.13_A2_T6.js strictFails +language/statements/try/S12.14_A18_T6.js strictFails +language/statements/try/cptn-catch-empty-break.js fails +language/statements/try/cptn-catch-empty-continue.js fails +language/statements/try/cptn-catch-finally-empty-break.js fails +language/statements/try/cptn-catch-finally-empty-continue.js fails +language/statements/try/cptn-finally-empty-break.js fails +language/statements/try/cptn-finally-empty-continue.js fails +language/statements/try/cptn-finally-from-catch.js fails +language/statements/try/cptn-finally-skip-catch.js fails +language/statements/try/cptn-finally-wo-catch.js fails +language/statements/try/dstr-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/statements/try/dstr-ary-ptrn-elem-id-init-fn-name-class.js fails +language/statements/try/dstr-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/statements/try/dstr-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/statements/try/dstr-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/statements/try/dstr-obj-ptrn-id-init-fn-name-arrow.js fails +language/statements/try/dstr-obj-ptrn-id-init-fn-name-class.js fails +language/statements/try/dstr-obj-ptrn-id-init-fn-name-cover.js fails +language/statements/try/dstr-obj-ptrn-id-init-fn-name-fn.js fails +language/statements/try/dstr-obj-ptrn-id-init-fn-name-gen.js fails +language/statements/try/scope-catch-block-lex-open.js fails +language/statements/try/tco-catch-finally.js strictFails +language/statements/try/tco-catch.js strictFails +language/statements/try/tco-finally.js strictFails +language/statements/variable/binding-resolution.js sloppyFails +language/statements/variable/cptn-value.js fails +language/statements/variable/dstr-ary-ptrn-elem-id-init-fn-name-arrow.js fails +language/statements/variable/dstr-ary-ptrn-elem-id-init-fn-name-class.js fails +language/statements/variable/dstr-ary-ptrn-elem-id-init-fn-name-cover.js fails +language/statements/variable/dstr-ary-ptrn-elem-id-init-fn-name-fn.js fails +language/statements/variable/dstr-ary-ptrn-elem-id-init-fn-name-gen.js fails +language/statements/variable/dstr-obj-ptrn-id-init-fn-name-arrow.js fails +language/statements/variable/dstr-obj-ptrn-id-init-fn-name-class.js fails +language/statements/variable/dstr-obj-ptrn-id-init-fn-name-cover.js fails +language/statements/variable/dstr-obj-ptrn-id-init-fn-name-fn.js fails +language/statements/variable/dstr-obj-ptrn-id-init-fn-name-gen.js fails +language/statements/variable/fn-name-class.js fails +language/statements/while/tco-body.js strictFails +language/statements/with/binding-blocked-by-unscopables.js sloppyFails +language/statements/with/cptn-abrupt-empty.js sloppyFails +language/statements/with/has-property-err.js sloppyFails +language/statements/with/unscopables-inc-dec.js sloppyFails +language/types/reference/get-value-prop-base-primitive-realm.js fails +language/types/reference/put-value-prop-base-primitive-realm.js fails +language/types/reference/put-value-prop-base-primitive.js fails diff --git a/tests/auto/qml/ecmascripttests/ecmascripttests.pro b/tests/auto/qml/ecmascripttests/ecmascripttests.pro index 6d3ee12307..9c09ee701e 100644 --- a/tests/auto/qml/ecmascripttests/ecmascripttests.pro +++ b/tests/auto/qml/ecmascripttests/ecmascripttests.pro @@ -1,20 +1,13 @@ -CONFIG += testcase -TARGET = tst_ecmascripttests -QT += testlib -macos:CONFIG -= app_bundle -SOURCES += tst_ecmascripttests.cpp -DEFINES += SRCDIR=\\\"$$PWD\\\" - -TESTSCRIPT=$$PWD/test262.py -isEmpty(V4CMD): V4CMD = qmljs +TEMPLATE = subdirs +SUBDIRS = testcase.pro qjstest checkjittarget.target = check-jit -checkjittarget.commands = python $$TESTSCRIPT --command=$$V4CMD --parallel --with-test-expectations --update-expectations +checkjittarget.commands = qjstest --jit --parallel --with-test-expectations --update-expectations checkjittarget.depends = all QMAKE_EXTRA_TARGETS += checkjittarget checkmothtarget.target = check-interpreter -checkmothtarget.commands = python $$TESTSCRIPT --command=\"$$V4CMD --interpret\" --parallel --with-test-expectations +checkmothtarget.commands = qjstest --interpret --parallel --with-test-expectations checkmothtarget.depends = all QMAKE_EXTRA_TARGETS += checkmothtarget diff --git a/tests/auto/qml/ecmascripttests/qjstest/main.cpp b/tests/auto/qml/ecmascripttests/qjstest/main.cpp new file mode 100644 index 0000000000..4a3541d892 --- /dev/null +++ b/tests/auto/qml/ecmascripttests/qjstest/main.cpp @@ -0,0 +1,114 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the V4VM module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include <QJSEngine> +#include <QCoreApplication> +#include <QCommandLineParser> +#include <qdebug.h> +#include <stdlib.h> + +#include "test262runner.h" + +int main(int argc, char **argv) +{ + QCoreApplication app(argc, argv); + + + QCommandLineParser parser; + parser.addHelpOption(); + parser.addVersionOption(); + QCommandLineOption verbose("verbose", "Verbose output"); + parser.addOption(verbose); + QCommandLineOption commandOption("command", "Javascript command line interpreter", "command"); + parser.addOption(commandOption); + QCommandLineOption testDir("tests", "path to the tests", "tests", "test262"); + parser.addOption(testDir); + QCommandLineOption cat("cat", "Print packaged test code that would be run"); + parser.addOption(cat); + QCommandLineOption parallel("parallel", "Run tests in parallel"); + parser.addOption(parallel); + QCommandLineOption jit("jit", "JIT all code"); + parser.addOption(jit); + QCommandLineOption bytecode("interpret", "Run using the bytecode interpreter"); + parser.addOption(bytecode); + QCommandLineOption withExpectations("with-test-expectations", "Parse TestExpectations to deal with known failures"); + parser.addOption(withExpectations); + QCommandLineOption updateExpectations("update-expectations", "Update TestExpectations to remove unexepected passes"); + parser.addOption(updateExpectations); + QCommandLineOption writeExpectations("write-expectations", "Generate a new TestExpectations file based on the results of the run"); + parser.addOption(writeExpectations); + parser.addPositionalArgument("[filter]", "Only run tests that contain filter in their name"); + + parser.process(app); + + Test262Runner testRunner(parser.value(commandOption), parser.value(testDir)); + + QStringList otherArgs = parser.positionalArguments(); + if (otherArgs.size() > 1) { + qWarning() << "too many arguments"; + return 1; + } else if (otherArgs.size()) { + testRunner.setFilter(otherArgs.at(0)); + } + + if (parser.isSet(cat)) { + testRunner.cat(); + return 0; + } + + if (parser.isSet(updateExpectations) && parser.isSet(writeExpectations)) { + qWarning() << "Can only specify one of --update-expectations and --write-expectations."; + exit(1); + } + + if (parser.isSet(jit) && parser.isSet(bytecode)) { + qWarning() << "Can only specify one of --jit and --interpret."; + exit(1); + } + + int flags = 0; + if (parser.isSet(verbose)) + flags |= Test262Runner::Verbose; + if (parser.isSet(parallel)) + flags |= Test262Runner::Parallel; + if (parser.isSet(jit)) + flags |= Test262Runner::ForceJIT; + if (parser.isSet(bytecode)) + flags |= Test262Runner::ForceBytecode; + if (parser.isSet(withExpectations)) + flags |= Test262Runner::WithTestExpectations; + if (parser.isSet(updateExpectations)) + flags |= Test262Runner::UpdateTestExpectations; + if (parser.isSet(writeExpectations)) + flags |= Test262Runner::WriteTestExpectations; + testRunner.setFlags(flags); + + if (testRunner.run()) + return EXIT_SUCCESS; + else + return EXIT_FAILURE; +} diff --git a/tests/auto/qml/ecmascripttests/qjstest/qjstest.pro b/tests/auto/qml/ecmascripttests/qjstest/qjstest.pro new file mode 100644 index 0000000000..6dec5f8f23 --- /dev/null +++ b/tests/auto/qml/ecmascripttests/qjstest/qjstest.pro @@ -0,0 +1,13 @@ +TEMPLATE = app +TARGET = qjstest +QT += qml-private +INCLUDEPATH += . + +DEFINES += QT_DEPRECATED_WARNINGS + +HEADERS += test262runner.h +SOURCES += main.cpp test262runner.cpp + +QMAKE_TARGET_DESCRIPTION = Javascript test runner + +load(qt_tool) diff --git a/tests/auto/qml/ecmascripttests/qjstest/test262runner.cpp b/tests/auto/qml/ecmascripttests/qjstest/test262runner.cpp new file mode 100644 index 0000000000..d2d389305a --- /dev/null +++ b/tests/auto/qml/ecmascripttests/qjstest/test262runner.cpp @@ -0,0 +1,758 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the V4VM module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include "test262runner.h" + +#include <qfile.h> +#include <qdir.h> +#include <qdiriterator.h> +#include <qdebug.h> +#include <qprocess.h> +#include <qtemporaryfile.h> + +#include <private/qv4script_p.h> +#include "private/qv4globalobject_p.h" +#include "private/qqmlbuiltinfunctions_p.h" + +#include "qrunnable.h" + +static const char *excludedFeatures[] = { + "BigInt", + "class-fields-public", + "class-fields-private", + "Promise.prototype.finally", + "async-iteration", + "Symbol.asyncIterator", + "object-rest", + "object-spread", + "optional-catch-binding", + "regexp-dotall", + "regexp-lookbehind", + "regexp-named-groups", + "regexp-unicode-property-escapes", + "Atomics", + "SharedArrayBuffer", + "Array.prototype.flatten", + "Array.prototype.flatMap", + "string-trimming", + "String.prototype.trimEnd", + "String.prototype.trimStart", + "numeric-separator-literal", + + // optional features, not supported by us + "caller", + nullptr +}; + +Test262Runner::Test262Runner(const QString &command, const QString &dir) + : command(command), testDir(dir) +{ + if (testDir.endsWith(QLatin1Char('/'))) + testDir = testDir.chopped(1); +} + +Test262Runner::~Test262Runner() +{ + delete threadPool; +} + +void Test262Runner::cat() +{ + if (!loadTests()) + return; + + if (testCases.size() != 1) + qWarning() << "test262 --cat: Ambiguous test case, using" << testCases.begin().key(); + TestData data = getTestData(testCases.begin().value()); + printf("%s", data.content.constData()); +} + +bool Test262Runner::run() +{ + if (!loadTests()) + return false; + + if (flags & Parallel) { + threadPool = new QThreadPool; + threadPool->setStackSize(16*1024*1024); + if (flags & Verbose) + qDebug() << "Running in parallel with" << QThread::idealThreadCount() << "threads."; + } + + if (flags & ForceJIT) + qputenv("QV4_JIT_CALL_THRESHOLD", QByteArray("0")); + else if (flags & ForceBytecode) + qputenv("QV4_FORCE_INTERPRETER", QByteArray("1")); + + if (flags & WithTestExpectations) + loadTestExpectations(); + + for (auto it = testCases.constBegin(); it != testCases.constEnd(); ++it) { + auto c = it.value(); + if (!c.skipTestCase) { + int result = runSingleTest(c); + if (result == -2) + return false; + } + } + + if (threadPool) + threadPool->waitForDone(); + + report(); + + if (flags & WriteTestExpectations) + writeTestExpectations(); + else if (flags & UpdateTestExpectations) + updateTestExpectations(); + + return true; +} + +void Test262Runner::report() +{ + qDebug() << "Test execution summary:"; + qDebug() << " Executed" << testCases.size() << "test cases."; + QStringList crashes; + QStringList unexpectedFailures; + QStringList unexpectedPasses; + for (auto it = testCases.constBegin(); it != testCases.constEnd(); ++it) { + const auto c = it.value(); + if (c.strictResult == c.strictExpectation && c.sloppyResult == c.sloppyExpectation) + continue; + auto report = [&] (TestCase::Result expected, TestCase::Result result, const char *s) { + if (result == TestCase::Crashes) + crashes << (it.key() + " crashed in " + s + " mode"); + if (result == TestCase::Fails && expected == TestCase::Passes) + unexpectedFailures << (it.key() + " failed in " + s + " mode"); + if (result == TestCase::Passes && expected == TestCase::Fails) + unexpectedPasses << (it.key() + " unexpectedly passed in " + s + " mode"); + }; + report(c.strictExpectation, c.strictResult, "strict"); + report(c.sloppyExpectation, c.sloppyResult, "sloppy"); + } + if (!crashes.isEmpty()) { + qDebug() << " Encountered" << crashes.size() << "crashes in the following files:"; + for (const QString &f : qAsConst(crashes)) + qDebug() << " " << f; + } + if (!unexpectedFailures.isEmpty()) { + qDebug() << " Encountered" << unexpectedFailures.size() << "unexpected failures in the following files:"; + for (const QString &f : qAsConst(unexpectedFailures)) + qDebug() << " " << f; + } + if (!unexpectedPasses.isEmpty()) { + qDebug() << " Encountered" << unexpectedPasses.size() << "unexpected passes in the following files:"; + for (const QString &f : qAsConst(unexpectedPasses)) + qDebug() << " " << f; + } +} + +bool Test262Runner::loadTests() +{ + QDir dir(testDir + "/test"); + if (!dir.exists()) { + qWarning() << "Could not load tests," << dir.path() << "does not exist."; + return false; + } + + QString annexB = "annexB"; + QString harness = "harness"; + QString intl402 = "intl402"; + + int pathlen = dir.path().length() + 1; + QDirIterator it(dir, QDirIterator::Subdirectories); + while (it.hasNext()) { + QString file = it.next().mid(pathlen); + if (!file.endsWith(".js")) + continue; + if (!filter.isEmpty() && !file.contains(filter)) + continue; + if (file.startsWith(annexB) || file.startsWith(harness) || file.startsWith(intl402)) + continue; + + testCases.insert(file, TestCase{ file }); + } + if (testCases.isEmpty()) { + qWarning() << "No tests to run."; + return false; + } + + return true; +} + + +struct TestExpectationLine { + TestExpectationLine(const QByteArray &line); + enum State { + Fails, + SloppyFails, + StrictFails, + Skip, + Passes + } state; + QString testCase; + + QByteArray toLine() const; + void update(const TestCase &testCase); + + static TestExpectationLine fromTestCase(const TestCase &testCase); +private: + TestExpectationLine() = default; + static State stateFromTestCase(const TestCase &testCase); +}; + +TestExpectationLine::TestExpectationLine(const QByteArray &line) +{ + int space = line.indexOf(' '); + + testCase = QString::fromUtf8(space > 0 ? line.left(space) : line); + if (!testCase.endsWith(".js")) + testCase += ".js"; + + state = Fails; + if (space < 0) + return; + QByteArray qualifier = line.mid(space + 1); + if (qualifier == "skip") + state = Skip; + else if (qualifier == "strictFails") + state = StrictFails; + else if (qualifier == "sloppyFails") + state = SloppyFails; + else if (qualifier == "fails") + state = Fails; + else + qWarning() << "illegal format in TestExpectations, line" << line; +} + +QByteArray TestExpectationLine::toLine() const { + const char *res = nullptr; + switch (state) { + case Fails: + res = " fails\n"; + break; + case SloppyFails: + res = " sloppyFails\n"; + break; + case StrictFails: + res = " strictFails\n"; + break; + case Skip: + res = " skip\n"; + break; + case Passes: + // no need for an entry + return QByteArray(); + } + QByteArray result = testCase.toUtf8() + res; + return result; +} + +void TestExpectationLine::update(const TestCase &testCase) +{ + Q_ASSERT(testCase.test == this->testCase); + + State resultState = stateFromTestCase(testCase); + switch (resultState) { + case Fails: + // no improvement, don't update + break; + case SloppyFails: + if (state == Fails) + state = SloppyFails; + else if (state == StrictFails) + // we have a regression in sloppy mode, but strict now passes + state = Passes; + break; + case StrictFails: + if (state == Fails) + state = StrictFails; + else if (state == SloppyFails) + // we have a regression in strict mode, but sloppy now passes + state = Passes; + break; + case Skip: + Q_ASSERT(state == Skip); + // nothing to do + break; + case Passes: + state = Passes; + } +} + +TestExpectationLine TestExpectationLine::fromTestCase(const TestCase &testCase) +{ + TestExpectationLine l; + l.testCase = testCase.test; + l.state = stateFromTestCase(testCase); + return l; +} + +TestExpectationLine::State TestExpectationLine::stateFromTestCase(const TestCase &testCase) +{ + // keep skipped tests + if (testCase.skipTestCase) + return Skip; + + bool strictFails = (testCase.strictResult == TestCase::Crashes || testCase.strictResult == TestCase::Fails); + bool sloppyFails = (testCase.sloppyResult == TestCase::Crashes || testCase.sloppyResult == TestCase::Fails); + if (strictFails && sloppyFails) + return Fails; + if (strictFails) + return StrictFails; + if (sloppyFails) + return SloppyFails; + return Passes; +} + + +void Test262Runner::loadTestExpectations() +{ + QFile file("TestExpectations"); + if (!file.open(QFile::ReadOnly)) { + qWarning() << "Could not open TestExpectations file."; + return; + } + + int line = 0; + while (!file.atEnd()) { + ++line; + QByteArray line = file.readLine().trimmed(); + if (line.startsWith('#') || line.isEmpty()) + continue; + TestExpectationLine expectation(line); + if (!filter.isEmpty() && !expectation.testCase.contains(filter)) + continue; + + if (!testCases.contains(expectation.testCase)) + qWarning() << "Unknown test case" << expectation.testCase << "in TestExpectations file."; + //qDebug() << "TestExpectations:" << expectation.testCase << expectation.state; + TestCase &s = testCases[expectation.testCase]; + switch (expectation.state) { + case TestExpectationLine::Fails: + s.strictExpectation = TestCase::Fails; + s.sloppyExpectation = TestCase::Fails; + break; + case TestExpectationLine::SloppyFails: + s.strictExpectation = TestCase::Passes; + s.sloppyExpectation = TestCase::Fails; + break; + case TestExpectationLine::StrictFails: + s.strictExpectation = TestCase::Fails; + s.sloppyExpectation = TestCase::Passes; + break; + case TestExpectationLine::Skip: + s.skipTestCase = true; + break; + case TestExpectationLine::Passes: + Q_UNREACHABLE(); + } + } +} + +void Test262Runner::updateTestExpectations() +{ + QFile file("TestExpectations"); + if (!file.open(QFile::ReadOnly)) { + qWarning() << "Could not open TestExpectations file."; + return; + } + + QTemporaryFile updatedExpectations; + updatedExpectations.open(); + + int line = 0; + while (!file.atEnd()) { + ++line; + QByteArray originalLine = file.readLine(); + QByteArray line = originalLine.trimmed(); + if (line.startsWith('#') || line.isEmpty()) { + updatedExpectations.write(originalLine); + continue; + } + + TestExpectationLine expectation(line); +// qDebug() << "checking: " << expectation.testCase; + if (!testCases.contains(expectation.testCase)) { + updatedExpectations.write(originalLine); + continue; + } + const TestCase &testcase = testCases.value(expectation.testCase); + expectation.update(testcase); + + line = expectation.toLine(); +// qDebug() << "updated line:" << line; + updatedExpectations.write(line); + } + file.close(); + updatedExpectations.close(); + file.remove(); + qDebug() << updatedExpectations.fileName() << file.fileName(); + updatedExpectations.copy(file.fileName()); + qDebug() << "Updated TestExpectations file written!"; +} + +void Test262Runner::writeTestExpectations() +{ + QFile file("TestExpectations"); + + QTemporaryFile expectations; + expectations.open(); + + for (auto c : qAsConst(testCases)) { + TestExpectationLine line = TestExpectationLine::fromTestCase(c); + expectations.write(line.toLine()); + } + + expectations.close(); + if (file.exists()) + file.remove(); + qDebug() << expectations.fileName() << file.fileName(); + expectations.copy(file.fileName()); + qDebug() << "new TestExpectations file written!"; + +} + +static bool executeTest(const QByteArray &data) +{ + QString testData = QString::fromUtf8(data); + + QV4::ExecutionEngine vm; + + QV4::Scope scope(&vm); + QV4::ScopedContext ctx(scope, vm.rootContext()); + + QV4::GlobalExtensions::init(vm.globalObject, QJSEngine::ConsoleExtension | QJSEngine::GarbageCollectionExtension); + + QV4::Script script(ctx, QV4::Compiler::ContextType::Global, testData, QString()); + script.parse(); + + QV4::ScopedValue result(scope); + if (!scope.engine->hasException) + result = script.run(); + + if (scope.engine->hasException) + return false; + return true; +} + +class SingleTest : public QRunnable +{ +public: + SingleTest(Test262Runner *runner, const TestData &data) + : runner(runner), data(data) + { + command = runner->command; + } + void run(); + + void runExternalTest(); + + QString command; + Test262Runner *runner; + TestData data; +}; + +void SingleTest::run() +{ + if (!command.isEmpty()) { + runExternalTest(); + return; + } + + if (data.runInSloppyMode) { + bool ok = ::executeTest(data.content); + if (data.negative) + ok = !ok; + + data.sloppyResult = ok ? TestCase::Passes : TestCase::Fails; + } else { + data.sloppyResult = TestCase::Skipped; + } + if (data.runInStrictMode) { + QByteArray c = "'use strict';\n" + data.content; + bool ok = ::executeTest(c); + if (data.negative) + ok = !ok; + + data.strictResult = ok ? TestCase::Passes : TestCase::Fails; + } else { + data.strictResult = TestCase::Skipped; + } + runner->addResult(data); +} + +void SingleTest::runExternalTest() +{ + auto runTest = [=] (const char *header, TestCase::Result *result) { + QTemporaryFile tempFile; + tempFile.open(); + tempFile.write(header); + tempFile.write(data.content); + tempFile.close(); + + QProcess process; +// if (flags & Verbose) +// process.setReadChannelMode(QProcess::ForwardedChannels); + + process.start(command, QStringList(tempFile.fileName())); + if (!process.waitForFinished(-1) || process.error() == QProcess::FailedToStart) { + qWarning() << "Could not execute" << command; + *result = TestCase::Crashes; + } + if (process.exitStatus() != QProcess::NormalExit) { + *result = TestCase::Crashes; + } + bool ok = (process.exitCode() == EXIT_SUCCESS); + if (data.negative) + ok = !ok; + *result = ok ? TestCase::Passes : TestCase::Fails; + }; + + if (data.runInSloppyMode) + runTest("", &data.sloppyResult); + if (data.runInStrictMode) + runTest("'use strict';\n", &data.strictResult); + + runner->addResult(data); +} + +int Test262Runner::runSingleTest(TestCase testCase) +{ + TestData data = getTestData(testCase); +// qDebug() << "starting test" << data.test; + + if (data.isExcluded || data.async || data.runAsModuleCode) + return 0; + + if (threadPool) { + SingleTest *test = new SingleTest(this, data); + threadPool->start(test); + return 0; + } + SingleTest test(this, data); + test.run(); + return 0; +} + +void Test262Runner::addResult(TestCase result) +{ + { + QMutexLocker locker(&mutex); + Q_ASSERT(result.strictExpectation == testCases[result.test].strictExpectation); + Q_ASSERT(result.sloppyExpectation == testCases[result.test].sloppyExpectation); + testCases[result.test] = result; + } + + if (!(flags & Verbose)) + return; + + QString test = result.test; + if (result.strictResult == TestCase::Skipped) { + ; + } else if (result.strictResult == TestCase::Crashes) { + qDebug() << "FAIL:" << test << "crashed in strict mode!"; + } else if ((result.strictResult == TestCase::Fails) && (result.strictExpectation == TestCase::Fails)) { + qDebug() << "PASS:" << test << "failed in strict mode as expected"; + } else if ((result.strictResult == TestCase::Passes) == (result.strictExpectation == TestCase::Passes)) { + qDebug() << "PASS:" << test << "passed in strict mode"; + } else if (!(result.strictExpectation == TestCase::Fails)) { + qDebug() << "FAIL:" << test << "failed in strict mode"; + } else { + qDebug() << "XPASS:" << test << "unexpectedly passed in strict mode"; + } + + if (result.sloppyResult == TestCase::Skipped) { + ; + } else if (result.sloppyResult == TestCase::Crashes) { + qDebug() << "FAIL:" << test << "crashed in sloppy mode!"; + } else if ((result.sloppyResult == TestCase::Fails) && (result.sloppyExpectation == TestCase::Fails)) { + qDebug() << "PASS:" << test << "failed in sloppy mode as expected"; + } else if ((result.sloppyResult == TestCase::Passes) == (result.sloppyExpectation == TestCase::Passes)) { + qDebug() << "PASS:" << test << "passed in sloppy mode"; + } else if (!(result.sloppyExpectation == TestCase::Fails)) { + qDebug() << "FAIL:" << test << "failed in sloppy mode"; + } else { + qDebug() << "XPASS:" << test << "unexpectedly passed in sloppy mode"; + } +} + +TestData Test262Runner::getTestData(const TestCase &testCase) +{ + QFile testFile(testDir + "/test/" + testCase.test); + if (!testFile.open(QFile::ReadOnly)) { + qWarning() << "wrong test file" << testCase.test; + exit(1); + } + QByteArray content = testFile.readAll(); + +// qDebug() << "parsing test file" << test; + + TestData data(testCase); + parseYaml(content, &data); + + data.content += harness("assert.js"); + data.content += harness("sta.js"); + + for (QByteArray inc : qAsConst(data.includes)) { + inc = inc.trimmed(); + data.content += harness(inc); + } + + if (data.async) + data.content += harness("doneprintHandle.js"); + + data.content += content; + + return data; +} + +struct YamlSection { + YamlSection(const QByteArray &yaml, const char *sectionName); + + bool contains(const char *keyword) const; + QList<QByteArray> keywords() const; + + QByteArray yaml; + int start = -1; + int length = 0; + bool shortSection = false; +}; + +YamlSection::YamlSection(const QByteArray &yaml, const char *sectionName) + : yaml(yaml) +{ + start = yaml.indexOf(sectionName); + if (start < 0) + return; + start += static_cast<int>(strlen(sectionName)); + int end = yaml.indexOf('\n', start + 1); + if (end < 0) + end = yaml.length(); + + int s = yaml.indexOf('[', start); + if (s > 0 && s < end) { + shortSection = true; + start = s + 1; + end = yaml.indexOf(']', s); + } else { + while (end < yaml.size() - 1 && yaml.at(end + 1) == ' ') + end = yaml.indexOf('\n', end + 1); + } + length = end - start; +} + +bool YamlSection::contains(const char *keyword) const +{ + if (start < 0) + return false; + int idx = yaml.indexOf(keyword, start); + if (idx >= start && idx < start + length) + return true; + return false; +} + +QList<QByteArray> YamlSection::keywords() const +{ + if (start < 0) + return QList<QByteArray>(); + + QByteArray content = yaml.mid(start, length); + QList<QByteArray> keywords; + if (shortSection) { + keywords = content.split(','); + } else { + const QList<QByteArray> list = content.split('\n'); + for (const QByteArray &l : list) { + int i = 0; + while (i < l.size() && (l.at(i) == ' ' || l.at(i) == '-')) + ++i; + QByteArray entry = l.mid(i); + if (!entry.isEmpty()) + keywords.append(entry); + } + } +// qDebug() << "keywords:" << keywords; + return keywords; +} + + +void Test262Runner::parseYaml(const QByteArray &content, TestData *data) +{ + int start = content.indexOf("/*---"); + if (start < 0) + return; + start += sizeof("/*---"); + + int end = content.indexOf("---*/"); + if (end < 0) + return; + + QByteArray yaml = content.mid(start, end - start); + + if (yaml.contains("negative:")) + data->negative = true; + + YamlSection flags(yaml, "flags:"); + data->runInSloppyMode = !flags.contains("onlyStrict"); + data->runInStrictMode = !flags.contains("noStrict") && !flags.contains("raw"); + data->runAsModuleCode = flags.contains("module"); + data->async = flags.contains("async"); + + YamlSection includes(yaml, "includes:"); + data->includes = includes.keywords(); + + YamlSection features = YamlSection(yaml, "features:"); + + const char **f = excludedFeatures; + while (*f) { + if (features.contains(*f)) { + data->isExcluded = true; + break; + } + ++f; + } + +// qDebug() << "Yaml:\n" << yaml; +} + +QByteArray Test262Runner::harness(const QByteArray &name) +{ + if (harnessFiles.contains(name)) + return harnessFiles.value(name); + + QFile h(testDir + QLatin1String("/harness/") + name); + if (!h.open(QFile::ReadOnly)) { + qWarning() << "Illegal test harness file" << name; + exit(1); + } + + QByteArray content = h.readAll(); + harnessFiles.insert(name, content); + return content; +} diff --git a/tests/auto/qml/ecmascripttests/qjstest/test262runner.h b/tests/auto/qml/ecmascripttests/qjstest/test262runner.h new file mode 100644 index 0000000000..a4035e0b72 --- /dev/null +++ b/tests/auto/qml/ecmascripttests/qjstest/test262runner.h @@ -0,0 +1,131 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the V4VM module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef TEST262RUNNER_H +#define TEST262RUNNER_H +#include <qstring.h> +#include <qstringlist.h> +#include <qset.h> +#include <qmap.h> +#include <qmutex.h> +#include <qthreadpool.h> + +struct TestCase { + TestCase() = default; + TestCase(const QString &test) + : test(test) {} + enum Result { + Skipped, + Passes, + Fails, + Crashes + }; + bool skipTestCase = false; + Result strictExpectation = Passes; + Result sloppyExpectation = Passes; + Result strictResult = Skipped; + Result sloppyResult = Skipped; + + QString test; +}; + +struct TestData : TestCase { + TestData(const TestCase &testCase) + : TestCase(testCase) {} + // flags + bool negative = false; + bool runInStrictMode = true; + bool runInSloppyMode = true; + bool runAsModuleCode = false; + bool async = false; + + bool isExcluded = false; + + QList<QByteArray> includes; + + QByteArray content; +}; + +class Test262Runner +{ +public: + Test262Runner(const QString &command, const QString &testDir); + ~Test262Runner(); + + enum Mode { + Sloppy = 0, + Strict = 1 + }; + + enum Flags { + Verbose = 0x1, + Parallel = 0x2, + ForceBytecode = 0x4, + ForceJIT = 0x8, + WithTestExpectations = 0x10, + UpdateTestExpectations = 0x20, + WriteTestExpectations = 0x40, + }; + void setFlags(int f) { flags = f; } + + void setFilter(const QString &f) { filter = f; } + + void cat(); + bool run(); + + void report(); + +private: + friend class SingleTest; + bool loadTests(); + void loadTestExpectations(); + void updateTestExpectations(); + void writeTestExpectations(); + int runSingleTest(TestCase testCase); + + TestData getTestData(const TestCase &testCase); + void parseYaml(const QByteArray &content, TestData *data); + + QByteArray harness(const QByteArray &name); + + void addResult(TestCase result); + + QString command; + QString testDir; + int flags = 0; + + QMutex mutex; + QString filter; + + QMap<QString, TestCase> testCases; + QHash<QByteArray, QByteArray> harnessFiles; + + QThreadPool *threadPool = nullptr; +}; + + +#endif diff --git a/tests/auto/qml/ecmascripttests/test262 b/tests/auto/qml/ecmascripttests/test262 -Subproject e505c11eebe5a389a7d47a4bf570c66469740b0 +Subproject 3c69133cc419840c1be34638039cd8c48a7ef58 diff --git a/tests/auto/qml/ecmascripttests/test262.py b/tests/auto/qml/ecmascripttests/test262.py index e055c7a8e7..19551e3ba2 100755 --- a/tests/auto/qml/ecmascripttests/test262.py +++ b/tests/auto/qml/ecmascripttests/test262.py @@ -61,6 +61,35 @@ from parseTestRecord import parseTestRecord, stripHeader from packagerConfig import * +# excluded features that are still experimental and not part of any official standard +# see also the features.txt file in test262/ +excludedFeatures = [ + "BigInt", + "class-fields-public", + "class-fields-private", + "Promise.prototype.finally", + "async-iteration", + "Symbol.asyncIterator", + "object-rest", + "object-spread", + "optional-catch-binding", + "regexp-dotall", + "regexp-lookbehind", + "regexp-named-groups", + "regexp-unicode-property-escapes", + "Atomics", + "SharedArrayBuffer", + "Array.prototype.flatten", + "Array.prototype.flatMap", + "string-trimming", + "String.prototype.trimEnd", + "String.prototype.trimStart", + "numeric-separator-literal", + + # optional features, not supported by us + "caller" +] + # ############# Helpers needed for parallel multi-process test execution ############ def runTest(case, args): @@ -95,19 +124,19 @@ class TestExpectations: continue record = line.split() if len(record) == 1: - self.testsToSkip.append(record[0]) + self.failingTests.append(record[0]) else: test = record[0] expectation = record[1] - if expectation == "failing": - self.failingTests.append(test) + if expectation == "skip": + self.testsToSkip.append(test) f.close() def update(self, progress): - unexpectedPasses = [c.case.name[-1] for c in progress.failed_tests if c.case.IsNegative()] + unexpectedPasses = [c.case.name for c in progress.failed_tests if c.case.IsNegative()] # If a test fails that we expected to fail, then it actually passed unexpectedly. - failures = [c.case.name[-1] for c in progress.failed_tests if not c.case.IsNegative()] + failures = [c.case.name for c in progress.failed_tests if not c.case.IsNegative()] for failure in failures: if failure in self.failingTests: unexpectedPasses.append(failure) @@ -116,7 +145,7 @@ class TestExpectations: lines = f.read().splitlines() oldLen = len(lines) for result in unexpectedPasses: - expectationLine = result + " failing" + expectationLine = result try: lines.remove(expectationLine) except ValueError: @@ -277,14 +306,17 @@ class TestCase(object): f.close() testRecord = parseTestRecord(self.contents, name) self.test = testRecord["test"] + if 'features' in testRecord: + self.features = testRecord["features"]; + else: + self.features = [] del testRecord["test"] del testRecord["header"] - del testRecord["commentary"] self.testRecord = testRecord; def GetName(self): - return path.join(*self.name) + return self.name def GetMode(self): if self.strict_mode: @@ -310,14 +342,20 @@ class TestCase(object): def IsNoStrict(self): return 'noStrict' in self.testRecord + def IsExperimental(self): + for f in self.features: + if excludedFeatures.count(f) >= 1: + return True; + return False + def GetSource(self): # "var testDescrip = " + str(self.testRecord) + ';\n\n' + \ - source = self.suite.GetInclude("cth.js") + \ + source = self.suite.GetInclude("assert.js") + \ self.suite.GetInclude("sta.js") + \ - self.suite.GetInclude("ed.js") + \ - self.suite.GetInclude("testBuiltInObject.js") + \ - self.suite.GetInclude("testIntl.js") + \ self.test + '\n' + if 'includes' in self.testRecord: + for inc in self.testRecord['includes']: + source += self.suite.GetInclude(inc); if self.strict_mode: source = '"use strict";\nvar strict_mode = true;\n' + source @@ -403,14 +441,23 @@ class TestSuite(object): def __init__(self, root, strict_only, non_strict_only, unmarked_default, load_expectations): # TODO: derive from packagerConfig.py - self.test_root = path.join(root, 'test', 'suite') - self.lib_root = path.join(root, 'test', 'harness') + self.test_root = path.join(root, 'test') + self.lib_root = path.join(root, 'harness') self.strict_only = strict_only self.non_strict_only = non_strict_only self.unmarked_default = unmarked_default self.include_cache = { } self.expectations = TestExpectations(load_expectations) + def IsExcludedTest(self, path): + if path.startswith('annexB'): + return True; + if path.startswith('harness'): + return True; + if path.startswith('intl402'): + return True; + return False; + def Validate(self): if not path.exists(self.test_root): ReportError("No test repository found") @@ -459,25 +506,25 @@ class TestSuite(object): else: logging.warning("Unexpected path %s", full_path) rel_path = full_path - if self.ShouldRun(rel_path, tests) and not rel_path.startswith("intl402" + os.sep): + if self.ShouldRun(rel_path, tests) and not self.IsExcludedTest(rel_path): basename = path.basename(full_path)[:-3] - name = rel_path.split(path.sep)[:-1] + [basename] - if EXCLUDE_LIST.count(basename) >= 1 or self.expectations.testsToSkip.count(basename) >= 1: - print 'Excluded: ' + basename + name = rel_path.replace('.js', '') + if EXCLUDE_LIST.count(basename) >= 1 or self.expectations.testsToSkip.count(name) >= 1: + print 'Excluded: ' + rel_path else: if not self.non_strict_only: strict_case = TestCase(self, name, full_path, True) - if self.expectations.failingTests.count(basename) >= 1: + if self.expectations.failingTests.count(name) >= 1: strict_case.NegateResult() - if not strict_case.IsNoStrict(): + if not strict_case.IsNoStrict() and not strict_case.IsExperimental(): if strict_case.IsOnlyStrict() or \ self.unmarked_default in ['both', 'strict']: cases.append(strict_case) if not self.strict_only: non_strict_case = TestCase(self, name, full_path, False) - if self.expectations.failingTests.count(basename) >= 1: + if self.expectations.failingTests.count(name) >= 1: non_strict_case.NegateResult() - if not non_strict_case.IsOnlyStrict(): + if not non_strict_case.IsOnlyStrict() and not non_strict_case.IsExperimental(): if non_strict_case.IsNoStrict() or \ self.unmarked_default in ['both', 'non_strict']: cases.append(non_strict_case) diff --git a/tests/auto/qml/ecmascripttests/testcase.pro b/tests/auto/qml/ecmascripttests/testcase.pro new file mode 100644 index 0000000000..5bf7ecd696 --- /dev/null +++ b/tests/auto/qml/ecmascripttests/testcase.pro @@ -0,0 +1,15 @@ +CONFIG += testcase +TARGET = tst_ecmascripttests +QT += testlib qml-private +macos:CONFIG -= app_bundle +SOURCES += tst_ecmascripttests.cpp qjstest/test262runner.cpp +HEADERS += qjstest/test262runner.h +DEFINES += SRCDIR=\\\"$$PWD\\\" + +# The ES test suite takes approximately 5 mins to run, on a fairly +# vanilla developer machine, so the default watchdog timer kills the +# test some of the time. Fix by raising time-out to 400s when +# invoking tst_ecmascripttests: +checkenv.name = QTEST_FUNCTION_TIMEOUT +checkenv.value = 500000 +QT_TOOL_ENV += checkenv diff --git a/tests/auto/qml/ecmascripttests/tst_ecmascripttests.cpp b/tests/auto/qml/ecmascripttests/tst_ecmascripttests.cpp index 0d58d045b9..27d2822762 100644 --- a/tests/auto/qml/ecmascripttests/tst_ecmascripttests.cpp +++ b/tests/auto/qml/ecmascripttests/tst_ecmascripttests.cpp @@ -30,55 +30,37 @@ #include <QtTest/QtTest> #include <QProcess> #include <QLibraryInfo> +#include <qjstest/test262runner.h> class tst_EcmaScriptTests : public QObject { Q_OBJECT - void runTests(bool interpret); - private slots: void runInterpreted(); void runJitted(); }; -void tst_EcmaScriptTests::runTests(bool interpret) -{ -#if defined(Q_OS_LINUX) && defined(Q_PROCESSOR_X86_64) - QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); - if (interpret) - env.insert("QV4_FORCE_INTERPRETER", "1"); - else - env.insert("QV4_JIT_CALL_THRESHOLD", "0"); - - QProcess process; - process.setProcessChannelMode(QProcess::ForwardedChannels); - process.setWorkingDirectory(QLatin1String(SRCDIR)); - process.setProgram("python"); - process.setProcessEnvironment(env); - process.setArguments(QStringList() << "test262.py" << "--command=" + QLibraryInfo::location(QLibraryInfo::BinariesPath) + "/qmljs" << "--parallel" << "--with-test-expectations"); - - qDebug() << "Going to run" << process.program() << process.arguments() << "in" << process.workingDirectory(); - - process.start(); - QVERIFY(process.waitForStarted()); - const int timeoutInMSecs = 20 * 60 * 1000; - QVERIFY2(process.waitForFinished(timeoutInMSecs), "Tests did not terminate in time -- see output above for details"); - QVERIFY2(process.exitStatus() == QProcess::NormalExit, "Running the test harness failed -- see output above for details"); - QVERIFY2(process.exitCode() == 0, "Tests failed -- see output above for details"); -#else - QSKIP("Currently the ecmascript tests are only run on Linux/x86-64"); -#endif -} - void tst_EcmaScriptTests::runInterpreted() { - runTests(true); +#if defined(Q_PROCESSOR_X86_64) + QDir::setCurrent(QLatin1String(SRCDIR)); + Test262Runner runner(QString(), "test262"); + runner.setFlags(Test262Runner::ForceBytecode|Test262Runner::WithTestExpectations|Test262Runner::Parallel|Test262Runner::Verbose); + bool result = runner.run(); + QVERIFY(result); +#endif } void tst_EcmaScriptTests::runJitted() { - runTests(false); +#if defined(Q_PROCESSOR_X86_64) + QDir::setCurrent(QLatin1String(SRCDIR)); + Test262Runner runner(QString(), "test262"); + runner.setFlags(Test262Runner::ForceJIT|Test262Runner::WithTestExpectations|Test262Runner::Parallel|Test262Runner::Verbose); + bool result = runner.run(); + QVERIFY(result); +#endif } QTEST_GUILESS_MAIN(tst_EcmaScriptTests) diff --git a/tests/auto/qml/qjsengine/tst_qjsengine.cpp b/tests/auto/qml/qjsengine/tst_qjsengine.cpp index c3a3926144..e4bf2ff1aa 100644 --- a/tests/auto/qml/qjsengine/tst_qjsengine.cpp +++ b/tests/auto/qml/qjsengine/tst_qjsengine.cpp @@ -205,6 +205,16 @@ private slots: void scriptScopes(); + void binaryNumbers(); + void octalNumbers(); + + void incrementAfterNewline(); + + void deleteInsideForIn(); + + void functionToString_data(); + void functionToString(); + void protoChanges_QTBUG68369(); signals: @@ -941,6 +951,7 @@ void tst_QJSEngine::globalObjectProperties_enumerate() << "decodeURIComponent" << "Date" << "Array" + << "Symbol" << "escape" << "unescape" << "SyntaxError" @@ -3206,9 +3217,7 @@ void tst_QJSEngine::threadedEngine() void tst_QJSEngine::functionDeclarationsInConditionals() { - // Even though this is bad practice (and test262 covers it with best practices test cases), - // we do allow for function declarations in if and while statements, as unfortunately that's - // real world JavaScript. (QTBUG-33064 for example) + // Visibility of function declarations inside blocks is limited to the block QJSEngine eng; QJSValue result = eng.evaluate("if (true) {\n" " function blah() { return false; }\n" @@ -3216,8 +3225,7 @@ void tst_QJSEngine::functionDeclarationsInConditionals() " function blah() { return true; }\n" "}\n" "blah();"); - QVERIFY(result.isBool()); - QCOMPARE(result.toBool(), true); + QVERIFY(result.isError()); } void tst_QJSEngine::arrayPop_QTBUG_35979() @@ -4159,6 +4167,88 @@ void tst_QJSEngine::scriptScopes() QCOMPARE(use.toInt(), 42); } +void tst_QJSEngine::binaryNumbers() +{ + QJSEngine engine; + + QJSValue result = engine.evaluate("0b1001"); + QVERIFY(result.isNumber()); + QVERIFY(result.toNumber() == 9); + + result = engine.evaluate("0B1001"); + QVERIFY(result.isNumber()); + QVERIFY(result.toNumber() == 9); + + result = engine.evaluate("0b2"); + QVERIFY(result.isError()); +} + +void tst_QJSEngine::octalNumbers() +{ + QJSEngine engine; + + QJSValue result = engine.evaluate("0o11"); + QVERIFY(result.isNumber()); + QVERIFY(result.toNumber() == 9); + + result = engine.evaluate("0O11"); + QVERIFY(result.isNumber()); + QVERIFY(result.toNumber() == 9); + + result = engine.evaluate("0o9"); + QVERIFY(result.isError()); +} + +void tst_QJSEngine::incrementAfterNewline() +{ + QJSEngine engine; + + QJSValue result = engine.evaluate("var x = 0; if (\n++x) x; else -x;"); + QVERIFY(result.isNumber()); + QVERIFY(result.toNumber() == 1); + + result = engine.evaluate("var x = 0; if (\n--x) x; else -x;"); + QVERIFY(result.isNumber()); + QVERIFY(result.toNumber() == -1); +} + +void tst_QJSEngine::deleteInsideForIn() +{ + QJSEngine engine; + + QJSValue iterationCount = engine.evaluate( + "var o = { a: 1, b: 2, c: 3, d: 4};\n" + "var count = 0;\n" + "for (var prop in o) { count++; delete o[prop]; }\n" + "count"); + QVERIFY(iterationCount.isNumber()); + QCOMPARE(iterationCount.toInt(), 4); +} + +void tst_QJSEngine::functionToString_data() +{ + QTest::addColumn<QString>("source"); + QTest::addColumn<QString>("expectedString"); + + QTest::newRow("named function") << QString::fromLatin1("function f() {}; f.toString()") + << QString::fromLatin1("function f() { [code] }"); + QTest::newRow("anonymous function") << QString::fromLatin1("(function() {}).toString()") + << QString::fromLatin1("function() { [code] }"); +} + +// Tests that function.toString() prints the function's name. +void tst_QJSEngine::functionToString() +{ + QFETCH(QString, source); + QFETCH(QString, expectedString); + + QJSEngine engine; + engine.installExtensions(QJSEngine::AllExtensions); + QJSValue evaluationResult = engine.evaluate(source); + QVERIFY(!evaluationResult.isError()); + QCOMPARE(evaluationResult.toString(), expectedString); +} + void tst_QJSEngine::protoChanges_QTBUG68369() { QJSEngine engine; diff --git a/tests/auto/qml/qmlmin/tst_qmlmin.cpp b/tests/auto/qml/qmlmin/tst_qmlmin.cpp index 5941385c80..e1ba6d12c0 100644 --- a/tests/auto/qml/qmlmin/tst_qmlmin.cpp +++ b/tests/auto/qml/qmlmin/tst_qmlmin.cpp @@ -125,6 +125,8 @@ void tst_qmlmin::initTestCase() invalidFiles << "tests/auto/qml/qqmlecmascript/data/stringParsing_error.6.qml"; invalidFiles << "tests/auto/qml/qqmlecmascript/data/numberParsing_error.1.qml"; invalidFiles << "tests/auto/qml/qqmlecmascript/data/numberParsing_error.2.qml"; + invalidFiles << "tests/auto/qml/parserstress/tests/ecma_3/FunExpr/fe-001.js"; + invalidFiles << "tests/auto/qml/qjsengine/script/com/trolltech/syntaxerror/__init__.js"; } QStringList tst_qmlmin::findFiles(const QDir &d) diff --git a/tests/auto/qml/qqmlcomponent/tst_qqmlcomponent.cpp b/tests/auto/qml/qqmlcomponent/tst_qqmlcomponent.cpp index 3a70890362..efd5bb571b 100644 --- a/tests/auto/qml/qqmlcomponent/tst_qqmlcomponent.cpp +++ b/tests/auto/qml/qqmlcomponent/tst_qqmlcomponent.cpp @@ -116,6 +116,7 @@ private slots: void onDestructionCount(); void recursion(); void recursionContinuation(); + void partialComponentCreation(); void callingContextForInitialProperties(); void setNonExistentInitialProperty(); void relativeUrl_data(); @@ -527,6 +528,29 @@ void tst_qqmlcomponent::recursionContinuation() QVERIFY(object->property("success").toBool()); } +void tst_qqmlcomponent::partialComponentCreation() +{ + const int maxCount = 17; + QQmlEngine engine; + QScopedPointer<QQmlComponent> components[maxCount]; + QScopedPointer<QObject> objects[maxCount]; + QQmlTestMessageHandler messageHandler; + + QCOMPARE(engine.outputWarningsToStandardError(), true); + + for (int i = 0; i < maxCount; i++) { + components[i].reset(new QQmlComponent(&engine, testFileUrl("QtObjectComponent.qml"))); + objects[i].reset(components[i]->beginCreate(engine.rootContext())); + QVERIFY(objects[i].isNull() == false); + } + QVERIFY2(messageHandler.messages().isEmpty(), qPrintable(messageHandler.messageString())); + + for (int i = 0; i < maxCount; i++) { + components[i]->completeCreate(); + } + QVERIFY2(messageHandler.messages().isEmpty(), qPrintable(messageHandler.messageString())); +} + class CallingContextCheckingClass : public QObject { Q_OBJECT diff --git a/tests/auto/qml/qqmlconsole/data/logging.qml b/tests/auto/qml/qqmlconsole/data/logging.qml index d55c99bcbd..0764ad7545 100644 --- a/tests/auto/qml/qqmlconsole/data/logging.qml +++ b/tests/auto/qml/qqmlconsole/data/logging.qml @@ -67,6 +67,8 @@ QtObject { console.log(1, "pong!", new Object); console.log(1, ["ping","pong"], new Object, 2); + console.log(contextStringListProperty); + try { console.log(exception); } catch (e) { diff --git a/tests/auto/qml/qqmlconsole/tst_qqmlconsole.cpp b/tests/auto/qml/qqmlconsole/tst_qqmlconsole.cpp index 0d915f98f8..40a9295e50 100644 --- a/tests/auto/qml/qqmlconsole/tst_qqmlconsole.cpp +++ b/tests/auto/qml/qqmlconsole/tst_qqmlconsole.cpp @@ -29,6 +29,7 @@ #include <QDebug> #include <QQmlEngine> #include <QQmlComponent> +#include <QQmlContext> #include <QLoggingCategory> #include "../../shared/util.h" @@ -74,18 +75,22 @@ void tst_qqmlconsole::logging() QTest::ignoreMessage(QtDebugMsg, "{\"a\":\"hello\",\"d\":1}"); QTest::ignoreMessage(QtDebugMsg, "undefined"); QTest::ignoreMessage(QtDebugMsg, "12"); - QTest::ignoreMessage(QtDebugMsg, "function() { [code] }"); + QTest::ignoreMessage(QtDebugMsg, "function e() { [code] }"); QTest::ignoreMessage(QtDebugMsg, "true"); // Printing QML object prints out the class/type of QML object with the memory address // QTest::ignoreMessage(QtDebugMsg, "QtObject_QML_0(0xABCD..)"); // QTest::ignoreMessage(QtDebugMsg, "[object Object]"); QTest::ignoreMessage(QtDebugMsg, "1 pong! [object Object]"); QTest::ignoreMessage(QtDebugMsg, "1 [ping,pong] [object Object] 2"); + QTest::ignoreMessage(QtDebugMsg, "[Hello,World]"); + + QScopedPointer<QQmlContext> loggingContext(new QQmlContext(engine.rootContext())); + QStringList stringList; stringList << QStringLiteral("Hello") << QStringLiteral("World"); + loggingContext->setContextProperty("contextStringListProperty", stringList); QQmlComponent component(&engine, testUrl); - QObject *object = component.create(); + QScopedPointer<QObject> object(component.create(loggingContext.data())); QVERIFY(object != nullptr); - delete object; } void tst_qqmlconsole::categorized_logging() diff --git a/tests/auto/qml/qqmlecmascript/data/assignSequenceTypes.8.qml b/tests/auto/qml/qqmlecmascript/data/assignSequenceTypes.8.qml new file mode 100644 index 0000000000..3f838fe8f2 --- /dev/null +++ b/tests/auto/qml/qqmlecmascript/data/assignSequenceTypes.8.qml @@ -0,0 +1,16 @@ +import QtQml 2.0 +QtObject { + function tryWritingReadOnlySequence() { + try { + Qt.application.arguments.push("hello") + } catch (e) { + + try { + Qt.application.arguments.sort() + } catch (e) { + return true + } + } + return false + } +} diff --git a/tests/auto/qml/qqmlecmascript/data/jsimport/importPragmaLibraryWithPragmaLibraryImports.js b/tests/auto/qml/qqmlecmascript/data/jsimport/importPragmaLibraryWithPragmaLibraryImports.js index fa6497d99b..66e18ac2a9 100644 --- a/tests/auto/qml/qqmlecmascript/data/jsimport/importPragmaLibraryWithPragmaLibraryImports.js +++ b/tests/auto/qml/qqmlecmascript/data/jsimport/importPragmaLibraryWithPragmaLibraryImports.js @@ -7,5 +7,5 @@ function importIncrementedValue() { i = i + 1; // because LibraryImport is shared, and used in previous tests, // the value will be large (already incremented a bunch of times). - return (i + LibraryImport.importIncrementedValue()); + return (i + LibraryImport.importIncrementedValue()); // 11 + 5 } diff --git a/tests/auto/qml/qqmlecmascript/data/jsimport/testImportPragmaLibraryWithPragmaLibraryImports.qml b/tests/auto/qml/qqmlecmascript/data/jsimport/testImportPragmaLibraryWithPragmaLibraryImports.qml index 01f08dbdc3..8264b7229d 100644 --- a/tests/auto/qml/qqmlecmascript/data/jsimport/testImportPragmaLibraryWithPragmaLibraryImports.qml +++ b/tests/auto/qml/qqmlecmascript/data/jsimport/testImportPragmaLibraryWithPragmaLibraryImports.qml @@ -3,5 +3,5 @@ import "importPragmaLibraryWithPragmaLibraryImports.js" as LibraryImport QtObject { id: root - property int testValue: LibraryImport.importIncrementedValue(); // 10 + 1 + (7 due to previous tests) = 18 + property int testValue: LibraryImport.importIncrementedValue(); // 16 } diff --git a/tests/auto/qml/qqmlecmascript/data/jsimport/testJsImport.qml b/tests/auto/qml/qqmlecmascript/data/jsimport/testJsImport.qml index ae43e90210..0e314b20ea 100644 --- a/tests/auto/qml/qqmlecmascript/data/jsimport/testJsImport.qml +++ b/tests/auto/qml/qqmlecmascript/data/jsimport/testJsImport.qml @@ -1,7 +1,7 @@ import QtQuick 2.0 -import com.nokia.JsModule 1.0 -import com.nokia.JsModule 1.0 as RenamedModule +import com.qt.JsModule 1.0 +import com.qt.JsModule 1.0 as RenamedModule import "testJsModuleImport.js" as TestJsModuleImport QtObject { diff --git a/tests/auto/qml/qqmlecmascript/data/jsimport/testJsModuleImport.js b/tests/auto/qml/qqmlecmascript/data/jsimport/testJsModuleImport.js index 2d21953d2c..7440f610c1 100644 --- a/tests/auto/qml/qqmlecmascript/data/jsimport/testJsModuleImport.js +++ b/tests/auto/qml/qqmlecmascript/data/jsimport/testJsModuleImport.js @@ -1,4 +1,4 @@ -.import com.nokia.JsModule 1.0 as JsModule +.import com.qt.JsModule 1.0 as JsModule function importedValue() { return JsModule.ScriptAPI.greeting(); diff --git a/tests/auto/qml/qqmlecmascript/data/jsimport/testJsModuleRemoteImport.js b/tests/auto/qml/qqmlecmascript/data/jsimport/testJsModuleRemoteImport.js index e6e41bc6b2..6826f09da2 100644 --- a/tests/auto/qml/qqmlecmascript/data/jsimport/testJsModuleRemoteImport.js +++ b/tests/auto/qml/qqmlecmascript/data/jsimport/testJsModuleRemoteImport.js @@ -1,4 +1,4 @@ -.import com.nokia.JsRemoteModule 1.0 as JsModule +.import com.qt.JsRemoteModule 1.0 as JsModule function importedValue() { return JsModule.ScriptAPI.greeting(); diff --git a/tests/auto/qml/qqmlecmascript/data/jsimport/testJsRemoteImport.qml b/tests/auto/qml/qqmlecmascript/data/jsimport/testJsRemoteImport.qml index 4199bb022d..f49b38df23 100644 --- a/tests/auto/qml/qqmlecmascript/data/jsimport/testJsRemoteImport.qml +++ b/tests/auto/qml/qqmlecmascript/data/jsimport/testJsRemoteImport.qml @@ -1,7 +1,7 @@ import QtQuick 2.0 -import com.nokia.JsModule 1.0 -import com.nokia.JsModule 1.0 as RenamedModule +import com.qt.JsModule 1.0 +import com.qt.JsModule 1.0 as RenamedModule import "testJsModuleRemoteImport.js" as TestJsModuleImport QtObject { diff --git a/tests/auto/qml/qqmlecmascript/data/lib/com/nokia/JsModule/ScriptAPI.js b/tests/auto/qml/qqmlecmascript/data/lib/com/qt/JsModule/ScriptAPI.js index b90033eeb4..b90033eeb4 100644 --- a/tests/auto/qml/qqmlecmascript/data/lib/com/nokia/JsModule/ScriptAPI.js +++ b/tests/auto/qml/qqmlecmascript/data/lib/com/qt/JsModule/ScriptAPI.js diff --git a/tests/auto/qml/qqmlecmascript/data/lib/com/nokia/JsModule/qmldir b/tests/auto/qml/qqmlecmascript/data/lib/com/qt/JsModule/qmldir index c33d1e7a0d..c33d1e7a0d 100644 --- a/tests/auto/qml/qqmlecmascript/data/lib/com/nokia/JsModule/qmldir +++ b/tests/auto/qml/qqmlecmascript/data/lib/com/qt/JsModule/qmldir diff --git a/tests/auto/qml/qqmlecmascript/data/remote/com/nokia/JsRemoteModule/ScriptAPI.js b/tests/auto/qml/qqmlecmascript/data/remote/com/qt/JsRemoteModule/ScriptAPI.js index b90033eeb4..b90033eeb4 100644 --- a/tests/auto/qml/qqmlecmascript/data/remote/com/nokia/JsRemoteModule/ScriptAPI.js +++ b/tests/auto/qml/qqmlecmascript/data/remote/com/qt/JsRemoteModule/ScriptAPI.js diff --git a/tests/auto/qml/qqmlecmascript/data/remote/com/nokia/JsRemoteModule/qmldir b/tests/auto/qml/qqmlecmascript/data/remote/com/qt/JsRemoteModule/qmldir index c33d1e7a0d..c33d1e7a0d 100644 --- a/tests/auto/qml/qqmlecmascript/data/remote/com/nokia/JsRemoteModule/qmldir +++ b/tests/auto/qml/qqmlecmascript/data/remote/com/qt/JsRemoteModule/qmldir diff --git a/tests/auto/qml/qqmlecmascript/data/removeBindingsWithNoDependencies.qml b/tests/auto/qml/qqmlecmascript/data/removeBindingsWithNoDependencies.qml new file mode 100644 index 0000000000..aacf16474d --- /dev/null +++ b/tests/auto/qml/qqmlecmascript/data/removeBindingsWithNoDependencies.qml @@ -0,0 +1,9 @@ +import QtQuick 2.0 +Item { + property rect placement: Qt.rect(0, 0, 100, 100) + + function someFunction() { return 42; } + + property rect partialPlacement + partialPlacement.x: someFunction() +} diff --git a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp index f40a9758f7..0fa4c03dcb 100644 --- a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp +++ b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp @@ -49,6 +49,8 @@ #include <private/qv4object_p.h> #include <private/qqmlcomponentattached_p.h> #include <private/qv4objectiterator_p.h> +#include <private/qqmlabstractbinding_p.h> +#include <private/qqmlvaluetypeproxybinding_p.h> #ifdef Q_CC_MSVC #define NO_INLINE __declspec(noinline) @@ -353,11 +355,11 @@ private slots: void anotherNaN(); void callPropertyOnUndefined(); void jumpStrictNotEqualUndefined(); + void removeBindingsWithNoDependencies(); private: // static void propertyVarWeakRefCallback(v8::Persistent<v8::Value> object, void* parameter); static void verifyContextLifetime(QQmlContextData *ctxt); - QQmlEngine engine; // When calling into JavaScript, the specific type of the return value can differ if that return // value is a number. This is not only the case for non-integral numbers, or numbers that do not @@ -384,13 +386,11 @@ void tst_qqmlecmascript::initTestCase() { QQmlDataTest::initTestCase(); registerTypes(); - - QString dataDir(dataDirectory() + QLatin1Char('/') + QLatin1String("lib")); - engine.addImportPath(dataDir); } void tst_qqmlecmascript::assignBasicTypes() { + QQmlEngine engine; { QQmlComponent component(&engine, testFileUrl("assignBasicTypes.qml")); MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create()); @@ -470,6 +470,7 @@ void tst_qqmlecmascript::assignDate() QFETCH(QUrl, source); QFETCH(int, timeOffset); + QQmlEngine engine; QQmlComponent component(&engine, source); QScopedPointer<QObject> obj(component.create()); MyTypeObject *object = qobject_cast<MyTypeObject *>(obj.data()); @@ -550,6 +551,7 @@ void tst_qqmlecmascript::exportDate() void tst_qqmlecmascript::idShortcutInvalidates() { + QQmlEngine engine; { QQmlComponent component(&engine, testFileUrl("idShortcutInvalidates.qml")); MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create()); @@ -573,6 +575,7 @@ void tst_qqmlecmascript::idShortcutInvalidates() void tst_qqmlecmascript::boolPropertiesEvaluateAsBool() { + QQmlEngine engine; { QQmlComponent component(&engine, testFileUrl("boolPropertiesEvaluateAsBool.1.qml")); MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create()); @@ -591,6 +594,7 @@ void tst_qqmlecmascript::boolPropertiesEvaluateAsBool() void tst_qqmlecmascript::signalAssignment() { + QQmlEngine engine; { QQmlComponent component(&engine, testFileUrl("signalAssignment.1.qml")); MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create()); @@ -628,6 +632,7 @@ void tst_qqmlecmascript::signalAssignment() void tst_qqmlecmascript::signalArguments() { + QQmlEngine engine; { QQmlComponent component(&engine, testFileUrl("signalArguments.1.qml")); MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create()); @@ -653,6 +658,7 @@ void tst_qqmlecmascript::signalArguments() void tst_qqmlecmascript::methods() { + QQmlEngine engine; { QQmlComponent component(&engine, testFileUrl("methods.1.qml")); MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create()); @@ -706,6 +712,7 @@ void tst_qqmlecmascript::methods() void tst_qqmlecmascript::bindingLoop() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("bindingLoop.qml")); QString warning = component.url().toString() + ":9:9: QML MyQmlObject: Binding loop detected for property \"stringProperty\""; QTest::ignoreMessage(QtWarningMsg, warning.toLatin1().constData()); @@ -747,6 +754,8 @@ void tst_qqmlecmascript::basicExpressions() QFETCH(QVariant, result); QFETCH(bool, nest); + QQmlEngine engine; + MyQmlObject object1; MyQmlObject object2; MyQmlObject object3; @@ -779,6 +788,7 @@ void tst_qqmlecmascript::arrayExpressions() QObject obj2; QObject obj3; + QQmlEngine engine; QQmlContext context(engine.rootContext()); context.setContextProperty("a", &obj1); context.setContextProperty("b", &obj2); @@ -798,6 +808,7 @@ void tst_qqmlecmascript::arrayExpressions() // Tests that modifying a context property will reevaluate expressions void tst_qqmlecmascript::contextPropertiesTriggerReeval() { + QQmlEngine engine; QQmlContext context(engine.rootContext()); MyQmlObject object1; MyQmlObject object2; @@ -861,6 +872,7 @@ void tst_qqmlecmascript::contextPropertiesTriggerReeval() void tst_qqmlecmascript::objectPropertiesTriggerReeval() { + QQmlEngine engine; QQmlContext context(engine.rootContext()); MyQmlObject object1; MyQmlObject object2; @@ -927,6 +939,7 @@ void tst_qqmlecmascript::dependenciesWithFunctions() void tst_qqmlecmascript::deferredProperties() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("deferredProperties.qml")); MyDeferredObject *object = qobject_cast<MyDeferredObject *>(component.create()); @@ -950,6 +963,7 @@ void tst_qqmlecmascript::deferredProperties() // Check errors on deferred properties are correctly emitted void tst_qqmlecmascript::deferredPropertiesErrors() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("deferredPropertiesErrors.qml")); MyDeferredObject *object = qobject_cast<MyDeferredObject *>(component.create()); @@ -958,7 +972,7 @@ void tst_qqmlecmascript::deferredPropertiesErrors() QVERIFY(!object->objectProperty()); QVERIFY(!object->objectProperty2()); - QString warning = component.url().toString() + ":6:21: Unable to assign [undefined] to QObject*"; + QString warning = component.url().toString() + ":6:5: Unable to assign [undefined] to QObject*"; QTest::ignoreMessage(QtWarningMsg, qPrintable(warning)); qmlExecuteDeferred(object); @@ -969,6 +983,7 @@ void tst_qqmlecmascript::deferredPropertiesErrors() void tst_qqmlecmascript::deferredPropertiesInComponents() { // Test that it works when the property is set inside and outside component + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("deferredPropertiesInComponents.qml")); QObject *object = component.create(); if (!object) @@ -1002,6 +1017,7 @@ void tst_qqmlecmascript::deferredPropertiesInDestruction() //Test that the component does not get created at all if creation is deferred until the containing context is destroyed //Very specific operation ordering is needed for this to occur, currently accessing object from object destructor. // + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("deferredPropertiesInDestruction.qml")); QObject *object = component.create(); if (!object) @@ -1012,6 +1028,7 @@ void tst_qqmlecmascript::deferredPropertiesInDestruction() void tst_qqmlecmascript::extensionObjects() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("extensionObjects.qml")); MyExtendedObject *object = qobject_cast<MyExtendedObject *>(component.create()); @@ -1037,6 +1054,7 @@ void tst_qqmlecmascript::extensionObjects() void tst_qqmlecmascript::overrideExtensionProperties() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("extensionObjectsPropertyOverride.qml")); OverrideDefaultPropertyObject *object = qobject_cast<OverrideDefaultPropertyObject *>(component.create()); @@ -1049,6 +1067,8 @@ void tst_qqmlecmascript::overrideExtensionProperties() void tst_qqmlecmascript::attachedProperties() { + QQmlEngine engine; + { QQmlComponent component(&engine, testFileUrl("attachedProperty.qml")); QObject *object = component.create(); @@ -1090,6 +1110,8 @@ void tst_qqmlecmascript::attachedProperties() void tst_qqmlecmascript::enums() { + QQmlEngine engine; + // Existent enums { QQmlComponent component(&engine, testFileUrl("enums.1.qml")); @@ -1119,13 +1141,13 @@ void tst_qqmlecmascript::enums() { QUrl file = testFileUrl("enums.2.qml"); QString w1 = QLatin1String("QMetaProperty::read: Unable to handle unregistered datatype 'MyEnum' for property 'MyUnregisteredEnumTypeObject::enumProperty'"); - QString w2 = QLatin1String("QQmlExpression: Expression ") + testFileUrl("enums.2.qml").toString() + QLatin1String(":9:21 depends on non-NOTIFYable properties:"); + QString w2 = QLatin1String("QQmlExpression: Expression ") + testFileUrl("enums.2.qml").toString() + QLatin1String(":9:5 depends on non-NOTIFYable properties:"); QString w3 = QLatin1String(" MyUnregisteredEnumTypeObject::enumProperty"); - QString w4 = file.toString() + ":7:21: Unable to assign [undefined] to int"; - QString w5 = file.toString() + ":8:21: Unable to assign [undefined] to int"; - QString w6 = file.toString() + ":9:21: Unable to assign [undefined] to int"; - QString w7 = file.toString() + ":13:23: Unable to assign [undefined] to [unknown property type]"; - QString w8 = file.toString() + ":31:23: Unable to assign int to [unknown property type]"; + QString w4 = file.toString() + ":7:5: Unable to assign [undefined] to int"; + QString w5 = file.toString() + ":8:5: Unable to assign [undefined] to int"; + QString w6 = file.toString() + ":9:5: Unable to assign [undefined] to int"; + QString w7 = file.toString() + ":13:9: Unable to assign [undefined] to [unknown property type]"; + QString w8 = file.toString() + ":31:9: Unable to assign int to [unknown property type]"; QTest::ignoreMessage(QtWarningMsg, qPrintable(w1)); QTest::ignoreMessage(QtWarningMsg, qPrintable(w2)); QTest::ignoreMessage(QtWarningMsg, qPrintable(w3)); @@ -1196,6 +1218,7 @@ void tst_qqmlecmascript::enums() void tst_qqmlecmascript::valueTypeFunctions() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("valueTypeFunctions.qml")); MyTypeObject *obj = qobject_cast<MyTypeObject*>(component.create()); QVERIFY(obj != nullptr); @@ -1211,6 +1234,8 @@ binding. */ void tst_qqmlecmascript::constantsOverrideBindings() { + QQmlEngine engine; + // From ECMAScript { QQmlComponent component(&engine, testFileUrl("constantsOverrideBindings.1.qml")); @@ -1288,6 +1313,7 @@ the original binding to be disabled. */ void tst_qqmlecmascript::outerBindingOverridesInnerBinding() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("outerBindingOverridesInnerBinding.qml")); MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create()); @@ -1317,9 +1343,10 @@ Tests for a regression where this used to crash. */ void tst_qqmlecmascript::nonExistentAttachedObject() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("nonExistentAttachedObject.qml")); - QString warning = component.url().toString() + ":4:21: Unable to assign [undefined] to QString"; + QString warning = component.url().toString() + ":4:5: Unable to assign [undefined] to QString"; QTest::ignoreMessage(QtWarningMsg, qPrintable(warning)); QObject *object = component.create(); @@ -1330,6 +1357,8 @@ void tst_qqmlecmascript::nonExistentAttachedObject() void tst_qqmlecmascript::scope() { + QQmlEngine engine; + { QQmlComponent component(&engine, testFileUrl("scope.qml")); QObject *object = component.create(); @@ -1420,6 +1449,7 @@ void tst_qqmlecmascript::scope() // importing context void tst_qqmlecmascript::importScope() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("importScope.qml")); QObject *o = component.create(); QVERIFY(o != nullptr); @@ -1435,6 +1465,7 @@ is essentially a test of QQmlMetaType::copy() */ void tst_qqmlecmascript::signalParameterTypes() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("signalParameterTypes.qml")); MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create()); QVERIFY(object != nullptr); @@ -1462,6 +1493,7 @@ Test that two JS objects for the same QObject compare as equal. */ void tst_qqmlecmascript::objectsCompareAsEqual() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("objectsCompareAsEqual.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -1482,6 +1514,7 @@ Tests for a regression where the binding would not reevaluate. */ void tst_qqmlecmascript::aliasPropertyAndBinding() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("aliasPropertyAndBinding.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -1503,6 +1536,7 @@ and that the aliased property is reset correctly if possible. */ void tst_qqmlecmascript::aliasPropertyReset() { + QQmlEngine engine; QObject *object = nullptr; // test that a manual write (of undefined) to a resettable aliased property succeeds @@ -1631,6 +1665,7 @@ void tst_qqmlecmascript::componentCreation() QFETCH(QString, creationError); QFETCH(QString, createdParent); + QQmlEngine engine; QUrl testUrl(testFileUrl("componentCreation.qml")); if (!creationError.isEmpty()) { @@ -1677,6 +1712,7 @@ void tst_qqmlecmascript::dynamicCreation() QFETCH(QString, method); QFETCH(QString, createdName); + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("dynamicCreation.qml")); MyQmlObject *object = qobject_cast<MyQmlObject*>(component.create()); QVERIFY(object != nullptr); @@ -1694,6 +1730,8 @@ void tst_qqmlecmascript::dynamicCreation() */ void tst_qqmlecmascript::dynamicDestruction() { + QQmlEngine engine; + { QQmlComponent component(&engine, testFileUrl("dynamicDeletion.qml")); QPointer<MyQmlObject> object = qobject_cast<MyQmlObject*>(component.create()); @@ -1777,6 +1815,7 @@ void tst_qqmlecmascript::dynamicDestruction() */ void tst_qqmlecmascript::objectToString() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("qmlToString.qml")); MyQmlObject *object = qobject_cast<MyQmlObject*>(component.create()); QVERIFY(object != nullptr); @@ -1797,6 +1836,7 @@ void tst_qqmlecmascript::objectHasOwnProperty() QString warning2 = url.toString() + ":64: TypeError: Cannot call method 'hasOwnProperty' of undefined"; QString warning3 = url.toString() + ":69: TypeError: Cannot call method 'hasOwnProperty' of undefined"; + QQmlEngine engine; QQmlComponent component(&engine, url); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -1843,6 +1883,8 @@ This test is best run under valgrind to ensure no invalid memory access occur. */ void tst_qqmlecmascript::selfDeletingBinding() { + QQmlEngine engine; + { QQmlComponent component(&engine, testFileUrl("selfDeletingBinding.qml")); QObject *object = component.create(); @@ -1869,6 +1911,7 @@ and no synthesiszed properties). */ void tst_qqmlecmascript::extendedObjectPropertyLookup() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("extendedObjectPropertyLookup.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -1880,6 +1923,7 @@ Test that extended object properties can be accessed correctly. */ void tst_qqmlecmascript::extendedObjectPropertyLookup2() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("extendedObjectPropertyLookup2.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -1896,6 +1940,7 @@ Test failure when trying to create and uncreatable extended type object. */ void tst_qqmlecmascript::uncreatableExtendedObjectFailureCheck() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("uncreatableExtendedObjectFailureCheck.qml")); QObject *object = component.create(); @@ -1907,6 +1952,7 @@ Test that an subclass of an uncreatable extended object contains all the require */ void tst_qqmlecmascript::extendedObjectPropertyLookup3() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("extendedObjectPropertyLookup3.qml")); QObject *object = component.create(); @@ -1927,6 +1973,7 @@ Test file/lineNumbers for binding/Script errors. */ void tst_qqmlecmascript::scriptErrors() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("scriptErrors.qml")); QString url = component.url().toString(); @@ -1935,7 +1982,7 @@ void tst_qqmlecmascript::scriptErrors() QString warning3 = url.left(url.length() - 3) + "js:4: Error: Invalid write to global property \"a\""; QString warning4 = url + ":13: ReferenceError: a is not defined"; QString warning5 = url + ":11: ReferenceError: a is not defined"; - QString warning6 = url + ":10:21: Unable to assign [undefined] to int"; + QString warning6 = url + ":10:5: Unable to assign [undefined] to int"; QString warning7 = url + ":15: TypeError: Cannot assign to read-only property \"trueProperty\""; QString warning8 = url + ":16: Error: Cannot assign to non-existent property \"fakeProperty\""; @@ -1964,6 +2011,7 @@ Test file/lineNumbers for inline functions. */ void tst_qqmlecmascript::functionErrors() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("functionErrors.qml")); QString url = component.url().toString(); @@ -1994,6 +2042,7 @@ Test various errors that can occur when assigning a property from script */ void tst_qqmlecmascript::propertyAssignmentErrors() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("propertyAssignmentErrors.qml")); QString url = component.url().toString(); @@ -2013,6 +2062,7 @@ a signal script. */ void tst_qqmlecmascript::signalTriggeredBindings() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("signalTriggeredBindings.qml")); MyQmlObject *object = qobject_cast<MyQmlObject*>(component.create()); QVERIFY(object != nullptr); @@ -2041,6 +2091,7 @@ Test that list properties can be iterated from ECMAScript */ void tst_qqmlecmascript::listProperties() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("listProperties.qml")); MyQmlObject *object = qobject_cast<MyQmlObject*>(component.create()); QVERIFY(object != nullptr); @@ -2055,6 +2106,7 @@ void tst_qqmlecmascript::listProperties() void tst_qqmlecmascript::exceptionClearsOnReeval() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("exceptionClearsOnReeval.qml")); QString url = component.url().toString(); @@ -2078,6 +2130,7 @@ void tst_qqmlecmascript::exceptionClearsOnReeval() void tst_qqmlecmascript::exceptionSlotProducesWarning() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("exceptionProducesWarning.qml")); QString url = component.url().toString(); @@ -2091,6 +2144,7 @@ void tst_qqmlecmascript::exceptionSlotProducesWarning() void tst_qqmlecmascript::exceptionBindingProducesWarning() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("exceptionProducesWarning2.qml")); QString url = component.url().toString(); @@ -2105,6 +2159,7 @@ void tst_qqmlecmascript::exceptionBindingProducesWarning() void tst_qqmlecmascript::compileInvalidBinding() { // QTBUG-23387: ensure that invalid bindings don't cause a crash. + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("v8bindingException.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -2114,6 +2169,8 @@ void tst_qqmlecmascript::compileInvalidBinding() // Check that transient binding errors are not displayed void tst_qqmlecmascript::transientErrors() { + QQmlEngine engine; + { QQmlComponent component(&engine, testFileUrl("transientErrors.qml")); @@ -2145,6 +2202,7 @@ void tst_qqmlecmascript::transientErrors() // Check that errors during shutdown are minimized void tst_qqmlecmascript::shutdownErrors() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("shutdownErrors.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -2158,6 +2216,7 @@ void tst_qqmlecmascript::shutdownErrors() void tst_qqmlecmascript::compositePropertyType() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("compositePropertyType.qml")); QTest::ignoreMessage(QtDebugMsg, "hello world"); @@ -2168,6 +2227,7 @@ void tst_qqmlecmascript::compositePropertyType() // QTBUG-5759 void tst_qqmlecmascript::jsObject() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("jsObject.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -2179,6 +2239,8 @@ void tst_qqmlecmascript::jsObject() void tst_qqmlecmascript::undefinedResetsProperty() { + QQmlEngine engine; + { QQmlComponent component(&engine, testFileUrl("undefinedResetsProperty.qml")); QObject *object = component.create(); @@ -2214,6 +2276,7 @@ void tst_qqmlecmascript::undefinedResetsProperty() // Aliases to variant properties should work void tst_qqmlecmascript::qtbug_22464() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("qtbug_22464.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -2225,6 +2288,7 @@ void tst_qqmlecmascript::qtbug_22464() void tst_qqmlecmascript::qtbug_21580() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("qtbug_21580.qml")); QObject *object = component.create(); @@ -2238,6 +2302,7 @@ void tst_qqmlecmascript::qtbug_21580() // Causes a v8 binding, but not all v8 bindings to be destroyed during evaluation void tst_qqmlecmascript::singleV8BindingDestroyedDuringEvaluation() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("singleV8BindingDestroyedDuringEvaluation.qml")); QObject *object = component.create(); @@ -2248,6 +2313,7 @@ void tst_qqmlecmascript::singleV8BindingDestroyedDuringEvaluation() // QTBUG-6781 void tst_qqmlecmascript::bug1() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("bug.1.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -2268,6 +2334,7 @@ void tst_qqmlecmascript::bug1() #ifndef QT_NO_WIDGETS void tst_qqmlecmascript::bug2() { + QQmlEngine engine; QQmlComponent component(&engine); component.setData("import Qt.test 1.0;\nQPlainTextEdit { width: 100 }", QUrl()); @@ -2281,6 +2348,7 @@ void tst_qqmlecmascript::bug2() // Don't crash in createObject when the component has errors. void tst_qqmlecmascript::dynamicCreationCrash() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("dynamicCreation.qml")); MyQmlObject *object = qobject_cast<MyQmlObject*>(component.create()); QVERIFY(object != nullptr); @@ -2331,6 +2399,8 @@ void tst_qqmlecmascript::dynamicCreationOwnership() void tst_qqmlecmascript::regExpBug() { + QQmlEngine engine; + //QTBUG-9367 { QQmlComponent component(&engine, testFileUrl("regExp.qml")); @@ -2357,7 +2427,7 @@ static inline bool evaluate_error(QV4::ExecutionEngine *v4, const QV4::Value &o, QLatin1String(source) + QLatin1String(" })"); QV4::Scope scope(v4); - QV4::Script program(QV4::ScopedContext(scope, scope.engine->rootContext()), QV4::Compiler::EvalCode, functionSource); + QV4::Script program(QV4::ScopedContext(scope, scope.engine->rootContext()), QV4::Compiler::ContextType::Eval, functionSource); program.inheritContext = true; QV4::ScopedFunctionObject function(scope, program.run()); @@ -2383,7 +2453,7 @@ static inline bool evaluate_value(QV4::ExecutionEngine *v4, const QV4::Value &o, QLatin1String(source) + QLatin1String(" })"); QV4::Scope scope(v4); - QV4::Script program(QV4::ScopedContext(scope, scope.engine->rootContext()), QV4::Compiler::EvalCode, functionSource); + QV4::Script program(QV4::ScopedContext(scope, scope.engine->rootContext()), QV4::Compiler::ContextType::Eval, functionSource); program.inheritContext = true; QV4::ScopedFunctionObject function(scope, program.run()); @@ -2414,7 +2484,7 @@ static inline QV4::ReturnedValue evaluate(QV4::ExecutionEngine *v4, const QV4::V QV4::Scope scope(v4); - QV4::Script program(QV4::ScopedContext(scope, scope.engine->rootContext()), QV4::Compiler::EvalCode, functionSource); + QV4::Script program(QV4::ScopedContext(scope, scope.engine->rootContext()), QV4::Compiler::ContextType::Eval, functionSource); program.inheritContext = true; QV4::ScopedFunctionObject function(scope, program.run()); @@ -3058,6 +3128,7 @@ void tst_qqmlecmascript::resolveClashingProperties() // QTBUG-13047 (check that you can pass registered object types as args) void tst_qqmlecmascript::invokableObjectArg() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("invokableObjectArg.qml")); QObject *o = component.create(); @@ -3072,6 +3143,7 @@ void tst_qqmlecmascript::invokableObjectArg() // QTBUG-13047 (check that you can return registered object types from methods) void tst_qqmlecmascript::invokableObjectRet() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("invokableObjectRet.qml")); QObject *o = component.create(); @@ -3082,6 +3154,7 @@ void tst_qqmlecmascript::invokableObjectRet() void tst_qqmlecmascript::invokableEnumRet() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("invokableEnumRet.qml")); QObject *o = component.create(); @@ -3093,6 +3166,7 @@ void tst_qqmlecmascript::invokableEnumRet() // QTBUG-5675 void tst_qqmlecmascript::listToVariant() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("listToVariant.qml")); MyQmlContainer container; @@ -3113,6 +3187,7 @@ void tst_qqmlecmascript::listToVariant() // QTBUG-16316 void tst_qqmlecmascript::listAssignment() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("listAssignment.qml")); QObject *obj = component.create(); QCOMPARE(obj->property("list1length").toInt(), 2); @@ -3151,6 +3226,7 @@ void tst_qqmlecmascript::multiEngineObject() // Test that references to QObjects are cleanup when the object is destroyed void tst_qqmlecmascript::deletedObject() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("deletedObject.qml")); QObject *object = component.create(); @@ -3165,6 +3241,7 @@ void tst_qqmlecmascript::deletedObject() void tst_qqmlecmascript::attachedPropertyScope() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("attachedPropertyScope.qml")); QObject *object = component.create(); @@ -3185,6 +3262,8 @@ void tst_qqmlecmascript::attachedPropertyScope() void tst_qqmlecmascript::scriptConnect() { + QQmlEngine engine; + { QQmlComponent component(&engine, testFileUrl("scriptConnect.1.qml")); @@ -3266,6 +3345,8 @@ void tst_qqmlecmascript::scriptConnect() void tst_qqmlecmascript::scriptDisconnect() { + QQmlEngine engine; + { QQmlComponent component(&engine, testFileUrl("scriptDisconnect.1.qml")); @@ -3356,6 +3437,7 @@ public slots: void tst_qqmlecmascript::ownership() { + QQmlEngine engine; OwnershipObject own; QQmlContext *context = new QQmlContext(engine.rootContext()); context->setContextObject(&own); @@ -3453,6 +3535,7 @@ void tst_qqmlecmascript::cppOwnershipReturnValue() // QTBUG-15697 void tst_qqmlecmascript::ownershipCustomReturnValue() { + QQmlEngine engine; CppOwnershipReturnValue source; { @@ -3496,6 +3579,7 @@ public slots: void tst_qqmlecmascript::ownershipRootObject() { + QQmlEngine engine; OwnershipChangingObject own; QQmlContext *context = new QQmlContext(engine.rootContext()); context->setContextObject(&own); @@ -3517,6 +3601,7 @@ void tst_qqmlecmascript::ownershipRootObject() void tst_qqmlecmascript::ownershipConsistency() { + QQmlEngine engine; OwnershipChangingObject own; QQmlContext *context = new QQmlContext(engine.rootContext()); context->setContextObject(&own); @@ -3547,6 +3632,7 @@ void tst_qqmlecmascript::ownershipConsistency() void tst_qqmlecmascript::ownershipQmlIncubated() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("ownershipQmlIncubated.qml")); QObject *object = component.create(); QVERIFY(object); @@ -3586,6 +3672,7 @@ private: // Tests that returning a QList<QObject*> from a method works void tst_qqmlecmascript::qlistqobjectMethods() { + QQmlEngine engine; QListQObjectMethodsObject obj; QQmlContext *context = new QQmlContext(engine.rootContext()); context->setContextObject(&obj); @@ -3604,6 +3691,7 @@ void tst_qqmlecmascript::qlistqobjectMethods() // QTBUG-9205 void tst_qqmlecmascript::strictlyEquals() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("strictlyEquals.qml")); QObject *object = component.create(); @@ -3623,6 +3711,7 @@ void tst_qqmlecmascript::strictlyEquals() void tst_qqmlecmascript::compiled() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("compiled.qml")); QObject *object = component.create(); @@ -3663,6 +3752,7 @@ void tst_qqmlecmascript::compiled() // Test that numbers assigned in bindings as strings work consistently void tst_qqmlecmascript::numberAssignment() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("numberAssignment.qml")); QObject *object = component.create(); @@ -3689,6 +3779,7 @@ void tst_qqmlecmascript::numberAssignment() void tst_qqmlecmascript::propertySplicing() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("propertySplicing.qml")); QObject *object = component.create(); @@ -3702,6 +3793,7 @@ void tst_qqmlecmascript::propertySplicing() // QTBUG-16683 void tst_qqmlecmascript::signalWithUnknownTypes() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("signalWithUnknownTypes.qml")); MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create()); @@ -3755,6 +3847,7 @@ void tst_qqmlecmascript::signalWithJSValueInVariant() QFETCH(QString, expression); QFETCH(QString, compare); + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("signalWithJSValueInVariant.qml")); QScopedPointer<MyQmlObject> object(qobject_cast<MyQmlObject *>(component.create())); QVERIFY(object != nullptr); @@ -3779,6 +3872,7 @@ void tst_qqmlecmascript::signalWithJSValueInVariant_twoEngines() QFETCH(QString, expression); QFETCH(QString, compare); + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("signalWithJSValueInVariant.qml")); QScopedPointer<MyQmlObject> object(qobject_cast<MyQmlObject *>(component.create())); QVERIFY(object != nullptr); @@ -3809,6 +3903,7 @@ void tst_qqmlecmascript::signalWithQJSValue() QFETCH(QString, expression); QFETCH(QString, compare); + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("signalWithQJSValue.qml")); QScopedPointer<MyQmlObject> object(qobject_cast<MyQmlObject *>(component.create())); QVERIFY(object != nullptr); @@ -4029,6 +4124,7 @@ void tst_qqmlecmascript::singletonTypeCaching() void tst_qqmlecmascript::singletonTypeImportOrder() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("singletontype/singletonTypeImportOrder.qml")); QObject *object = component.create(); QVERIFY(object); @@ -4038,6 +4134,7 @@ void tst_qqmlecmascript::singletonTypeImportOrder() void tst_qqmlecmascript::singletonTypeResolution() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("singletontype/singletonTypeResolution.qml")); QObject *object = component.create(); QVERIFY(object); @@ -4181,7 +4278,7 @@ void tst_qqmlecmascript::importScripts_data() << QString() << QStringList() << (QStringList() << QLatin1String("testValue")) - << (QVariantList() << QVariant(18)); + << (QVariantList() << QVariant(16)); QTest::newRow("import singleton type into js import") << testFileUrl("jsimport/testImportSingletonType.qml") @@ -4315,6 +4412,10 @@ void tst_qqmlecmascript::importScripts() ThreadedTestHTTPServer server(dataDirectory() + "/remote"); + QQmlEngine engine; + QString dataDir(dataDirectory() + QLatin1Char('/') + QLatin1String("lib")); + engine.addImportPath(dataDir); + QStringList importPathList = engine.importPathList(); QString remotePath(server.urlString("/")); @@ -4358,6 +4459,7 @@ void tst_qqmlecmascript::importScripts() void tst_qqmlecmascript::importCreationContext() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("jsimport/creationContext.qml")); QScopedPointer<QObject> object(component.create()); QVERIFY(!object.isNull()); @@ -4378,6 +4480,7 @@ void tst_qqmlecmascript::scarceResources_other() QPixmap origPixmap(100, 100); origPixmap.fill(Qt::blue); QString srp_name, expectedWarning; + QQmlEngine engine; QV4::ExecutionEngine *v4 = engine.handle(); ScarceResourceObject *eo = nullptr; QObject *srsc = nullptr; @@ -4749,6 +4852,7 @@ void tst_qqmlecmascript::scarceResources() QFETCH(QVariantList, expectedValues); QFETCH(QStringList, expectedErrors); + QQmlEngine engine; QV4::ExecutionEngine *v4 = engine.handle(); ScarceResourceObject *eo = nullptr; QObject *object = nullptr; @@ -4781,6 +4885,7 @@ void tst_qqmlecmascript::scarceResources() void tst_qqmlecmascript::propertyChangeSlots() { // ensure that allowable property names are allowed and onPropertyNameChanged slots are generated correctly. + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("changeslots/propertyChangeSlots.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -4847,6 +4952,7 @@ void tst_qqmlecmascript::propertyVar() { QFETCH(QUrl, qmlFile); + QQmlEngine engine; QQmlComponent component(&engine, qmlFile); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -4886,6 +4992,7 @@ void tst_qqmlecmascript::propertyQJSValue() { QFETCH(QUrl, qmlFile); + QQmlEngine engine; QQmlComponent component(&engine, qmlFile); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -4903,6 +5010,7 @@ void tst_qqmlecmascript::propertyVarCpp() // ensure that writing to and reading from a var property from cpp works as required. // Literal values stored in var properties can be read and written as QVariants // of a specific type, whereas object values are read as QVariantMaps. + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("propertyVarCpp.qml")); object = component.create(); QVERIFY(object != nullptr); @@ -4924,6 +5032,8 @@ void tst_qqmlecmascript::propertyVarCpp() void tst_qqmlecmascript::propertyVarOwnership() { + QQmlEngine engine; + // Referenced JS objects are not collected { QQmlComponent component(&engine, testFileUrl("propertyVarOwnership.qml")); @@ -5005,6 +5115,7 @@ void tst_qqmlecmascript::propertyVarImplicitOwnership() // The childObject has a reference to a different QObject. We want to ensure // that the different item will not be cleaned up until required. IE, the childObject // has implicit ownership of the constructed QObject. + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("propertyVarImplicitOwnership.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -5032,6 +5143,7 @@ void tst_qqmlecmascript::propertyVarImplicitOwnership() void tst_qqmlecmascript::propertyVarReparent() { // ensure that nothing breaks if we re-parent objects + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("propertyVar.reparent.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -5074,6 +5186,7 @@ void tst_qqmlecmascript::propertyVarReparentNullContext() // sometimes reparenting can cause problems // (eg, if the ctxt is collected, varproperties are no longer available) // this test ensures that no crash occurs in that situation. + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("propertyVar.reparent.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -5110,6 +5223,7 @@ void tst_qqmlecmascript::propertyVarReparentNullContext() void tst_qqmlecmascript::propertyVarCircular() { // enforce behaviour regarding circular references - ensure qdvmemo deletion. + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("propertyVar.circular.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -5142,6 +5256,7 @@ void tst_qqmlecmascript::propertyVarCircular2() { // track deletion of JS-owned parent item with Cpp-owned child // where the child has a var property referencing its parent. + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("propertyVar.circular.2.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -5170,6 +5285,7 @@ void tst_qqmlecmascript::propertyVarInheritance() { // enforce behaviour regarding element inheritance - ensure handle disposal. // The particular component under test here has a chain of references. + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("propertyVar.inherit.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -5215,6 +5331,7 @@ void tst_qqmlecmascript::propertyVarInheritance2() { // The particular component under test here does NOT have a chain of references; the // only link between rootObject and childObject is that rootObject is the parent of childObject. + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("propertyVar.circular.2.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -5248,6 +5365,7 @@ void tst_qqmlecmascript::propertyVarInheritance2() // Ensure that QObject type conversion works on binding assignment void tst_qqmlecmascript::elementAssign() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("elementAssign.qml")); QObject *object = component.create(); @@ -5261,6 +5379,7 @@ void tst_qqmlecmascript::elementAssign() // QTBUG-12457 void tst_qqmlecmascript::objectPassThroughSignals() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("objectsPassThroughSignals.qml")); QObject *object = component.create(); @@ -5274,6 +5393,7 @@ void tst_qqmlecmascript::objectPassThroughSignals() // QTBUG-21626 void tst_qqmlecmascript::objectConversion() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("objectConversion.qml")); QObject *object = component.create(); @@ -5289,6 +5409,7 @@ void tst_qqmlecmascript::objectConversion() // QTBUG-20242 void tst_qqmlecmascript::booleanConversion() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("booleanConversion.qml")); QObject *object = component.create(); @@ -5401,6 +5522,7 @@ void tst_qqmlecmascript::handleReferenceManagement() void tst_qqmlecmascript::stringArg() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("stringArg.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -5417,6 +5539,7 @@ void tst_qqmlecmascript::stringArg() void tst_qqmlecmascript::readonlyDeclaration() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("readonlyDeclaration.qml")); QObject *object = component.create(); @@ -5434,6 +5557,8 @@ Q_DECLARE_METATYPE(QList<QString>) Q_DECLARE_METATYPE(QList<QUrl>) void tst_qqmlecmascript::sequenceConversionRead() { + QQmlEngine engine; + { QUrl qmlFile = testFileUrl("sequenceConversion.read.qml"); QQmlComponent component(&engine, qmlFile); @@ -5514,6 +5639,7 @@ void tst_qqmlecmascript::sequenceConversionRead() void tst_qqmlecmascript::sequenceConversionWrite() { + QQmlEngine engine; { QUrl qmlFile = testFileUrl("sequenceConversion.write.qml"); QQmlComponent component(&engine, qmlFile); @@ -5562,6 +5688,7 @@ void tst_qqmlecmascript::sequenceConversionArray() { // ensure that in JS the returned sequences act just like normal JS Arrays. QUrl qmlFile = testFileUrl("sequenceConversion.array.qml"); + QQmlEngine engine; QQmlComponent component(&engine, qmlFile); QScopedPointer<QObject> object(component.create()); QVERIFY(object != nullptr); @@ -5583,6 +5710,7 @@ void tst_qqmlecmascript::sequenceConversionIndexes() // ensure that we gracefully fail if unsupported index values are specified. // Qt container classes only support non-negative, signed integer index values. QUrl qmlFile = testFileUrl("sequenceConversion.indexes.qml"); + QQmlEngine engine; QQmlComponent component(&engine, qmlFile); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -5604,6 +5732,7 @@ void tst_qqmlecmascript::sequenceConversionThreads() // ensure that sequence conversion operations work correctly in a worker thread // and that serialisation between the main and worker thread succeeds. QUrl qmlFile = testFileUrl("sequenceConversion.threads.qml"); + QQmlEngine engine; QQmlComponent component(&engine, qmlFile); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -5641,6 +5770,7 @@ void tst_qqmlecmascript::sequenceConversionThreads() void tst_qqmlecmascript::sequenceConversionBindings() { + QQmlEngine engine; { QUrl qmlFile = testFileUrl("sequenceConversion.bindings.qml"); QQmlComponent component(&engine, qmlFile); @@ -5656,7 +5786,7 @@ void tst_qqmlecmascript::sequenceConversionBindings() { QUrl qmlFile = testFileUrl("sequenceConversion.bindings.error.qml"); - QString warning = QString(QLatin1String("%1:17:27: Unable to assign QList<int> to QList<bool>")).arg(qmlFile.toString()); + QString warning = QString(QLatin1String("%1:17:9: Unable to assign QList<int> to QList<bool>")).arg(qmlFile.toString()); QTest::ignoreMessage(QtWarningMsg, warning.toLatin1().constData()); QQmlComponent component(&engine, qmlFile); QObject *object = component.create(); @@ -5668,6 +5798,7 @@ void tst_qqmlecmascript::sequenceConversionBindings() void tst_qqmlecmascript::sequenceConversionCopy() { QUrl qmlFile = testFileUrl("sequenceConversion.copy.qml"); + QQmlEngine engine; QQmlComponent component(&engine, qmlFile); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -5686,6 +5817,8 @@ void tst_qqmlecmascript::sequenceConversionCopy() void tst_qqmlecmascript::assignSequenceTypes() { + QQmlEngine engine; + // test binding array to sequence type property { QQmlComponent component(&engine, testFileUrl("assignSequenceTypes.1.qml")); @@ -5784,12 +5917,23 @@ void tst_qqmlecmascript::assignSequenceTypes() QCOMPARE(msco5->urlListProperty(), (QList<QUrl>() << QUrl(testFileUrl("example.html")) << QUrl(testFileUrl("example2.html")))); delete object; } + + { + QQmlComponent component(&engine, testFileUrl("assignSequenceTypes.8.qml")); + QScopedPointer<QObject> object(component.create()); + QVERIFY(object != nullptr); + QVariant result; + QMetaObject::invokeMethod(object.data(), "tryWritingReadOnlySequence", Q_RETURN_ARG(QVariant, result)); + QVERIFY(result.type() == QVariant::Bool); + QVERIFY(result.toBool()); + } } // Test that assigning a null object works // Regressed with: df1788b4dbbb2826ae63f26bdf166342595343f4 void tst_qqmlecmascript::nullObjectBinding() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("nullObjectBinding.qml")); QObject *object = component.create(); @@ -5802,6 +5946,7 @@ void tst_qqmlecmascript::nullObjectBinding() void tst_qqmlecmascript::nullObjectInitializer() { + QQmlEngine engine; { QQmlComponent component(&engine, testFileUrl("nullObjectInitializer.qml")); QScopedPointer<QObject> obj(component.create()); @@ -5832,7 +5977,7 @@ void tst_qqmlecmascript::nullObjectInitializer() { const int propertyIndex = obj->metaObject()->indexOfProperty("testProperty"); QVERIFY(propertyIndex > 0); - QVERIFY(ddata->hasBindingBit(propertyIndex)); + QVERIFY(!ddata->hasBindingBit(propertyIndex)); } QVERIFY(obj->property("success").toBool()); @@ -5869,6 +6014,7 @@ void tst_qqmlecmascript::deletedEngine() // Test the crashing part of QTBUG-9705 void tst_qqmlecmascript::libraryScriptAssert() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("libraryScriptAssert.qml")); QObject *object = component.create(); @@ -5879,6 +6025,7 @@ void tst_qqmlecmascript::libraryScriptAssert() void tst_qqmlecmascript::variantsAssignedUndefined() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("variantsAssignedUndefined.qml")); QObject *object = component.create(); @@ -5898,6 +6045,7 @@ void tst_qqmlecmascript::variantsAssignedUndefined() void tst_qqmlecmascript::variants() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("variants.qml")); QObject *object = component.create(); @@ -5921,6 +6069,7 @@ void tst_qqmlecmascript::variants() void tst_qqmlecmascript::qtbug_9792() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("qtbug_9792.qml")); QQmlContext *context = new QQmlContext(engine.rootContext()); @@ -5945,6 +6094,7 @@ void tst_qqmlecmascript::qtbug_9792() // Verifies that QPointer<>s used in the vmemetaobject are cleaned correctly void tst_qqmlecmascript::qtcreatorbug_1289() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("qtcreatorbug_1289.qml")); QObject *o = component.create(); @@ -5966,6 +6116,7 @@ void tst_qqmlecmascript::qtcreatorbug_1289() // Test that we shut down without stupid warnings void tst_qqmlecmascript::noSpuriousWarningsAtShutdown() { + QQmlEngine engine; { QQmlComponent component(&engine, testFileUrl("noSpuriousWarningsAtShutdown.qml")); @@ -5994,6 +6145,7 @@ void tst_qqmlecmascript::noSpuriousWarningsAtShutdown() void tst_qqmlecmascript::canAssignNullToQObject() { + QQmlEngine engine; { QQmlComponent component(&engine, testFileUrl("canAssignNullToQObject.1.qml")); @@ -6023,13 +6175,14 @@ void tst_qqmlecmascript::canAssignNullToQObject() void tst_qqmlecmascript::functionAssignment_fromBinding() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("functionAssignment.1.qml")); QString url = component.url().toString(); - QString w1 = url + ":4:25: Unable to assign a function to a property of any type other than var."; - QString w2 = url + ":5:25: Invalid use of Qt.binding() in a binding declaration."; - QString w3 = url + ":6:21: Invalid use of Qt.binding() in a binding declaration."; - QString w4 = url + ":7:15: Invalid use of Qt.binding() in a binding declaration."; + QString w1 = url + ":4:5: Unable to assign a function to a property of any type other than var."; + QString w2 = url + ":5:5: Invalid use of Qt.binding() in a binding declaration."; + QString w3 = url + ":6:5: Invalid use of Qt.binding() in a binding declaration."; + QString w4 = url + ":7:5: Invalid use of Qt.binding() in a binding declaration."; QTest::ignoreMessage(QtWarningMsg, w1.toLatin1().constData()); QTest::ignoreMessage(QtWarningMsg, w2.toLatin1().constData()); QTest::ignoreMessage(QtWarningMsg, w3.toLatin1().constData()); @@ -6047,6 +6200,7 @@ void tst_qqmlecmascript::functionAssignment_fromJS() { QFETCH(QString, triggerProperty); + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("functionAssignment.2.qml")); QVERIFY2(component.errorString().isEmpty(), qPrintable(component.errorString())); @@ -6079,6 +6233,7 @@ void tst_qqmlecmascript::functionAssignment_fromJS_data() void tst_qqmlecmascript::functionAssignmentfromJS_invalid() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("functionAssignment.2.qml")); QVERIFY2(component.errorString().isEmpty(), qPrintable(component.errorString())); @@ -6103,6 +6258,7 @@ void tst_qqmlecmascript::functionAssignmentfromJS_invalid() void tst_qqmlecmascript::functionAssignment_afterBinding() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("functionAssignment.3.qml")); QString url = component.url().toString(); @@ -6119,6 +6275,7 @@ void tst_qqmlecmascript::functionAssignment_afterBinding() void tst_qqmlecmascript::eval() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("eval.qml")); QObject *o = component.create(); @@ -6135,6 +6292,7 @@ void tst_qqmlecmascript::eval() void tst_qqmlecmascript::function() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("function.qml")); QObject *o = component.create(); @@ -6150,6 +6308,7 @@ void tst_qqmlecmascript::function() // Test the "Qt.include" method void tst_qqmlecmascript::include() { + QQmlEngine engine; // Non-library relative include { QQmlComponent component(&engine, testFileUrl("include.qml")); @@ -6254,6 +6413,7 @@ void tst_qqmlecmascript::includeRemoteSuccess() QVERIFY2(server.listen(), qPrintable(server.errorString())); server.serveDirectory(dataDirectory()); + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("include_remote.qml")); QObject *o = component.beginCreate(engine.rootContext()); QVERIFY(o != nullptr); @@ -6280,6 +6440,7 @@ void tst_qqmlecmascript::includeRemoteSuccess() void tst_qqmlecmascript::signalHandlers() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("signalHandlers.qml")); QScopedPointer<QObject> o(component.create()); QVERIFY(o != nullptr); @@ -6340,6 +6501,7 @@ void tst_qqmlecmascript::qtbug_37351() void tst_qqmlecmascript::qtbug_10696() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("qtbug_10696.qml")); QObject *o = component.create(); QVERIFY(o != nullptr); @@ -6348,6 +6510,7 @@ void tst_qqmlecmascript::qtbug_10696() void tst_qqmlecmascript::qtbug_11606() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("qtbug_11606.qml")); QObject *o = component.create(); QVERIFY(o != nullptr); @@ -6357,6 +6520,7 @@ void tst_qqmlecmascript::qtbug_11606() void tst_qqmlecmascript::qtbug_11600() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("qtbug_11600.qml")); QObject *o = component.create(); QVERIFY(o != nullptr); @@ -6366,6 +6530,7 @@ void tst_qqmlecmascript::qtbug_11600() void tst_qqmlecmascript::qtbug_21864() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("qtbug_21864.qml")); QObject *o = component.create(); QVERIFY(o != nullptr); @@ -6375,6 +6540,7 @@ void tst_qqmlecmascript::qtbug_21864() void tst_qqmlecmascript::rewriteMultiLineStrings() { + QQmlEngine engine; { // QTBUG-23387 QQmlComponent component(&engine, testFileUrl("rewriteMultiLineStrings.qml")); @@ -6395,6 +6561,7 @@ void tst_qqmlecmascript::rewriteMultiLineStrings() void tst_qqmlecmascript::qobjectConnectionListExceptionHandling() { // QTBUG-23375 + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("qobjectConnectionListExceptionHandling.qml")); QString warning = component.url().toString() + QLatin1String(":13: TypeError: Cannot read property 'undefined' of undefined"); QTest::ignoreMessage(QtWarningMsg, qPrintable(warning)); @@ -6409,6 +6576,7 @@ void tst_qqmlecmascript::qobjectConnectionListExceptionHandling() // Reading and writing non-scriptable properties should fail void tst_qqmlecmascript::nonscriptable() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("nonscriptable.qml")); QObject *o = component.create(); QVERIFY(o != nullptr); @@ -6420,6 +6588,7 @@ void tst_qqmlecmascript::nonscriptable() // deleteLater() should not be callable from QML void tst_qqmlecmascript::deleteLater() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("deleteLater.qml")); QObject *o = component.create(); QVERIFY(o != nullptr); @@ -6430,6 +6599,7 @@ void tst_qqmlecmascript::deleteLater() // objectNameChanged() should be usable from QML void tst_qqmlecmascript::objectNameChangedSignal() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("objectNameChangedSignal.qml")); QObject *o = component.create(); QVERIFY(o != nullptr); @@ -6442,6 +6612,7 @@ void tst_qqmlecmascript::objectNameChangedSignal() // destroyed() should not be usable from QML void tst_qqmlecmascript::destroyedSignal() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("destroyedSignal.qml")); QVERIFY(component.isError()); @@ -6451,6 +6622,7 @@ void tst_qqmlecmascript::destroyedSignal() void tst_qqmlecmascript::in() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("in.qml")); QObject *o = component.create(); QVERIFY(o != nullptr); @@ -6461,6 +6633,7 @@ void tst_qqmlecmascript::in() void tst_qqmlecmascript::typeOf() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("typeOf.qml")); QObject *o = component.create(); @@ -6481,6 +6654,7 @@ void tst_qqmlecmascript::typeOf() void tst_qqmlecmascript::qtbug_24448() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("qtbug_24448.qml")); QScopedPointer<QObject> o(component.create()); QVERIFY(o != nullptr); @@ -6489,6 +6663,7 @@ void tst_qqmlecmascript::qtbug_24448() void tst_qqmlecmascript::sharedAttachedObject() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("sharedAttachedObject.qml")); QObject *o = component.create(); QVERIFY(o != nullptr); @@ -6500,6 +6675,7 @@ void tst_qqmlecmascript::sharedAttachedObject() // QTBUG-13999 void tst_qqmlecmascript::objectName() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("objectName.qml")); QObject *o = component.create(); QVERIFY(o != nullptr); @@ -6517,6 +6693,7 @@ void tst_qqmlecmascript::objectName() void tst_qqmlecmascript::writeRemovesBinding() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("writeRemovesBinding.qml")); QObject *o = component.create(); QVERIFY(o != nullptr); @@ -6529,6 +6706,7 @@ void tst_qqmlecmascript::writeRemovesBinding() // Test bindings assigned to alias properties actually assign to the alias' target void tst_qqmlecmascript::aliasBindingsAssignCorrectly() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("aliasBindingsAssignCorrectly.qml")); QObject *o = component.create(); QVERIFY(o != nullptr); @@ -6541,6 +6719,7 @@ void tst_qqmlecmascript::aliasBindingsAssignCorrectly() // Test bindings assigned to alias properties override a binding on the target (QTBUG-13719) void tst_qqmlecmascript::aliasBindingsOverrideTarget() { + QQmlEngine engine; { QQmlComponent component(&engine, testFileUrl("aliasBindingsOverrideTarget.qml")); QObject *o = component.create(); @@ -6575,6 +6754,7 @@ void tst_qqmlecmascript::aliasBindingsOverrideTarget() // Test that writes to alias properties override bindings on the alias target (QTBUG-13719) void tst_qqmlecmascript::aliasWritesOverrideBindings() { + QQmlEngine engine; { QQmlComponent component(&engine, testFileUrl("aliasWritesOverrideBindings.qml")); QObject *o = component.create(); @@ -6610,6 +6790,7 @@ void tst_qqmlecmascript::aliasWritesOverrideBindings() // QTBUG-20200 void tst_qqmlecmascript::aliasToCompositeElement() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("aliasToCompositeElement.qml")); QObject *object = component.create(); @@ -6620,6 +6801,7 @@ void tst_qqmlecmascript::aliasToCompositeElement() void tst_qqmlecmascript::qtbug_20344() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("qtbug_20344.qml")); QString warning = component.url().toString() + ":5: Error: Exception thrown from within QObject slot"; @@ -6633,6 +6815,7 @@ void tst_qqmlecmascript::qtbug_20344() void tst_qqmlecmascript::revisionErrors() { + QQmlEngine engine; { QQmlComponent component(&engine, testFileUrl("metaobjectRevisionErrors.qml")); QString url = component.url().toString(); @@ -6690,6 +6873,7 @@ void tst_qqmlecmascript::revisionErrors() void tst_qqmlecmascript::revision() { + QQmlEngine engine; { QQmlComponent component(&engine, testFileUrl("metaobjectRevision.qml")); QString url = component.url().toString(); @@ -6736,6 +6920,7 @@ void tst_qqmlecmascript::revision() void tst_qqmlecmascript::realToInt() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("realToInt.qml")); MyQmlObject *object = qobject_cast<MyQmlObject*>(component.create()); QVERIFY(object != nullptr); @@ -6748,6 +6933,7 @@ void tst_qqmlecmascript::realToInt() void tst_qqmlecmascript::urlProperty() { + QQmlEngine engine; { QQmlComponent component(&engine, testFileUrl("urlProperty.1.qml")); MyQmlObject *object = qobject_cast<MyQmlObject*>(component.create()); @@ -6762,6 +6948,7 @@ void tst_qqmlecmascript::urlProperty() void tst_qqmlecmascript::urlPropertyWithEncoding() { + QQmlEngine engine; { QQmlComponent component(&engine, testFileUrl("urlProperty.2.qml")); MyQmlObject *object = qobject_cast<MyQmlObject*>(component.create()); @@ -6776,6 +6963,7 @@ void tst_qqmlecmascript::urlPropertyWithEncoding() void tst_qqmlecmascript::urlListPropertyWithEncoding() { + QQmlEngine engine; { QQmlComponent component(&engine, testFileUrl("urlListProperty.qml")); QObject *object = component.create(); @@ -6796,6 +6984,7 @@ void tst_qqmlecmascript::urlListPropertyWithEncoding() void tst_qqmlecmascript::dynamicString() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("dynamicString.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -6805,6 +6994,7 @@ void tst_qqmlecmascript::dynamicString() void tst_qqmlecmascript::deleteLaterObjectMethodCall() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("deleteLaterObjectMethodCall.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -6812,6 +7002,7 @@ void tst_qqmlecmascript::deleteLaterObjectMethodCall() void tst_qqmlecmascript::automaticSemicolon() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("automaticSemicolon.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -6819,6 +7010,7 @@ void tst_qqmlecmascript::automaticSemicolon() void tst_qqmlecmascript::compatibilitySemicolon() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("compatibilitySemicolon.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -6826,6 +7018,7 @@ void tst_qqmlecmascript::compatibilitySemicolon() void tst_qqmlecmascript::incrDecrSemicolon1() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("incrDecrSemicolon1.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -6833,6 +7026,7 @@ void tst_qqmlecmascript::incrDecrSemicolon1() void tst_qqmlecmascript::incrDecrSemicolon2() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("incrDecrSemicolon2.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -6840,6 +7034,7 @@ void tst_qqmlecmascript::incrDecrSemicolon2() void tst_qqmlecmascript::incrDecrSemicolon_error1() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("incrDecrSemicolon_error1.qml")); QObject *object = component.create(); QVERIFY(!object); @@ -6847,6 +7042,7 @@ void tst_qqmlecmascript::incrDecrSemicolon_error1() void tst_qqmlecmascript::unaryExpression() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("unaryExpression.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -6855,6 +7051,7 @@ void tst_qqmlecmascript::unaryExpression() // Makes sure that a binding isn't double re-evaluated when it depends on the same variable twice void tst_qqmlecmascript::doubleEvaluate() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("doubleEvaluate.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -6871,6 +7068,7 @@ void tst_qqmlecmascript::doubleEvaluate() void tst_qqmlecmascript::nonNotifyable() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("nonNotifyable.qml")); QQmlTestMessageHandler messageHandler; @@ -6881,7 +7079,7 @@ void tst_qqmlecmascript::nonNotifyable() QString expected1 = QLatin1String("QQmlExpression: Expression ") + component.url().toString() + - QLatin1String(":5:24 depends on non-NOTIFYable properties:"); + QLatin1String(":5:5 depends on non-NOTIFYable properties:"); QString expected2 = QLatin1String(" ") + QLatin1String(object->metaObject()->className()) + QLatin1String("::value"); @@ -6895,6 +7093,7 @@ void tst_qqmlecmascript::nonNotifyable() void tst_qqmlecmascript::nonNotifyableConstant() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("nonNotifyableConstant.qml")); QQmlTestMessageHandler messageHandler; @@ -6907,6 +7106,7 @@ void tst_qqmlecmascript::nonNotifyableConstant() void tst_qqmlecmascript::forInLoop() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("forInLoop.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -6927,6 +7127,7 @@ void tst_qqmlecmascript::forInLoop() // An object the binding depends on is deleted while the binding is still running void tst_qqmlecmascript::deleteWhileBindingRunning() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("deleteWhileBindingRunning.qml")); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -6937,6 +7138,7 @@ void tst_qqmlecmascript::qtbug_22679() { MyQmlObject object; object.setStringProperty(QLatin1String("Please work correctly")); + QQmlEngine engine; engine.rootContext()->setContextProperty("contextProp", &object); QQmlComponent component(&engine, testFileUrl("qtbug_22679.qml")); @@ -6966,6 +7168,7 @@ void tst_qqmlecmascript::qtbug_22843() fileName += QLatin1String(".library"); fileName += QLatin1String(".qml"); + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl(fileName)); QString url = component.url().toString(); @@ -6978,6 +7181,7 @@ void tst_qqmlecmascript::qtbug_22843() void tst_qqmlecmascript::switchStatement() { + QQmlEngine engine; { QQmlComponent component(&engine, testFileUrl("switchStatement.1.qml")); MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create()); @@ -7050,7 +7254,7 @@ void tst_qqmlecmascript::switchStatement() { QQmlComponent component(&engine, testFileUrl("switchStatement.4.qml")); - QString warning = component.url().toString() + ":4:12: Unable to assign [undefined] to int"; + QString warning = component.url().toString() + ":4:5: Unable to assign [undefined] to int"; QTest::ignoreMessage(QtWarningMsg, qPrintable(warning)); MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create()); @@ -7124,6 +7328,7 @@ void tst_qqmlecmascript::switchStatement() void tst_qqmlecmascript::withStatement() { + QQmlEngine engine; { QUrl url = testFileUrl("withStatement.1.qml"); QQmlComponent component(&engine, url); @@ -7136,6 +7341,7 @@ void tst_qqmlecmascript::withStatement() void tst_qqmlecmascript::tryStatement() { + QQmlEngine engine; { QQmlComponent component(&engine, testFileUrl("tryStatement.1.qml")); MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create()); @@ -7211,6 +7417,7 @@ void tst_qqmlecmascript::invokableWithQObjectDerived() void tst_qqmlecmascript::realTypePrecision() { // Properties and signal parameters of type real should have double precision. + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("realTypePrecision.qml")); QScopedPointer<QObject> object(component.create()); QVERIFY(object != nullptr); @@ -7261,8 +7468,8 @@ void tst_qqmlecmascript::bindingBoundFunctions() void tst_qqmlecmascript::deleteRootObjectInCreation() { - { QQmlEngine engine; + { QQmlComponent c(&engine, testFileUrl("deleteRootObjectInCreation.qml")); QObject *obj = c.create(); QVERIFY(obj != nullptr); @@ -7401,7 +7608,7 @@ void tst_qqmlecmascript::onDestructionViaGC() QVERIFY2(!weakReferenceMutator.isNull(), qPrintable(component.errorString())); weakReferenceMutator->init(v4, weakRef.data(), &mutatorResult); - v4->memoryManager->allocObject<QV4::WeakReferenceSentinel>(weakRef.data(), &sentinelResult); + v4->memoryManager->allocate<QV4::WeakReferenceSentinel>(weakRef.data(), &sentinelResult); } gc(engine); @@ -7475,6 +7682,7 @@ void tst_qqmlecmascript::signalEmitted() // QTBUG-25647 void tst_qqmlecmascript::threadSignal() { + QQmlEngine engine; { QQmlComponent c(&engine, testFileUrl("threadSignal.qml")); QScopedPointer<QObject> object(c.create()); @@ -7493,6 +7701,7 @@ void tst_qqmlecmascript::threadSignal() // ensure that the qqmldata::destroyed() handler doesn't cause problems void tst_qqmlecmascript::qqmldataDestroyed() { + QQmlEngine engine; // gc cleans up a qobject, later the qqmldata destroyed handler will run. { QQmlComponent c(&engine, testFileUrl("qqmldataDestroyed.qml")); @@ -7526,6 +7735,7 @@ void tst_qqmlecmascript::qqmldataDestroyed() void tst_qqmlecmascript::secondAlias() { + QQmlEngine engine; QQmlComponent c(&engine, testFileUrl("secondAlias.qml")); QObject *object = c.create(); QVERIFY(object != nullptr); @@ -7536,6 +7746,7 @@ void tst_qqmlecmascript::secondAlias() // An alias to a var property works void tst_qqmlecmascript::varAlias() { + QQmlEngine engine; QQmlComponent c(&engine, testFileUrl("varAlias.qml")); QObject *object = c.create(); QVERIFY(object != nullptr); @@ -7546,6 +7757,7 @@ void tst_qqmlecmascript::varAlias() // Used to trigger an assert in the lazy meta object creation stage void tst_qqmlecmascript::overrideDataAssert() { + QQmlEngine engine; QQmlComponent c(&engine, testFileUrl("overrideDataAssert.qml")); QObject *object = c.create(); QVERIFY(object != nullptr); @@ -7571,6 +7783,7 @@ void tst_qqmlecmascript::fallbackBindings() { QFETCH(QString, source); + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl(source)); QScopedPointer<QObject> object(component.create()); QVERIFY(object != nullptr); @@ -7580,6 +7793,7 @@ void tst_qqmlecmascript::fallbackBindings() void tst_qqmlecmascript::propertyOverride() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("propertyOverride.qml")); QScopedPointer<QObject> object(component.create()); QVERIFY(object != nullptr); @@ -7615,6 +7829,7 @@ void tst_qqmlecmascript::sequenceSort() QFETCH(QString, function); QFETCH(bool, useComparer); + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("sequenceSort.qml")); QObject *object = component.create(); @@ -7631,6 +7846,7 @@ void tst_qqmlecmascript::sequenceSort() void tst_qqmlecmascript::dateParse() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("date.qml")); QObject *object = component.create(); @@ -7651,6 +7867,7 @@ void tst_qqmlecmascript::dateParse() void tst_qqmlecmascript::utcDate() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("utcdate.qml")); QObject *object = component.create(); @@ -7666,6 +7883,7 @@ void tst_qqmlecmascript::utcDate() void tst_qqmlecmascript::negativeYear() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("negativeyear.qml")); QObject *object = component.create(); @@ -7687,6 +7905,7 @@ void tst_qqmlecmascript::negativeYear() void tst_qqmlecmascript::concatenatedStringPropertyAccess() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("concatenatedStringPropertyAccess.qml")); QObject *object = component.create(); QVERIFY(object); @@ -7732,6 +7951,7 @@ void tst_qqmlecmascript::updateCall() // documented it can be called from within QML. Make sure // we don't crash when calling it. QString file("updateCall.qml"); + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl(file)); QObject *object = component.create(); QVERIFY(object != nullptr); @@ -7739,6 +7959,7 @@ void tst_qqmlecmascript::updateCall() void tst_qqmlecmascript::numberParsing() { + QQmlEngine engine; for (int i = 1; i < 8; ++i) { QString file("numberParsing.%1.qml"); file = file.arg(i); @@ -7756,6 +7977,7 @@ void tst_qqmlecmascript::numberParsing() void tst_qqmlecmascript::stringParsing() { + QQmlEngine engine; for (int i = 1; i < 7; ++i) { QString file("stringParsing_error.%1.qml"); file = file.arg(i); @@ -7779,6 +8001,7 @@ void tst_qqmlecmascript::push_and_shift() void tst_qqmlecmascript::qtbug_32801() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("qtbug_32801.qml")); QScopedPointer<QObject> obj(component.create()); @@ -7791,6 +8014,7 @@ void tst_qqmlecmascript::qtbug_32801() void tst_qqmlecmascript::thisObject() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("thisObject.qml")); QObject *object = component.create(); QVERIFY(object); @@ -7800,6 +8024,7 @@ void tst_qqmlecmascript::thisObject() void tst_qqmlecmascript::qtbug_33754() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("qtbug_33754.qml")); QScopedPointer<QObject> obj(component.create()); @@ -7808,6 +8033,7 @@ void tst_qqmlecmascript::qtbug_33754() void tst_qqmlecmascript::qtbug_34493() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("qtbug_34493.qml")); QScopedPointer<QObject> obj(component.create()); @@ -7823,6 +8049,7 @@ void tst_qqmlecmascript::qtbug_34493() // as its type*, it's parent type* and as QObject* void tst_qqmlecmascript::singletonFromQMLToCpp() { + QQmlEngine engine; QQmlComponent component(&engine, testFile("singletonTest.qml")); QScopedPointer<QObject> obj(component.create()); if (component.errors().size()) @@ -7840,6 +8067,7 @@ void tst_qqmlecmascript::singletonFromQMLToCpp() // and correctly compares to itself void tst_qqmlecmascript::singletonFromQMLAndBackAndCompare() { + QQmlEngine engine; QQmlComponent component(&engine, testFile("singletonTest2.qml")); QScopedPointer<QObject> o(component.create()); if (component.errors().size()) @@ -7864,6 +8092,7 @@ void tst_qqmlecmascript::singletonFromQMLAndBackAndCompare() void tst_qqmlecmascript::setPropertyOnInvalid() { + QQmlEngine engine; { QQmlComponent component(&engine, testFileUrl("setPropertyOnNull.qml")); QString warning = component.url().toString() + ":4: TypeError: Type error"; @@ -7885,6 +8114,7 @@ void tst_qqmlecmascript::setPropertyOnInvalid() void tst_qqmlecmascript::miscTypeTest() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("misctypetest.qml")); QObject *object = component.create(); @@ -7913,6 +8143,7 @@ void tst_qqmlecmascript::stackLimits() void tst_qqmlecmascript::idsAsLValues() { + QQmlEngine engine; QString err = QString(QLatin1String("%1:5 left-hand side of assignment operator is not an lvalue\n")).arg(testFileUrl("idAsLValue.qml").toString()); QQmlComponent component(&engine, testFileUrl("idAsLValue.qml")); QTest::ignoreMessage(QtWarningMsg, "QQmlComponent: Component is not ready"); @@ -7923,6 +8154,7 @@ void tst_qqmlecmascript::idsAsLValues() void tst_qqmlecmascript::qtbug_34792() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("qtbug34792.qml")); QObject *object = component.create(); @@ -7934,6 +8166,7 @@ void tst_qqmlecmascript::qtbug_34792() void tst_qqmlecmascript::noCaptureWhenWritingProperty() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("noCaptureWhenWritingProperty.qml")); QScopedPointer<QObject> obj(component.create()); QVERIFY(!obj.isNull()); @@ -7942,6 +8175,7 @@ void tst_qqmlecmascript::noCaptureWhenWritingProperty() void tst_qqmlecmascript::singletonWithEnum() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("singletontype/singletonWithEnum.qml")); QScopedPointer<QObject> obj(component.create()); if (obj.isNull()) @@ -7963,48 +8197,53 @@ void tst_qqmlecmascript::singletonWithEnum() void tst_qqmlecmascript::lazyBindingEvaluation() { - QQmlComponent component(&engine, testFileUrl("lazyBindingEvaluation.qml")); - QScopedPointer<QObject> obj(component.create()); - if (obj.isNull()) + QQmlEngine engine; + QQmlComponent component(&engine, testFileUrl("lazyBindingEvaluation.qml")); + QScopedPointer<QObject> obj(component.create()); + if (obj.isNull()) qDebug() << component.errors().first().toString(); - QVERIFY(!obj.isNull()); - QVariant prop = obj->property("arrayLength"); - QCOMPARE(prop.type(), QVariant::Int); - QCOMPARE(prop.toInt(), 2); + QVERIFY(!obj.isNull()); + QVariant prop = obj->property("arrayLength"); + QCOMPARE(prop.type(), QVariant::Int); + QCOMPARE(prop.toInt(), 2); } void tst_qqmlecmascript::varPropertyAccessOnObjectWithInvalidContext() { - QQmlComponent component(&engine, testFileUrl("varPropertyAccessOnObjectWithInvalidContext.qml")); - QScopedPointer<QObject> obj(component.create()); - if (obj.isNull()) + QQmlEngine engine; + QQmlComponent component(&engine, testFileUrl("varPropertyAccessOnObjectWithInvalidContext.qml")); + QScopedPointer<QObject> obj(component.create()); + if (obj.isNull()) qDebug() << component.errors().first().toString(); - QVERIFY(!obj.isNull()); - QVERIFY(obj->property("success").toBool()); + QVERIFY(!obj.isNull()); + QVERIFY(obj->property("success").toBool()); } void tst_qqmlecmascript::importedScriptsAccessOnObjectWithInvalidContext() { - QQmlComponent component(&engine, testFileUrl("importedScriptsAccessOnObjectWithInvalidContext.qml")); - QScopedPointer<QObject> obj(component.create()); - if (obj.isNull()) + QQmlEngine engine; + QQmlComponent component(&engine, testFileUrl("importedScriptsAccessOnObjectWithInvalidContext.qml")); + QScopedPointer<QObject> obj(component.create()); + if (obj.isNull()) qDebug() << component.errors().first().toString(); - QVERIFY(!obj.isNull()); - QTRY_VERIFY(obj->property("success").toBool()); + QVERIFY(!obj.isNull()); + QTRY_VERIFY(obj->property("success").toBool()); } void tst_qqmlecmascript::importedScriptsWithoutQmlMode() { - QQmlComponent component(&engine, testFileUrl("importScriptsWithoutQmlMode.qml")); - QScopedPointer<QObject> obj(component.create()); - if (obj.isNull()) + QQmlEngine engine; + QQmlComponent component(&engine, testFileUrl("importScriptsWithoutQmlMode.qml")); + QScopedPointer<QObject> obj(component.create()); + if (obj.isNull()) qDebug() << component.errors().first().toString(); - QVERIFY(!obj.isNull()); - QTRY_VERIFY(obj->property("success").toBool()); + QVERIFY(!obj.isNull()); + QTRY_VERIFY(obj->property("success").toBool()); } void tst_qqmlecmascript::contextObjectOnLazyBindings() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("contextObjectOnLazyBindings.qml")); QScopedPointer<QObject> obj(component.create()); if (obj.isNull()) @@ -8017,6 +8256,7 @@ void tst_qqmlecmascript::contextObjectOnLazyBindings() void tst_qqmlecmascript::garbageCollectionDuringCreation() { + QQmlEngine engine; QQmlComponent component(&engine); component.setData("import Qt.test 1.0\n" "QObjectContainerWithGCOnAppend {\n" @@ -8044,6 +8284,7 @@ void tst_qqmlecmascript::garbageCollectionDuringCreation() void tst_qqmlecmascript::qtbug_39520() { + QQmlEngine engine; QQmlComponent component(&engine); component.setData("import QtQuick 2.0\n" "Item {\n" @@ -8165,6 +8406,7 @@ void tst_qqmlecmascript::switchExpression() void tst_qqmlecmascript::qtbug_46022() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("qtbug_46022.qml")); QScopedPointer<QObject> obj(component.create()); @@ -8175,6 +8417,7 @@ void tst_qqmlecmascript::qtbug_46022() void tst_qqmlecmascript::qtbug_52340() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("qtbug_52340.qml")); QScopedPointer<QObject> object(component.create()); QVERIFY(!object.isNull()); @@ -8186,6 +8429,7 @@ void tst_qqmlecmascript::qtbug_52340() void tst_qqmlecmascript::qtbug_54589() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("qtbug_54589.qml")); QScopedPointer<QObject> obj(component.create()); @@ -8197,11 +8441,12 @@ void tst_qqmlecmascript::qtbug_54687() { QJSEngine e; // it's simple: this shouldn't crash. - engine.evaluate("12\n----12"); + e.evaluate("12\n----12"); } void tst_qqmlecmascript::stringify_qtbug_50592() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("stringify_qtbug_50592.qml")); QScopedPointer<QObject> obj(component.create()); @@ -8389,6 +8634,7 @@ void tst_qqmlecmascript::freeze_empty_object() void tst_qqmlecmascript::singleBlockLoops() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("qtbug_59012.qml")); QScopedPointer<QObject> obj(component.create()); @@ -8400,6 +8646,7 @@ void tst_qqmlecmascript::singleBlockLoops() // This fix ensures it looks up the right thing. void tst_qqmlecmascript::qtbug_60547() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("qtbug60547/main.qml")); QScopedPointer<QObject> object(component.create()); QVERIFY2(!object.isNull(), qPrintable(component.errorString())); @@ -8408,6 +8655,7 @@ void tst_qqmlecmascript::qtbug_60547() void tst_qqmlecmascript::anotherNaN() { + QQmlEngine engine; QQmlComponent component(&engine, testFileUrl("nans.qml")); QScopedPointer<QObject> object(component.create()); QVERIFY2(!object.isNull(), qPrintable(component.errorString())); @@ -8513,6 +8761,35 @@ void tst_qqmlecmascript::jumpStrictNotEqualUndefined() QCOMPARE(v.toInt(), 2); } +void tst_qqmlecmascript::removeBindingsWithNoDependencies() +{ + QQmlEngine engine; + QQmlComponent component(&engine, testFileUrl("removeBindingsWithNoDependencies.qml")); + QScopedPointer<QObject> object(component.create()); + QVERIFY(!object.isNull()); + QVariant rect = object->property("placement"); + QCOMPARE(rect.toRectF(), QRectF(0, 0, 100, 100)); + const QMetaObject *metaObject = object->metaObject(); + + { + const QMetaProperty prop = metaObject->property(metaObject->indexOfProperty("placement")); + QVERIFY(prop.isValid()); + QVERIFY(!QQmlPropertyPrivate::binding(object.data(), QQmlPropertyIndex(prop.propertyIndex()))); + } + + { + const QMetaProperty prop = metaObject->property(metaObject->indexOfProperty("partialPlacement")); + QVERIFY(prop.isValid()); + QQmlAbstractBinding *vtProxyBinding = QQmlPropertyPrivate::binding(object.data(), QQmlPropertyIndex(prop.propertyIndex())); + QVERIFY(vtProxyBinding); + QVERIFY(vtProxyBinding->isValueTypeProxy()); + + QQmlValueTypeProxyBinding *proxy = static_cast<QQmlValueTypeProxyBinding*>(vtProxyBinding); + QVERIFY(!proxy->subBindings()); + } + +} + QTEST_MAIN(tst_qqmlecmascript) #include "tst_qqmlecmascript.moc" diff --git a/tests/auto/qml/qqmlengine/tst_qqmlengine.cpp b/tests/auto/qml/qqmlengine/tst_qqmlengine.cpp index 6ae786469d..09480a8e1a 100644 --- a/tests/auto/qml/qqmlengine/tst_qqmlengine.cpp +++ b/tests/auto/qml/qqmlengine/tst_qqmlengine.cpp @@ -542,7 +542,7 @@ void tst_qqmlengine::outputWarningsToStandardError() delete o; QCOMPARE(messageHandler.messages().count(), 1); - QCOMPARE(messageHandler.messages().at(0), QLatin1String("<Unknown File>:1:48: Unable to assign [undefined] to int")); + QCOMPARE(messageHandler.messages().at(0), QLatin1String("<Unknown File>:1:32: Unable to assign [undefined] to int")); messageHandler.clear(); engine.setOutputWarningsToStandardError(false); @@ -904,23 +904,19 @@ void tst_qqmlengine::qrcUrls() QQmlEnginePrivate *pEngine = QQmlEnginePrivate::get(&engine); { - QQmlRefPointer<QQmlTypeData> oneQml(pEngine->typeLoader.getType(QUrl("qrc:/qrcurls.qml")), - QQmlRefPointer<QQmlTypeData>::Adopt); - QVERIFY(oneQml != nullptr); - QQmlRefPointer<QQmlTypeData> twoQml(pEngine->typeLoader.getType(QUrl("qrc:///qrcurls.qml")), - QQmlRefPointer<QQmlTypeData>::Adopt); - QVERIFY(twoQml != nullptr); - QCOMPARE(oneQml, twoQml); + QQmlRefPointer<QQmlTypeData> oneQml(pEngine->typeLoader.getType(QUrl("qrc:/qrcurls.qml"))); + QVERIFY(oneQml.data() != nullptr); + QQmlRefPointer<QQmlTypeData> twoQml(pEngine->typeLoader.getType(QUrl("qrc:///qrcurls.qml"))); + QVERIFY(twoQml.data() != nullptr); + QCOMPARE(oneQml.data(), twoQml.data()); } { - QQmlRefPointer<QQmlTypeData> oneJS(pEngine->typeLoader.getType(QUrl("qrc:/qrcurls.js")), - QQmlRefPointer<QQmlTypeData>::Adopt); - QVERIFY(oneJS != nullptr); - QQmlRefPointer<QQmlTypeData> twoJS(pEngine->typeLoader.getType(QUrl("qrc:///qrcurls.js")), - QQmlRefPointer<QQmlTypeData>::Adopt); - QVERIFY(twoJS != nullptr); - QCOMPARE(oneJS, twoJS); + QQmlRefPointer<QQmlTypeData> oneJS(pEngine->typeLoader.getType(QUrl("qrc:/qrcurls.js"))); + QVERIFY(oneJS.data() != nullptr); + QQmlRefPointer<QQmlTypeData> twoJS(pEngine->typeLoader.getType(QUrl("qrc:///qrcurls.js"))); + QVERIFY(twoJS.data() != nullptr); + QCOMPARE(oneJS.data(), twoJS.data()); } } diff --git a/tests/auto/qml/qqmllanguage/data/dynamicMeta.5.errors.txt b/tests/auto/qml/qqmllanguage/data/dynamicMeta.5.errors.txt index 015d55b03b..30b5193cd5 100644 --- a/tests/auto/qml/qqmllanguage/data/dynamicMeta.5.errors.txt +++ b/tests/auto/qml/qqmllanguage/data/dynamicMeta.5.errors.txt @@ -1 +1 @@ -3:1:UnknownType is not a type +4:5:UnknownType is not a type diff --git a/tests/auto/qml/qqmllanguage/data/property.4.errors.txt b/tests/auto/qml/qqmllanguage/data/property.4.errors.txt index b447186849..2807384ec4 100644 --- a/tests/auto/qml/qqmllanguage/data/property.4.errors.txt +++ b/tests/auto/qml/qqmllanguage/data/property.4.errors.txt @@ -1 +1 @@ -5:1:Syntax error +5:1:Expected token `:' diff --git a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp index 8913528d79..400c28928a 100644 --- a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp +++ b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp @@ -2193,7 +2193,7 @@ void tst_qqmllanguage::scriptStringWithoutSourceCode() QUrl url = testFileUrl("scriptString7.qml"); { QQmlEnginePrivate *eng = QQmlEnginePrivate::get(&engine); - QQmlTypeData *td = eng->typeLoader.getType(url); + QQmlRefPointer<QQmlTypeData> td = eng->typeLoader.getType(url); Q_ASSERT(td); const QV4::CompiledData::Unit *readOnlyQmlUnit = td->compilationUnit()->data; diff --git a/tests/auto/qml/qqmllistmodel/data/dynamicroles.qml b/tests/auto/qml/qqmllistmodel/data/dynamicroles.qml new file mode 100644 index 0000000000..7d3650c3b9 --- /dev/null +++ b/tests/auto/qml/qqmllistmodel/data/dynamicroles.qml @@ -0,0 +1,21 @@ +import QtQuick 2.0 + +Item { + id: root + + ListModel { + id: listModel + objectName: "listModel" + dynamicRoles: true + + // have to add elements dynamically when dynamicRoles = true + function appendNewElement() { + listModel.append({"name": "test", "obj": null}) + } + + function setElementAgain() { + var element = listModel.get(0) + listModel.set(0, element) + } + } +} diff --git a/tests/auto/qml/qqmllistmodel/data/qtbug38907.qml b/tests/auto/qml/qqmllistmodel/data/qtbug38907.qml new file mode 100644 index 0000000000..0abf221f60 --- /dev/null +++ b/tests/auto/qml/qqmllistmodel/data/qtbug38907.qml @@ -0,0 +1,25 @@ +import QtQuick 2.0 +import QtTest 1.0 + +Item { + + Item { + id : testItem + property string name : "testObject" + property var object : this + function testMethod() { + return -1; + } + } + + ListModel { + id : listModel + dynamicRoles : true + } + + function exec() { + listModel.append(testItem); + listModel.append({ item : testItem }); + return true; + } +} diff --git a/tests/auto/qml/qqmllistmodel/tst_qqmllistmodel.cpp b/tests/auto/qml/qqmllistmodel/tst_qqmllistmodel.cpp index 9fdc54f067..771f3e5c4e 100644 --- a/tests/auto/qml/qqmllistmodel/tst_qqmllistmodel.cpp +++ b/tests/auto/qml/qqmllistmodel/tst_qqmllistmodel.cpp @@ -106,6 +106,7 @@ private slots: void get_nested_data(); void crash_model_with_multiple_roles(); void crash_model_with_unknown_roles(); + void crash_model_with_dynamic_roles(); void set_model_cache(); void property_changes(); void property_changes_data(); @@ -126,6 +127,7 @@ private slots: void stringifyModelEntry(); void qobjectTrackerForDynamicModelObjects(); void crash_append_empty_array(); + void dynamic_roles_crash_QTBUG_38907(); }; bool tst_qqmllistmodel::compareVariantList(const QVariantList &testList, QVariant object) @@ -984,6 +986,97 @@ void tst_qqmllistmodel::crash_model_with_unknown_roles() model->index(0, 0, QModelIndex()).data(Qt::UserRole); } +//QTBUG-35639 +void tst_qqmllistmodel::crash_model_with_dynamic_roles() +{ + { + // setting a dynamic role to a QObject value, then triggering dtor + QQmlEngine eng; + QQmlComponent component(&eng, testFileUrl("dynamicroles.qml")); + QObject *rootItem = component.create(); + qWarning() << component.errorString(); + QVERIFY(component.errorString().isEmpty()); + QVERIFY(rootItem != 0); + QQmlListModel *model = rootItem->findChild<QQmlListModel*>("listModel"); + QVERIFY(model != 0); + + QMetaObject::invokeMethod(model, "appendNewElement"); + + QObject *testObj = new QObject; + model->setProperty(0, "obj", QVariant::fromValue<QObject*>(testObj)); + delete testObj; + + // delete the root item, which will cause the model dtor to run + // previously, this would crash as it attempted to delete testObj. + delete rootItem; + } + + { + // setting a dynamic role to a QObject value, then triggering + // DynamicRoleModelNode::updateValues() to trigger unsafe qobject_cast + QQmlEngine eng; + QQmlComponent component(&eng, testFileUrl("dynamicroles.qml")); + QObject *rootItem = component.create(); + qWarning() << component.errorString(); + QVERIFY(component.errorString().isEmpty()); + QVERIFY(rootItem != 0); + QQmlListModel *model = rootItem->findChild<QQmlListModel*>("listModel"); + QVERIFY(model != 0); + + QMetaObject::invokeMethod(model, "appendNewElement"); + + QObject *testObj = new QObject; + model->setProperty(0, "obj", QVariant::fromValue<QObject*>(testObj)); + delete testObj; + + QMetaObject::invokeMethod(model, "setElementAgain"); + + delete rootItem; + } + + { + // setting a dynamic role to a QObject value, then triggering + // DynamicRoleModelNodeMetaObject::propertyWrite() + + /* + XXX TODO: I couldn't reproduce this one simply - I think it + requires a WorkerScript sync() call, and that's non-trivial. + I thought I could do it simply via: + + QQmlEngine eng; + QQmlComponent component(&eng, testFileUrl("dynamicroles.qml")); + QObject *rootItem = component.create(); + qWarning() << component.errorString(); + QVERIFY(component.errorString().isEmpty()); + QVERIFY(rootItem != 0); + QQmlListModel *model = rootItem->findChild<QQmlListModel*>("listModel"); + QVERIFY(model != 0); + + QMetaObject::invokeMethod(model, "appendNewElement"); + + QObject *testObj = new QObject; + model->setProperty(0, "obj", QVariant::fromValue<QObject*>(testObj)); + delete testObj; + QObject *testObj2 = new QObject; + model->setProperty(0, "obj", QVariant::fromValue<QObject*>(testObj2)); + + But it turns out that that doesn't work (the setValue() call within + setProperty() doesn't seem to trigger the right codepath, for some + reason), and you can't trigger it manually via: + + QObject *testObj2 = new QObject; + void *a[] = { testObj2, 0 }; + QMetaObject::metacall(dynamicNodeModel, QMetaObject::WriteProperty, 0, a); + + because the dynamicNodeModel for that index cannot be retrieved + using the public API. + + But, anyway, I think the above two test cases are sufficient to + show that QObject* values should be guarded internally. + */ + } +} + //QTBUG-15190 void tst_qqmllistmodel::set_model_cache() { @@ -1556,6 +1649,24 @@ void tst_qqmllistmodel::crash_append_empty_array() QCOMPARE(spy.count(), 0); } +void tst_qqmllistmodel::dynamic_roles_crash_QTBUG_38907() +{ + QQmlEngine eng; + QQmlComponent component(&eng, testFileUrl("qtbug38907.qml")); + QVERIFY(!component.isError()); + QScopedPointer<QQuickItem> item(qobject_cast<QQuickItem*>(component.create())); + QVERIFY(item != 0); + + QVariant retVal; + + QMetaObject::invokeMethod(item.data(), + "exec", + Qt::DirectConnection, + Q_RETURN_ARG(QVariant, retVal)); + + QVERIFY(retVal.toBool()); +} + QTEST_MAIN(tst_qqmllistmodel) #include "tst_qqmllistmodel.moc" diff --git a/tests/auto/qml/qqmlopenmetaobject/tst_qqmlopenmetaobject.cpp b/tests/auto/qml/qqmlopenmetaobject/tst_qqmlopenmetaobject.cpp index 7fd4d69b5e..44ce1d6987 100644 --- a/tests/auto/qml/qqmlopenmetaobject/tst_qqmlopenmetaobject.cpp +++ b/tests/auto/qml/qqmlopenmetaobject/tst_qqmlopenmetaobject.cpp @@ -53,7 +53,7 @@ void tst_qqmlopenmetaobject::createProperties() QQmlEngine engine; CustomObject object; const QQmlRefPointer<QQmlOpenMetaObjectType> mot = new QQmlOpenMetaObjectType(object.metaObject(), &engine); - QQmlOpenMetaObject *const mo = new QQmlOpenMetaObject(&object, mot); + QQmlOpenMetaObject *const mo = new QQmlOpenMetaObject(&object, mot.data()); mo->setCached(true); mot->createProperty("customProperty"); QVERIFY(true); diff --git a/tests/auto/qml/qqmlparser/tst_qqmlparser.cpp b/tests/auto/qml/qqmlparser/tst_qqmlparser.cpp index ba2b836a6d..ce9d0ac894 100644 --- a/tests/auto/qml/qqmlparser/tst_qqmlparser.cpp +++ b/tests/auto/qml/qqmlparser/tst_qqmlparser.cpp @@ -50,6 +50,9 @@ private slots: void qmlParser(); #endif void invalidEscapeSequence(); + void stringLiteral(); + void noSubstitutionTemplateLiteral(); + void templateLiteral(); private: QStringList excludedDirs; @@ -78,6 +81,13 @@ public: const quint32 parentBegin = parent->firstSourceLocation().begin(); const quint32 parentEnd = parent->lastSourceLocation().end(); + if (node->firstSourceLocation().begin() < parentBegin) + qDebug() << "first source loc failed: node:" << node->kind << "at" << node->firstSourceLocation().startLine << "/" << node->firstSourceLocation().startColumn + << "parent" << parent->kind << "at" << parent->firstSourceLocation().startLine << "/" << parent->firstSourceLocation().startColumn; + if (node->lastSourceLocation().end() > parentEnd) + qDebug() << "first source loc failed: node:" << node->kind << "at" << node->lastSourceLocation().startLine << "/" << node->lastSourceLocation().startColumn + << "parent" << parent->kind << "at" << parent->lastSourceLocation().startLine << "/" << parent->lastSourceLocation().startColumn; + QVERIFY(node->firstSourceLocation().begin() >= parentBegin); QVERIFY(node->lastSourceLocation().end() <= parentEnd); } @@ -183,13 +193,12 @@ void tst_qqmlparser::qmlParser() Lexer lexer(&engine); lexer.setCode(code, 1, qmlMode); Parser parser(&engine); - if (qmlMode) - parser.parse(); - else - parser.parseProgram(); + bool ok = qmlMode ? parser.parse() : parser.parseProgram(); - check::Check chk; - chk(parser.rootNode()); + if (ok) { + check::Check chk; + chk(parser.rootNode()); + } } #endif @@ -204,6 +213,67 @@ void tst_qqmlparser::invalidEscapeSequence() parser.parse(); } +void tst_qqmlparser::stringLiteral() +{ + using namespace QQmlJS; + + Engine engine; + Lexer lexer(&engine); + QLatin1String code("'hello string'"); + lexer.setCode(code , 1); + Parser parser(&engine); + QVERIFY(parser.parseExpression()); + AST::ExpressionNode *expression = parser.expression(); + QVERIFY(expression); + auto *literal = QQmlJS::AST::cast<QQmlJS::AST::StringLiteral *>(expression); + QVERIFY(literal); + QCOMPARE(literal->value, "hello string"); + QCOMPARE(literal->firstSourceLocation().begin(), 0); + QCOMPARE(literal->lastSourceLocation().end(), code.size()); +} + +void tst_qqmlparser::noSubstitutionTemplateLiteral() +{ + using namespace QQmlJS; + + Engine engine; + Lexer lexer(&engine); + QLatin1String code("`hello template`"); + lexer.setCode(code, 1); + Parser parser(&engine); + QVERIFY(parser.parseExpression()); + AST::ExpressionNode *expression = parser.expression(); + QVERIFY(expression); + + auto *literal = QQmlJS::AST::cast<QQmlJS::AST::TemplateLiteral *>(expression); + QVERIFY(literal); + + QCOMPARE(literal->value, "hello template"); + QCOMPARE(literal->firstSourceLocation().begin(), 0); + QCOMPARE(literal->lastSourceLocation().end(), code.size()); +} + +void tst_qqmlparser::templateLiteral() +{ + using namespace QQmlJS; + + Engine engine; + Lexer lexer(&engine); + QLatin1String code("`one plus one equals ${1+1}!`"); + lexer.setCode(code, 1); + Parser parser(&engine); + QVERIFY(parser.parseExpression()); + AST::ExpressionNode *expression = parser.expression(); + QVERIFY(expression); + + auto *templateLiteral = QQmlJS::AST::cast<QQmlJS::AST::TemplateLiteral *>(expression); + QVERIFY(templateLiteral); + + QCOMPARE(templateLiteral->firstSourceLocation().begin(), 0); + auto *e = templateLiteral->expression; + QVERIFY(e); +} + QTEST_MAIN(tst_qqmlparser) #include "tst_qqmlparser.moc" diff --git a/tests/auto/qml/qqmlproperty/tst_qqmlproperty.cpp b/tests/auto/qml/qqmlproperty/tst_qqmlproperty.cpp index 1e9ba80264..b8d5a4d3a3 100644 --- a/tests/auto/qml/qqmlproperty/tst_qqmlproperty.cpp +++ b/tests/auto/qml/qqmlproperty/tst_qqmlproperty.cpp @@ -2007,15 +2007,15 @@ void tst_qqmlproperty::warnOnInvalidBinding() QString expectedWarning; // V4 error message for property-to-property binding - expectedWarning = testUrl.toString() + QString::fromLatin1(":6:36: Unable to assign QQuickText to QQuickRectangle"); + expectedWarning = testUrl.toString() + QString::fromLatin1(":6:5: Unable to assign QQuickText to QQuickRectangle"); QTest::ignoreMessage(QtWarningMsg, expectedWarning.toLatin1().constData()); // V8 error message for function-to-property binding - expectedWarning = testUrl.toString() + QString::fromLatin1(":7:36: Unable to assign QQuickText to QQuickRectangle"); + expectedWarning = testUrl.toString() + QString::fromLatin1(":7:5: Unable to assign QQuickText to QQuickRectangle"); QTest::ignoreMessage(QtWarningMsg, expectedWarning.toLatin1().constData()); // V8 error message for invalid binding to anchor - expectedWarning = testUrl.toString() + QString::fromLatin1(":14:33: Unable to assign QQuickItem_QML_8 to QQuickAnchorLine"); + expectedWarning = testUrl.toString() + QString::fromLatin1(":14:9: Unable to assign QQuickItem_QML_8 to QQuickAnchorLine"); QTest::ignoreMessage(QtWarningMsg, expectedWarning.toLatin1().constData()); QQmlComponent component(&engine, testUrl); diff --git a/tests/auto/qml/qqmlpropertycache/tst_qqmlpropertycache.cpp b/tests/auto/qml/qqmlpropertycache/tst_qqmlpropertycache.cpp index b9e56b39a2..29f70c4e46 100644 --- a/tests/auto/qml/qqmlpropertycache/tst_qqmlpropertycache.cpp +++ b/tests/auto/qml/qqmlpropertycache/tst_qqmlpropertycache.cpp @@ -95,7 +95,7 @@ Q_SIGNALS: void signalB(); }; -QQmlPropertyData *cacheProperty(QQmlPropertyCache *cache, const char *name) +QQmlPropertyData *cacheProperty(const QQmlRefPointer<QQmlPropertyCache> &cache, const char *name) { return cache->property(QLatin1String(name), nullptr, nullptr); } diff --git a/tests/auto/qml/qqmlqt/tst_qqmlqt.cpp b/tests/auto/qml/qqmlqt/tst_qqmlqt.cpp index b96eecafe8..2d8115e867 100644 --- a/tests/auto/qml/qqmlqt/tst_qqmlqt.cpp +++ b/tests/auto/qml/qqmlqt/tst_qqmlqt.cpp @@ -505,8 +505,14 @@ void tst_qqmlqt::font() QObject *object = component.create(); QVERIFY(object != nullptr); - QCOMPARE(qvariant_cast<QFont>(object->property("test1")), QFont("Arial", 22)); - QCOMPARE(qvariant_cast<QFont>(object->property("test2")), QFont("Arial", 20, QFont::DemiBold, true)); + QFont f; + f.setFamily("Arial"); + f.setPointSize(22); + QCOMPARE(qvariant_cast<QFont>(object->property("test1")), f); + f.setPointSize(20); + f.setWeight(QFont::DemiBold); + f.setItalic(true); + QCOMPARE(qvariant_cast<QFont>(object->property("test2")), f); QCOMPARE(qvariant_cast<QFont>(object->property("test3")), QFont()); QCOMPARE(qvariant_cast<QFont>(object->property("test4")), QFont()); diff --git a/tests/auto/qml/qqmltranslation/tst_qqmltranslation.cpp b/tests/auto/qml/qqmltranslation/tst_qqmltranslation.cpp index 1c67ba5541..733fe77346 100644 --- a/tests/auto/qml/qqmltranslation/tst_qqmltranslation.cpp +++ b/tests/auto/qml/qqmltranslation/tst_qqmltranslation.cpp @@ -76,7 +76,7 @@ void tst_qqmltranslation::translation() if (verifyCompiledData) { QQmlContext *context = qmlContext(object); QQmlEnginePrivate *engine = QQmlEnginePrivate::get(context->engine()); - QQmlTypeData *typeData = engine->typeLoader.getType(context->baseUrl()); + QQmlRefPointer<QQmlTypeData> typeData = engine->typeLoader.getType(context->baseUrl()); QV4::CompiledData::CompilationUnit *compilationUnit = typeData->compilationUnit(); QVERIFY(compilationUnit); @@ -136,7 +136,7 @@ void tst_qqmltranslation::idTranslation() { QQmlContext *context = qmlContext(object); QQmlEnginePrivate *engine = QQmlEnginePrivate::get(context->engine()); - QQmlTypeData *typeData = engine->typeLoader.getType(context->baseUrl()); + QQmlRefPointer<QQmlTypeData> typeData = engine->typeLoader.getType(context->baseUrl()); QV4::CompiledData::CompilationUnit *compilationUnit = typeData->compilationUnit(); QVERIFY(compilationUnit); diff --git a/tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp b/tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp index d336d033a3..cf3bc8b050 100644 --- a/tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp +++ b/tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp @@ -87,7 +87,7 @@ void tst_QQMLTypeLoader::trimCache() QUrl url = testFileUrl("trim_cache.qml"); url.setQuery(QString::number(i)); - QQmlTypeData *data = loader.getType(url); + QQmlTypeData *data = loader.getType(url).take(); // Run an event loop to receive the callback that release()es. QTRY_COMPARE(data->count(), 2); diff --git a/tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp b/tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp index a456facd2f..1ee4510e30 100644 --- a/tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp +++ b/tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp @@ -1020,7 +1020,7 @@ void tst_qqmlvaluetypes::bindingAssignment() // function assignment should fail without crashing { - QString warning1 = testFileUrl("bindingAssignment.2.qml").toString() + QLatin1String(":6:13: Invalid use of Qt.binding() in a binding declaration."); + QString warning1 = testFileUrl("bindingAssignment.2.qml").toString() + QLatin1String(":6:5: Invalid use of Qt.binding() in a binding declaration."); QString warning2 = testFileUrl("bindingAssignment.2.qml").toString() + QLatin1String(":10: Cannot assign JavaScript function to value-type property"); QTest::ignoreMessage(QtWarningMsg, qPrintable(warning1)); QTest::ignoreMessage(QtWarningMsg, qPrintable(warning2)); @@ -1125,7 +1125,7 @@ void tst_qqmlvaluetypes::autoBindingRemoval() { QQmlComponent component(&engine, testFileUrl("autoBindingRemoval.3.qml")); - QString warning = component.url().toString() + ":6:11: Unable to assign [undefined] to QRect"; + QString warning = component.url().toString() + ":6:5: Unable to assign [undefined] to QRect"; QTest::ignoreMessage(QtWarningMsg, qPrintable(warning)); MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create()); QVERIFY(object != nullptr); diff --git a/tests/auto/qml/qv4mm/tst_qv4mm.cpp b/tests/auto/qml/qv4mm/tst_qv4mm.cpp index d4ba363d00..07f8e9f1d1 100644 --- a/tests/auto/qml/qv4mm/tst_qv4mm.cpp +++ b/tests/auto/qml/qv4mm/tst_qv4mm.cpp @@ -28,6 +28,7 @@ #include <qtest.h> #include <QQmlEngine> +#include <QLoggingCategory> #include <private/qv4mm_p.h> class tst_qv4mm : public QObject @@ -36,23 +37,15 @@ class tst_qv4mm : public QObject private slots: void gcStats(); - void tweaks(); }; void tst_qv4mm::gcStats() { - qputenv(QV4_MM_STATS, "1"); + QLoggingCategory::setFilterRules("qt.qml.gc.*=true"); QQmlEngine engine; engine.collectGarbage(); } -void tst_qv4mm::tweaks() -{ - qputenv(QV4_MM_MAXBLOCK_SHIFT, "5"); - qputenv(QV4_MM_MAX_CHUNK_SIZE, "65536"); - QQmlEngine engine; -} - QTEST_MAIN(tst_qv4mm) #include "tst_qv4mm.moc" |