Title: [266503] trunk/JSTests
Revision
266503
Author
ysuz...@apple.com
Date
2020-09-02 22:24:10 -0700 (Wed, 02 Sep 2020)

Log Message

[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:

Modified Paths

Added Paths

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
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to