Diff
Modified: trunk/JSTests/ChangeLog (266502 => 266503)
--- trunk/JSTests/ChangeLog 2020-09-03 05:20:48 UTC (rev 266502)
+++ trunk/JSTests/ChangeLog 2020-09-03 05:24:10 UTC (rev 266503)
@@ -1,3 +1,30 @@
+2020-09-02 Yusuke Suzuki <ysuz...@apple.com>
+
+ [JSC] Update test262
+ https://bugs.webkit.org/show_bug.cgi?id=216116
+
+ Reviewed by Ross Kirsling.
+
+ Rebaseline test262.
+
+ * test262/expectations.yaml:
+ * test262/harness/compareArray.js:
+ (assert.compareArray):
+ * test262/harness/testIntl.js:
+ (regExpPropertiesDefaultValues):
+ * test262/latest-changes-summary.txt:
+ * test262/test/annexB/language/expressions/object/__proto__-poisoned-object-prototype.js: Added.
+ * test262/test/built-ins/Array/prototype/push/length-near-integer-limit-set-failure.js: Added.
+ * test262/test/built-ins/Object/defineProperty/redefine-length-with-various-values-and-configurable-true.js: Added.
+ * test262/test/harness/compare-array-falsy-arguments.js: Added.
+ (assertThrows):
+ * test262/test/intl402/DateTimeFormat/constructor-options-order-fractionalSecondDigits.js:
+ * test262/test/language/expressions/object/__proto__-permitted-dup-shorthand.js: Copied from JSTests/test262/test/language/expressions/object/__proto__-permitted-dup.js.
+ * test262/test/language/expressions/object/__proto__-permitted-dup.js:
+ (obj.__proto__):
+ (obj.async __proto__):
+ * test262/test262-Revision.txt:
+
2020-09-02 Michael Saboff <msab...@apple.com>
ASSERTION FAILED: value.isCell() && value.asCell()->type() == CustomGetterSetterType ./bytecode/ObjectPropertyConditionSet.cpp
Modified: trunk/JSTests/test262/expectations.yaml (266502 => 266503)
--- trunk/JSTests/test262/expectations.yaml 2020-09-03 05:20:48 UTC (rev 266502)
+++ trunk/JSTests/test262/expectations.yaml 2020-09-03 05:24:10 UTC (rev 266503)
@@ -603,6 +603,9 @@
default: 'Test262Error: An initialized binding is not created prior to evaluation Expected a ReferenceError to be thrown but no exception was thrown at all'
test/annexB/language/global-code/switch-dflt-global-skip-early-err.js:
default: "SyntaxError: Cannot declare a function that shadows a let/const/class/function variable 'f' in strict mode."
+test/built-ins/Array/prototype/push/length-near-integer-limit-set-failure.js:
+ default: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all'
+ strict mode: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all'
test/built-ins/ArrayBuffer/prototype/byteLength/detached-buffer.js:
default: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all'
strict mode: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all'
@@ -1542,9 +1545,6 @@
test/intl402/Collator/missing-unicode-ext-value-defaults-to-true.js:
default: "Test262Error: \"kn-true\" is returned in locale, but shouldn't be. Expected SameValue(«7», «-1») to be true"
strict mode: "Test262Error: \"kn-true\" is returned in locale, but shouldn't be. Expected SameValue(«7», «-1») to be true"
-test/intl402/DateTimeFormat/constructor-options-order-fractionalSecondDigits.js:
- default: 'Test262Error: Expected [second, fractionalSecondDigits, localeMatcher, second, fractionalSecondDigits, timeZoneName, formatMatcher] and [second, fractionalSecondDigits, localeMatcher, second, timeZoneName, fractionalSecondDigits, formatMatcher] to have the same contents. '
- strict mode: 'Test262Error: Expected [second, fractionalSecondDigits, localeMatcher, second, fractionalSecondDigits, timeZoneName, formatMatcher] and [second, fractionalSecondDigits, localeMatcher, second, timeZoneName, fractionalSecondDigits, formatMatcher] to have the same contents. '
test/intl402/DateTimeFormat/prototype/format/timedatestyle-en.js:
default: 'Test262Error: Result for full with {} Expected SameValue(«14:12:47 PM Coordinated Universal Time», «14:12:47 Coordinated Universal Time») to be true'
strict mode: 'Test262Error: Result for full with {} Expected SameValue(«14:12:47 PM Coordinated Universal Time», «14:12:47 Coordinated Universal Time») to be true'
Modified: trunk/JSTests/test262/harness/compareArray.js (266502 => 266503)
--- trunk/JSTests/test262/harness/compareArray.js 2020-09-03 05:20:48 UTC (rev 266502)
+++ trunk/JSTests/test262/harness/compareArray.js 2020-09-03 05:24:10 UTC (rev 266503)
@@ -30,10 +30,12 @@
return `[${array.map(String).join(', ')}]`;
};
-assert.compareArray = function(actual, expected, message) {
+assert.compareArray = function(actual, expected, message = '') {
+ assert(actual != null, `First argument shouldn't be nullish. ${message}`);
+ assert(expected != null, `Second argument shouldn't be nullish. ${message}`);
var format = compareArray.format;
assert(
compareArray(actual, expected),
- `Expected ${format(actual)} and ${format(expected)} to have the same contents. ${(message || '')}`
+ `Expected ${format(actual)} and ${format(expected)} to have the same contents. ${message}`
);
};
Modified: trunk/JSTests/test262/harness/testIntl.js (266502 => 266503)
--- trunk/JSTests/test262/harness/testIntl.js 2020-09-03 05:20:48 UTC (rev 266502)
+++ trunk/JSTests/test262/harness/testIntl.js 2020-09-03 05:24:10 UTC (rev 266503)
@@ -1,5 +1,6 @@
// Copyright (C) 2011 2012 Norbert Lindenberg. All rights reserved.
// Copyright (C) 2012 2013 Mozilla Corporation. All rights reserved.
+// Copyright (C) 2020 Apple Inc. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
description: |
@@ -2001,6 +2002,7 @@
var regExpPropertiesDefaultValues = (function () {
var values = Object.create(null);
+ (/(?:)/).test("");
regExpProperties.forEach(function (property) {
values[property] = RegExp[property];
});
@@ -2014,9 +2016,7 @@
* RegExp constructor.
*/
function testForUnwantedRegExpChanges(testFunc) {
- regExpProperties.forEach(function (property) {
- RegExp[property] = regExpPropertiesDefaultValues[property];
- });
+ (/(?:)/).test("");
testFunc();
regExpProperties.forEach(function (property) {
if (RegExp[property] !== regExpPropertiesDefaultValues[property]) {
Modified: trunk/JSTests/test262/latest-changes-summary.txt (266502 => 266503)
--- trunk/JSTests/test262/latest-changes-summary.txt 2020-09-03 05:20:48 UTC (rev 266502)
+++ trunk/JSTests/test262/latest-changes-summary.txt 2020-09-03 05:24:10 UTC (rev 266503)
@@ -1,292 +1,9 @@
-M harness/nativeFunctionMatcher.js
-M harness/wellKnownIntrinsicObjects.js
-A test/annexB/built-ins/Object/is/emulates-undefined.js
-A test/annexB/language/expressions/coalesce/emulates-undefined.js
-A test/annexB/language/expressions/conditional/emulates-undefined.js
-A test/annexB/language/expressions/does-not-equals/emulates-undefined.js
-A test/annexB/language/expressions/equals/emulates-undefined.js
-A test/annexB/language/expressions/logical-and/emulates-undefined.js
-A test/annexB/language/expressions/logical-assignment/emulates-undefined-and.js
-A test/annexB/language/expressions/logical-assignment/emulates-undefined-coalesce.js
-A test/annexB/language/expressions/logical-assignment/emulates-undefined-or.js
-A test/annexB/language/expressions/logical-not/emulates-undefined.js
-A test/annexB/language/expressions/logical-or/emulates-undefined.js
-A test/annexB/language/expressions/strict-does-not-equals/emulates-undefined.js
-A test/annexB/language/expressions/strict-equals/emulates-undefined.js
-A test/annexB/language/statements/if/emulated-undefined.js
-A test/annexB/language/statements/switch/emulates-undefined.js
-A test/built-ins/AsyncFunction/AsyncFunctionPrototype-is-not-callable.js
-A test/built-ins/AsyncGeneratorFunction/prototype/not-callable.js
-D test/built-ins/Function/prototype/bind/15.3.4.5-0-2.js
-D test/built-ins/Function/prototype/bind/15.3.4.5-13.b-1.js
-D test/built-ins/Function/prototype/bind/15.3.4.5-13.b-2.js
-D test/built-ins/Function/prototype/bind/15.3.4.5-13.b-3.js
-D test/built-ins/Function/prototype/bind/15.3.4.5-13.b-4.js
-D test/built-ins/Function/prototype/bind/15.3.4.5-13.b-5.js
-D test/built-ins/Function/prototype/bind/15.3.4.5-13.b-6.js
-D test/built-ins/Function/prototype/bind/15.3.4.5-15-1.js
-D test/built-ins/Function/prototype/bind/15.3.4.5-15-2.js
-D test/built-ins/Function/prototype/bind/15.3.4.5-15-3.js
-D test/built-ins/Function/prototype/bind/15.3.4.5-15-4.js
-D test/built-ins/Function/prototype/bind/15.3.4.5-15-5.js
-A test/built-ins/Function/prototype/bind/instance-length-default-value.js
-R085 test/built-ins/Function/prototype/bind/length-exceeds-int32.js test/built-ins/Function/prototype/bind/instance-length-exceeds-int32.js
-A test/built-ins/Function/prototype/bind/instance-length-prop-desc.js
-A test/built-ins/Function/prototype/bind/instance-length-remaining-args.js
-A test/built-ins/Function/prototype/bind/instance-length-tointeger.js
-A test/built-ins/Function/prototype/bind/length.js
-A test/built-ins/Function/prototype/length.js
-M test/built-ins/Function/prototype/toString/built-in-function-object.js
-D test/built-ins/Function/prototype/toString/well-known-intrinsic-object-functions.js
-A test/built-ins/GeneratorFunction/prototype/not-callable.js
-A test/built-ins/String/prototype/split/limit-touint32-error.js
-A test/built-ins/String/prototype/split/separator-tostring-error.js
-M test/built-ins/String/prototype/split/separator-undef-limit-zero.js
-A test/built-ins/String/prototype/split/this-value-tostring-error.js
-M test/harness/nativeFunctionMatcher.js
-M test/intl402/Intl/builtin.js
-D test/intl402/Intl/proto.js
-A test/intl402/Intl/toStringTag/toString.js
-A test/intl402/Intl/toStringTag/toStringTag.js
-M test/intl402/NumberFormat/dft-currency-mnfd-range-check-mxfd.js
-A test/language/expressions/arrow-function/dstr/ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/arrow-function/dstr/ary-ptrn-rest-id-direct.js
-A test/language/expressions/arrow-function/dstr/dflt-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-id-direct.js
-A test/language/expressions/async-generator/dstr/ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/async-generator/dstr/ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/async-generator/dstr/ary-ptrn-rest-id-direct.js
-A test/language/expressions/async-generator/dstr/dflt-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/async-generator/dstr/dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/async-generator/dstr/dflt-ary-ptrn-rest-id-direct.js
-A test/language/expressions/async-generator/dstr/named-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/async-generator/dstr/named-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/async-generator/dstr/named-ary-ptrn-rest-id-direct.js
-A test/language/expressions/async-generator/dstr/named-dflt-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/async-generator/dstr/named-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/async-generator/dstr/named-dflt-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/async-gen-meth-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/class/dstr/async-gen-meth-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/async-gen-meth-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/async-gen-meth-dflt-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/class/dstr/async-gen-meth-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/async-gen-meth-dflt-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/async-gen-meth-static-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/class/dstr/async-gen-meth-static-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/async-gen-meth-static-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/async-gen-meth-static-dflt-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/class/dstr/async-gen-meth-static-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/async-gen-meth-static-dflt-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/async-private-gen-meth-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/async-private-gen-meth-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/async-private-gen-meth-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/async-private-gen-meth-dflt-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/async-private-gen-meth-static-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/async-private-gen-meth-static-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/async-private-gen-meth-static-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/async-private-gen-meth-static-dflt-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/gen-meth-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/class/dstr/gen-meth-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/gen-meth-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/gen-meth-dflt-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/class/dstr/gen-meth-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/gen-meth-dflt-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/gen-meth-static-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/class/dstr/gen-meth-static-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/gen-meth-static-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/gen-meth-static-dflt-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/class/dstr/gen-meth-static-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/gen-meth-static-dflt-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/meth-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/class/dstr/meth-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/meth-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/meth-dflt-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/class/dstr/meth-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/meth-dflt-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/meth-static-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/class/dstr/meth-static-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/meth-static-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/meth-static-dflt-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/class/dstr/meth-static-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/meth-static-dflt-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/private-gen-meth-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/private-gen-meth-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/private-gen-meth-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/private-gen-meth-dflt-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/private-gen-meth-static-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/private-gen-meth-static-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/private-gen-meth-static-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/private-gen-meth-static-dflt-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/private-meth-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/private-meth-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/private-meth-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/private-meth-dflt-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/private-meth-static-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/private-meth-static-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/dstr/private-meth-static-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/class/dstr/private-meth-static-dflt-ary-ptrn-rest-id-direct.js
-A test/language/expressions/class/elements/syntax/valid/grammar-special-prototype-accessor-meth-valid.js
-A test/language/expressions/class/elements/syntax/valid/grammar-special-prototype-async-gen-meth-valid.js
-A test/language/expressions/class/elements/syntax/valid/grammar-special-prototype-async-meth-valid.js
-A test/language/expressions/class/elements/syntax/valid/grammar-special-prototype-gen-meth-valid.js
-A test/language/expressions/class/elements/syntax/valid/grammar-special-prototype-meth-valid.js
-D test/language/expressions/delete/11.4.1-5-a-5gs.js
-A test/language/expressions/function/dstr/ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/function/dstr/ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/function/dstr/ary-ptrn-rest-id-direct.js
-A test/language/expressions/function/dstr/dflt-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/function/dstr/dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/function/dstr/dflt-ary-ptrn-rest-id-direct.js
-A test/language/expressions/generators/dstr/ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/generators/dstr/ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/generators/dstr/ary-ptrn-rest-id-direct.js
-A test/language/expressions/generators/dstr/dflt-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/generators/dstr/dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/generators/dstr/dflt-ary-ptrn-rest-id-direct.js
-A test/language/expressions/object/dstr/async-gen-meth-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/object/dstr/async-gen-meth-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/object/dstr/async-gen-meth-ary-ptrn-rest-id-direct.js
-A test/language/expressions/object/dstr/async-gen-meth-dflt-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/object/dstr/async-gen-meth-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/object/dstr/async-gen-meth-dflt-ary-ptrn-rest-id-direct.js
-A test/language/expressions/object/dstr/gen-meth-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/object/dstr/gen-meth-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/object/dstr/gen-meth-ary-ptrn-rest-id-direct.js
-A test/language/expressions/object/dstr/gen-meth-dflt-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/object/dstr/gen-meth-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/object/dstr/gen-meth-dflt-ary-ptrn-rest-id-direct.js
-A test/language/expressions/object/dstr/meth-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/object/dstr/meth-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/object/dstr/meth-ary-ptrn-rest-id-direct.js
-A test/language/expressions/object/dstr/meth-dflt-ary-init-iter-get-err-array-prototype.js
-A test/language/expressions/object/dstr/meth-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/expressions/object/dstr/meth-dflt-ary-ptrn-rest-id-direct.js
-M test/language/expressions/tagged-template/invalid-escape-sequences.js
-A test/language/expressions/template-literal/invalid-legacy-octal-escape-sequence-9.js
-A test/language/identifiers/part-zwj-zwnj-escaped.js
-A test/language/identifiers/start-zwj-escaped.js
-A test/language/identifiers/start-zwnj-escaped.js
-A test/language/literals/string/legacy-non-octal-escape-sequence-9-strict.js
-A test/language/module-code/export-default-asyncfunction-declaration-binding-exists.js
-A test/language/module-code/export-default-asyncfunction-declaration-binding.js
-A test/language/module-code/export-default-asyncgenerator-declaration-binding-exists.js
-A test/language/module-code/export-default-asyncgenerator-declaration-binding.js
-A test/language/module-code/export-default-function-declaration-binding-exists.js
-A test/language/module-code/export-default-function-declaration-binding.js
-A test/language/module-code/export-default-generator-declaration-binding-exists.js
-A test/language/module-code/export-default-generator-declaration-binding.js
-A test/language/statements/async-generator/dstr/ary-init-iter-get-err-array-prototype.js
-A test/language/statements/async-generator/dstr/ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/async-generator/dstr/ary-ptrn-rest-id-direct.js
-A test/language/statements/async-generator/dstr/dflt-ary-init-iter-get-err-array-prototype.js
-A test/language/statements/async-generator/dstr/dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/async-generator/dstr/dflt-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/async-gen-meth-ary-init-iter-get-err-array-prototype.js
-A test/language/statements/class/dstr/async-gen-meth-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/async-gen-meth-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/async-gen-meth-dflt-ary-init-iter-get-err-array-prototype.js
-A test/language/statements/class/dstr/async-gen-meth-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/async-gen-meth-dflt-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/async-gen-meth-static-ary-init-iter-get-err-array-prototype.js
-A test/language/statements/class/dstr/async-gen-meth-static-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/async-gen-meth-static-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/async-gen-meth-static-dflt-ary-init-iter-get-err-array-prototype.js
-A test/language/statements/class/dstr/async-gen-meth-static-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/async-gen-meth-static-dflt-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/async-private-gen-meth-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/async-private-gen-meth-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/async-private-gen-meth-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/async-private-gen-meth-dflt-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/async-private-gen-meth-static-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/async-private-gen-meth-static-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/async-private-gen-meth-static-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/async-private-gen-meth-static-dflt-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/gen-meth-ary-init-iter-get-err-array-prototype.js
-A test/language/statements/class/dstr/gen-meth-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/gen-meth-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/gen-meth-dflt-ary-init-iter-get-err-array-prototype.js
-A test/language/statements/class/dstr/gen-meth-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/gen-meth-dflt-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/gen-meth-static-ary-init-iter-get-err-array-prototype.js
-A test/language/statements/class/dstr/gen-meth-static-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/gen-meth-static-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/gen-meth-static-dflt-ary-init-iter-get-err-array-prototype.js
-A test/language/statements/class/dstr/gen-meth-static-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/gen-meth-static-dflt-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/meth-ary-init-iter-get-err-array-prototype.js
-A test/language/statements/class/dstr/meth-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/meth-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/meth-dflt-ary-init-iter-get-err-array-prototype.js
-A test/language/statements/class/dstr/meth-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/meth-dflt-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/meth-static-ary-init-iter-get-err-array-prototype.js
-A test/language/statements/class/dstr/meth-static-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/meth-static-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/meth-static-dflt-ary-init-iter-get-err-array-prototype.js
-A test/language/statements/class/dstr/meth-static-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/meth-static-dflt-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/private-gen-meth-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/private-gen-meth-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/private-gen-meth-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/private-gen-meth-dflt-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/private-gen-meth-static-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/private-gen-meth-static-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/private-gen-meth-static-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/private-gen-meth-static-dflt-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/private-meth-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/private-meth-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/private-meth-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/private-meth-dflt-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/private-meth-static-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/private-meth-static-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/dstr/private-meth-static-dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/class/dstr/private-meth-static-dflt-ary-ptrn-rest-id-direct.js
-A test/language/statements/class/elements/syntax/valid/grammar-special-prototype-accessor-meth-valid.js
-A test/language/statements/class/elements/syntax/valid/grammar-special-prototype-async-gen-meth-valid.js
-A test/language/statements/class/elements/syntax/valid/grammar-special-prototype-async-meth-valid.js
-A test/language/statements/class/elements/syntax/valid/grammar-special-prototype-gen-meth-valid.js
-A test/language/statements/class/elements/syntax/valid/grammar-special-prototype-meth-valid.js
-A test/language/statements/const/dstr/ary-init-iter-get-err-array-prototype.js
-A test/language/statements/const/dstr/ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/const/dstr/ary-ptrn-rest-id-direct.js
-A test/language/statements/for/dstr/const-ary-init-iter-get-err-array-prototype.js
-A test/language/statements/for/dstr/const-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/for/dstr/const-ary-ptrn-rest-id-direct.js
-A test/language/statements/for/dstr/let-ary-init-iter-get-err-array-prototype.js
-A test/language/statements/for/dstr/let-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/for/dstr/let-ary-ptrn-rest-id-direct.js
-A test/language/statements/for/dstr/var-ary-init-iter-get-err-array-prototype.js
-A test/language/statements/for/dstr/var-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/for/dstr/var-ary-ptrn-rest-id-direct.js
-A test/language/statements/for-of/dstr/const-ary-init-iter-get-err-array-prototype.js
-A test/language/statements/for-of/dstr/const-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/for-of/dstr/const-ary-ptrn-rest-id-direct.js
-A test/language/statements/for-of/dstr/let-ary-init-iter-get-err-array-prototype.js
-A test/language/statements/for-of/dstr/let-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/for-of/dstr/let-ary-ptrn-rest-id-direct.js
-A test/language/statements/for-of/dstr/var-ary-init-iter-get-err-array-prototype.js
-A test/language/statements/for-of/dstr/var-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/for-of/dstr/var-ary-ptrn-rest-id-direct.js
-A test/language/statements/function/dstr/ary-init-iter-get-err-array-prototype.js
-A test/language/statements/function/dstr/ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/function/dstr/ary-ptrn-rest-id-direct.js
-A test/language/statements/function/dstr/dflt-ary-init-iter-get-err-array-prototype.js
-A test/language/statements/function/dstr/dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/function/dstr/dflt-ary-ptrn-rest-id-direct.js
-A test/language/statements/generators/dstr/ary-init-iter-get-err-array-prototype.js
-A test/language/statements/generators/dstr/ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/generators/dstr/ary-ptrn-rest-id-direct.js
-A test/language/statements/generators/dstr/dflt-ary-init-iter-get-err-array-prototype.js
-A test/language/statements/generators/dstr/dflt-ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/generators/dstr/dflt-ary-ptrn-rest-id-direct.js
-A test/language/statements/let/dstr/ary-init-iter-get-err-array-prototype.js
-A test/language/statements/let/dstr/ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/let/dstr/ary-ptrn-rest-id-direct.js
-A test/language/statements/try/dstr/ary-init-iter-get-err-array-prototype.js
-A test/language/statements/try/dstr/ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/try/dstr/ary-ptrn-rest-id-direct.js
-A test/language/statements/variable/dstr/ary-init-iter-get-err-array-prototype.js
-A test/language/statements/variable/dstr/ary-ptrn-elem-id-iter-val-array-prototype.js
-A test/language/statements/variable/dstr/ary-ptrn-rest-id-direct.js
\ No newline at end of file
+M harness/compareArray.js
+M harness/testIntl.js
+A test/annexB/language/expressions/object/__proto__-poisoned-object-prototype.js
+A test/built-ins/Array/prototype/push/length-near-integer-limit-set-failure.js
+A test/built-ins/Object/defineProperty/redefine-length-with-various-values-and-configurable-true.js
+A test/harness/compare-array-falsy-arguments.js
+M test/intl402/DateTimeFormat/constructor-options-order-fractionalSecondDigits.js
+A test/language/expressions/object/__proto__-permitted-dup-shorthand.js
+M test/language/expressions/object/__proto__-permitted-dup.js
\ No newline at end of file
Added: trunk/JSTests/test262/test/annexB/language/expressions/object/__proto__-poisoned-object-prototype.js (0 => 266503)
--- trunk/JSTests/test262/test/annexB/language/expressions/object/__proto__-poisoned-object-prototype.js (rev 0)
+++ trunk/JSTests/test262/test/annexB/language/expressions/object/__proto__-poisoned-object-prototype.js 2020-09-03 05:24:10 UTC (rev 266503)
@@ -0,0 +1,32 @@
+// Copyright (C) 2020 Alexey Shvayka. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-__proto__-property-names-in-object-initializers
+description: >
+ The value of the `__proto__` property key is assigned to the [[Prototype]].
+ Object.prototype.__proto__ setter should not be called.
+info: |
+ __proto__ Property Names in Object Initializers
+
+ PropertyDefinition : PropertyName : AssignmentExpression
+
+ [...]
+ 7. If isProtoSetter is true, then
+ a. If Type(propValue) is either Object or Null, then
+ i. Return object.[[SetPrototypeOf]](propValue).
+---*/
+
+Object.defineProperty(Object.prototype, '__proto__', {
+ set: function() {
+ throw new Test262Error('should not be called');
+ },
+});
+
+var proto = {};
+
+var object = {
+ __proto__: proto
+};
+
+assert(!object.hasOwnProperty('__proto__'));
+assert.sameValue(Object.getPrototypeOf(object), proto);
Added: trunk/JSTests/test262/test/built-ins/Array/prototype/push/length-near-integer-limit-set-failure.js (0 => 266503)
--- trunk/JSTests/test262/test/built-ins/Array/prototype/push/length-near-integer-limit-set-failure.js (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Array/prototype/push/length-near-integer-limit-set-failure.js 2020-09-03 05:24:10 UTC (rev 266503)
@@ -0,0 +1,47 @@
+// Copyright (C) 2020 Alexey Shvayka. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-array.prototype.push
+description: >
+ A value is inserted in an array-like object whose length property is near the integer limit.
+ Unsuccessful [[Set]] raises a TypeError.
+info: |
+ Array.prototype.push ( ...items )
+
+ [...]
+ 2. Let len be ? LengthOfArrayLike(O).
+ [...]
+ 4. Let argCount be the number of elements in items.
+ [...]
+ 6. Repeat, while items is not empty,
+ a. Remove the first element from items and let E be the value of the element.
+ b. Perform ? Set(O, ! ToString(len), E, true).
+ c. Set len to len + 1.
+ [...]
+
+ OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
+
+ [...]
+ 3. If IsDataDescriptor(ownDesc) is true, then
+ a. If ownDesc.[[Writable]] is false, return false.
+---*/
+
+var arrayLike = {
+ length: Number.MAX_SAFE_INTEGER - 3,
+};
+
+Object.defineProperty(arrayLike, Number.MAX_SAFE_INTEGER - 1, {
+ value: 33,
+ writable: false,
+ enumerable: true,
+ configurable: true,
+});
+
+assert.throws(TypeError, function() {
+ Array.prototype.push.call(arrayLike, 1, 2, 3);
+});
+
+assert.sameValue(arrayLike[Number.MAX_SAFE_INTEGER - 3], 1);
+assert.sameValue(arrayLike[Number.MAX_SAFE_INTEGER - 2], 2);
+assert.sameValue(arrayLike[Number.MAX_SAFE_INTEGER - 1], 33);
Added: trunk/JSTests/test262/test/built-ins/Object/defineProperty/redefine-length-with-various-values-and-configurable-true.js (0 => 266503)
--- trunk/JSTests/test262/test/built-ins/Object/defineProperty/redefine-length-with-various-values-and-configurable-true.js (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Object/defineProperty/redefine-length-with-various-values-and-configurable-true.js 2020-09-03 05:24:10 UTC (rev 266503)
@@ -0,0 +1,38 @@
+// Copyright (c) 2020 Rick Waldron. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-array-exotic-objects-defineownproperty-p-desc
+description: >
+ Redefining "length" to `configurable: true` throws a TypeError exception
+info: |
+ ArraySetLength ( A, Desc )
+
+ ValidateAndApplyPropertyDescriptor ( O, P, extensible, Desc, current )
+---*/
+
+let a = [1];
+
+assert.throws(TypeError, () => {
+ Object.defineProperty(a, "length", {
+ configurable: true
+ });
+});
+assert.throws(TypeError, () => {
+ Object.defineProperty(a, "length", {
+ value: 1,
+ configurable: true
+ });
+});
+assert.throws(TypeError, () => {
+ Object.defineProperty(a, "length", {
+ value: 2,
+ configurable: true
+ });
+});
+assert.throws(TypeError, () => {
+ Object.defineProperty(a, "length", {
+ value: 3,
+ configurable: true
+ });
+});
Added: trunk/JSTests/test262/test/harness/compare-array-falsy-arguments.js (0 => 266503)
--- trunk/JSTests/test262/test/harness/compare-array-falsy-arguments.js (rev 0)
+++ trunk/JSTests/test262/test/harness/compare-array-falsy-arguments.js 2020-09-03 05:24:10 UTC (rev 266503)
@@ -0,0 +1,28 @@
+// Copyright (C) 2020 Alexey Shvayka. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: >
+ compareArray gracefully handles nullish arguments.
+includes: [compareArray.js]
+---*/
+
+function assertThrows(func, errorMessage) {
+ var caught = false;
+ try {
+ func();
+ } catch (error) {
+ caught = true;
+ assert.sameValue(error.constructor, Test262Error);
+ assert.sameValue(error.message, errorMessage);
+ }
+
+ assert(caught, `Expected ${func} to throw, but it didn't.`);
+}
+
+assertThrows(() => assert.compareArray(), "First argument shouldn't be nullish. ");
+assertThrows(() => assert.compareArray(null, []), "First argument shouldn't be nullish. ");
+assertThrows(() => assert.compareArray(null, [], "foo"), "First argument shouldn't be nullish. foo");
+
+assertThrows(() => assert.compareArray([]), "Second argument shouldn't be nullish. ");
+assertThrows(() => assert.compareArray([], undefined, "foo"), "Second argument shouldn't be nullish. foo");
Modified: trunk/JSTests/test262/test/intl402/DateTimeFormat/constructor-options-order-fractionalSecondDigits.js (266502 => 266503)
--- trunk/JSTests/test262/test/intl402/DateTimeFormat/constructor-options-order-fractionalSecondDigits.js 2020-09-03 05:20:48 UTC (rev 266502)
+++ trunk/JSTests/test262/test/intl402/DateTimeFormat/constructor-options-order-fractionalSecondDigits.js 2020-09-03 05:24:10 UTC (rev 266503)
@@ -1,4 +1,5 @@
// Copyright 2019 Googe Inc. All rights reserved.
+// Copyright 2020 Apple Inc. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
@@ -31,9 +32,8 @@
"localeMatcher",
// InitializeDateTimeFormat step 22.
"second",
+ "fractionalSecondDigits",
"timeZoneName",
- // InitializeDateTimeFormat step 23.
- "fractionalSecondDigits",
// InitializeDateTimeFormat step 26.
"formatMatcher",
];
Copied: trunk/JSTests/test262/test/language/expressions/object/__proto__-permitted-dup-shorthand.js (from rev 266502, trunk/JSTests/test262/test/language/expressions/object/__proto__-permitted-dup.js) (0 => 266503)
--- trunk/JSTests/test262/test/language/expressions/object/__proto__-permitted-dup-shorthand.js (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/__proto__-permitted-dup-shorthand.js 2020-09-03 05:24:10 UTC (rev 266503)
@@ -0,0 +1,25 @@
+// Copyright (C) 2020 Alexey Shvayka. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-object-initializer
+description: Permitted duplicate `__proto__` property (shorthand)
+info: |
+ Annex B defines an early error for duplicate PropertyName of `__proto__`,
+ but this does not apply to properties created from other productions.
+
+ B.3.1 __proto__ Property Names in Object Initializers
+
+ It is a Syntax Error if PropertyNameList of PropertyDefinitionList contains
+ any duplicate entries for "__proto__" and at least two of those entries
+ were obtained from productions of the form
+ PropertyDefinition : PropertyName : AssignmentExpression .
+---*/
+
+var __proto__ = 2;
+var obj = {
+ __proto__,
+ __proto__,
+};
+
+assert(obj.hasOwnProperty("__proto__"));
+assert.sameValue(obj.__proto__, 2);
Modified: trunk/JSTests/test262/test/language/expressions/object/__proto__-permitted-dup.js (266502 => 266503)
--- trunk/JSTests/test262/test/language/expressions/object/__proto__-permitted-dup.js 2020-09-03 05:20:48 UTC (rev 266502)
+++ trunk/JSTests/test262/test/language/expressions/object/__proto__-permitted-dup.js 2020-09-03 05:24:10 UTC (rev 266503)
@@ -2,7 +2,6 @@
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-object-initializer
-es6id: 12.2.6
description: Permitted duplicate `__proto__` property
info: |
Annex B defines an early error for duplicate PropertyName of `__proto__`,
@@ -14,6 +13,7 @@
any duplicate entries for "__proto__" and at least two of those entries
were obtained from productions of the form
PropertyDefinition : PropertyName : AssignmentExpression .
+features: [generators, async-functions, async-iteration]
---*/
var obj = {
@@ -24,6 +24,9 @@
proto__: null,
['__proto__']: null,
__proto__() {},
+ * __proto__() {},
+ async __proto__() {},
+ async * __proto__() {},
get __proto__() { return 33; },
set __proto__(_) { return 44; }
};
Modified: trunk/JSTests/test262/test262-Revision.txt (266502 => 266503)
--- trunk/JSTests/test262/test262-Revision.txt 2020-09-03 05:20:48 UTC (rev 266502)
+++ trunk/JSTests/test262/test262-Revision.txt 2020-09-03 05:24:10 UTC (rev 266503)
@@ -1,2 +1,2 @@
test262 remote url: g...@github.com:tc39/test262.git
-test262 revision: 24c67328062383079ada85f4d253eb0526fd209b
+test262 revision: e8cdf923ef0c9ba7fea4399cef309cb2259cf776