Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Add core-js implementation #59

Merged
merged 3 commits into from Apr 3, 2022
Merged

Add core-js implementation #59

merged 3 commits into from Apr 3, 2022

Conversation

zloirock
Copy link
Contributor

No description provided.

@zloirock
Copy link
Contributor Author

zloirock commented Apr 2, 2022

@acutmore

@acutmore
Copy link
Collaborator

acutmore commented Apr 2, 2022

Hi @zloirock , thanks for the ping.

I am unable to get all of our test262 tests to pass with this. Would you be able to look into this?

TAP output
TAP version 13
# [test/built-ins/Array/prototype/toReversed/get-descending-order.js] Array.prototype.toReversed gets the array elements from the last one to the first one. 
ok 1 PASSED
# [test/built-ins/Array/prototype/toReversed/get-descending-order.js] Array.prototype.toReversed gets the array elements from the last one to the first one. (Strict Mode)
ok 2 PASSED
# [test/built-ins/Array/prototype/toReversed/frozen-this-value.js] Array.prototype.toReversed works on frozen objects 
ok 3 PASSED
# [test/built-ins/Array/prototype/toReversed/frozen-this-value.js] Array.prototype.toReversed works on frozen objects (Strict Mode)
ok 4 PASSED
# [test/built-ins/Array/prototype/toReversed/holes-not-preserved.js] Array.prototype.toReversed does not preserve holes in the array 
ok 5 PASSED
# [test/built-ins/Array/prototype/toReversed/holes-not-preserved.js] Array.prototype.toReversed does not preserve holes in the array (Strict Mode)
ok 6 PASSED
# [test/built-ins/Array/prototype/toReversed/immutable.js] Array.prototype.toReversed does not mutate its this value 
ok 7 PASSED
# [test/built-ins/Array/prototype/toReversed/immutable.js] Array.prototype.toReversed does not mutate its this value (Strict Mode)
ok 8 PASSED
# [test/built-ins/Array/prototype/toReversed/length-casted-to-zero.js] Array.prototype.toReversed creates an empty array if the this value .length is not a positive integer. 
ok 9 PASSED
# [test/built-ins/Array/prototype/toReversed/length-casted-to-zero.js] Array.prototype.toReversed creates an empty array if the this value .length is not a positive integer. (Strict Mode)
ok 10 PASSED
# [test/built-ins/Array/prototype/toReversed/ignores-species.js] Array.prototype.toReversed ignores @@species 
ok 11 PASSED
# [test/built-ins/Array/prototype/toReversed/ignores-species.js] Array.prototype.toReversed ignores @@species (Strict Mode)
ok 12 PASSED
# [test/built-ins/Array/prototype/toReversed/length-decreased-while-iterating.js] Array.prototype.toReversed caches the length getting the array elements. 
ok 13 PASSED
# [test/built-ins/Array/prototype/toReversed/length-decreased-while-iterating.js] Array.prototype.toReversed caches the length getting the array elements. (Strict Mode)
ok 14 PASSED
# [test/built-ins/Array/prototype/toReversed/length-exceeding-array-length-limit.js] Array.prototype.toReversed limits the length to 2 ** 32 - 1 
ok 15 PASSED
# [test/built-ins/Array/prototype/toReversed/length-exceeding-array-length-limit.js] Array.prototype.toReversed limits the length to 2 ** 32 - 1 (Strict Mode)
ok 16 PASSED
# [test/built-ins/Array/prototype/toReversed/length-increased-while-iterating.js] Array.prototype.toReversed caches the length getting the array elements. 
ok 17 PASSED
# [test/built-ins/Array/prototype/toReversed/length-increased-while-iterating.js] Array.prototype.toReversed caches the length getting the array elements. (Strict Mode)
ok 18 PASSED
# [test/built-ins/Array/prototype/toReversed/length-integer-string.js] Array.prototype.toReversed converts the this value length to a number. 
ok 19 PASSED
# [test/built-ins/Array/prototype/toReversed/length-integer-string.js] Array.prototype.toReversed converts the this value length to a number. (Strict Mode)
ok 20 PASSED
# [test/built-ins/Array/prototype/toReversed/not-a-constructor.js] Array.prototype.toReversed does not implement [[Construct]], is not new-able 
not ok 21 Test262Error: isConstructor(Array.prototype.toReversed) must return false Expected SameValue(«true», «false») to be true
  ---
    operator: fail
    stack: |-
      Error: Test262Error: isConstructor(Array.prototype.toReversed) must return false Expected SameValue(«true», «false») to be true
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/Array/prototype/toReversed/not-a-constructor.js] Array.prototype.toReversed does not implement [[Construct]], is not new-able (Strict Mode)
not ok 22 Test262Error: isConstructor(Array.prototype.toReversed) must return false Expected SameValue(«true», «false») to be true
  ---
    operator: fail
    stack: |-
      Error: Test262Error: isConstructor(Array.prototype.toReversed) must return false Expected SameValue(«true», «false») to be true
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/Array/prototype/toReversed/this-value-boolean.js] Array.prototype.toReversed throws if the receiver is null or undefined 
ok 23 PASSED
# [test/built-ins/Array/prototype/toReversed/this-value-boolean.js] Array.prototype.toReversed throws if the receiver is null or undefined (Strict Mode)
ok 24 PASSED
# [test/built-ins/Array/prototype/toReversed/this-value-nullish.js] Array.prototype.toReversed throws if the receiver is null or undefined 
ok 25 PASSED
# [test/built-ins/Array/prototype/toReversed/this-value-nullish.js] Array.prototype.toReversed throws if the receiver is null or undefined (Strict Mode)
ok 26 PASSED
# [test/built-ins/Array/prototype/toReversed/zero-or-one-element.js] Array.prototype.toReversed returns a new array even if it has zero or one elements 
ok 27 PASSED
# [test/built-ins/Array/prototype/toReversed/zero-or-one-element.js] Array.prototype.toReversed returns a new array even if it has zero or one elements (Strict Mode)
ok 28 PASSED
# [test/built-ins/Array/prototype/toReversed/metadata/length.js] The "length" property of Array.prototype.toReversed 
ok 29 PASSED
# [test/built-ins/Array/prototype/toReversed/metadata/length.js] The "length" property of Array.prototype.toReversed (Strict Mode)
ok 30 PASSED
# [test/built-ins/Array/prototype/toReversed/metadata/name.js] Array.prototype.toReversed.name is "toReversed". 
ok 31 PASSED
# [test/built-ins/Array/prototype/toReversed/metadata/name.js] Array.prototype.toReversed.name is "toReversed". (Strict Mode)
ok 32 PASSED
# [test/built-ins/Array/prototype/toReversed/metadata/property-descriptor.js] "toReversed" property of Array.prototype 
ok 33 PASSED
# [test/built-ins/Array/prototype/toReversed/metadata/property-descriptor.js] "toReversed" property of Array.prototype (Strict Mode)
ok 34 PASSED
# [test/built-ins/Array/prototype/toSorted/comparefn-called-after-get-elements.js] Array.prototype.toSorted reads all the array elements before calling compareFn 
ok 35 PASSED
# [test/built-ins/Array/prototype/toSorted/comparefn-called-after-get-elements.js] Array.prototype.toSorted reads all the array elements before calling compareFn (Strict Mode)
ok 36 PASSED
# [test/built-ins/Array/prototype/toSorted/comparefn-not-a-function.js] Array.prototype.toSorted verifies that the comparator is callable before reading the length. 
ok 37 PASSED
# [test/built-ins/Array/prototype/toSorted/comparefn-not-a-function.js] Array.prototype.toSorted verifies that the comparator is callable before reading the length. (Strict Mode)
ok 38 PASSED
# [test/built-ins/Array/prototype/toSorted/comparefn-stop-after-error.js] Array.prototype.toSorted doesn't call copmareFn if there is an error 
ok 39 PASSED
# [test/built-ins/Array/prototype/toSorted/comparefn-stop-after-error.js] Array.prototype.toSorted doesn't call copmareFn if there is an error (Strict Mode)
ok 40 PASSED
# [test/built-ins/Array/prototype/toSorted/frozen-this-value.js] Array.prototype.toSorted works on frozen objects 
ok 41 PASSED
# [test/built-ins/Array/prototype/toSorted/frozen-this-value.js] Array.prototype.toSorted works on frozen objects (Strict Mode)
ok 42 PASSED
# [test/built-ins/Array/prototype/toSorted/holes-not-preserved.js] Array.prototype.toSorted does not preserve holes in the array 
ok 43 PASSED
# [test/built-ins/Array/prototype/toSorted/holes-not-preserved.js] Array.prototype.toSorted does not preserve holes in the array (Strict Mode)
ok 44 PASSED
# [test/built-ins/Array/prototype/toSorted/ignores-species.js] Array.prototype.toSorted throws if the receiver is null or undefined 
ok 45 PASSED
# [test/built-ins/Array/prototype/toSorted/ignores-species.js] Array.prototype.toSorted throws if the receiver is null or undefined (Strict Mode)
ok 46 PASSED
# [test/built-ins/Array/prototype/toSorted/immutable.js] Array.prototype.toSorted does not mutate its this value 
ok 47 PASSED
# [test/built-ins/Array/prototype/toSorted/immutable.js] Array.prototype.toSorted does not mutate its this value (Strict Mode)
ok 48 PASSED
# [test/built-ins/Array/prototype/toSorted/length-casted-to-zero.js] Array.prototype.toSorted creates an empty array if the this value .length is not a positive integer. 
ok 49 PASSED
# [test/built-ins/Array/prototype/toSorted/length-casted-to-zero.js] Array.prototype.toSorted creates an empty array if the this value .length is not a positive integer. (Strict Mode)
ok 50 PASSED
# [test/built-ins/Array/prototype/toSorted/length-decreased-while-iterating.js] Array.prototype.toSorted caches the length getting the array elements. 
ok 51 PASSED
# [test/built-ins/Array/prototype/toSorted/length-decreased-while-iterating.js] Array.prototype.toSorted caches the length getting the array elements. (Strict Mode)
ok 52 PASSED
# [test/built-ins/Array/prototype/toSorted/length-exceeding-array-length-limit.js] Array.prototype.toSorted limits the length to 2 ** 32 - 1 
ok 53 PASSED
# [test/built-ins/Array/prototype/toSorted/length-exceeding-array-length-limit.js] Array.prototype.toSorted limits the length to 2 ** 32 - 1 (Strict Mode)
ok 54 PASSED
# [test/built-ins/Array/prototype/toSorted/length-increased-while-iterating.js] Array.prototype.toSorted caches the length getting the array elements. 
ok 55 PASSED
# [test/built-ins/Array/prototype/toSorted/length-increased-while-iterating.js] Array.prototype.toSorted caches the length getting the array elements. (Strict Mode)
ok 56 PASSED
# [test/built-ins/Array/prototype/toSorted/length-integer-string.js] Array.prototype.toSorted converts the this value length to a number. 
ok 57 PASSED
# [test/built-ins/Array/prototype/toSorted/length-integer-string.js] Array.prototype.toSorted converts the this value length to a number. (Strict Mode)
ok 58 PASSED
# [test/built-ins/Array/prototype/toSorted/not-a-constructor.js] Array.prototype.toSorted does not implement [[Construct]], is not new-able 
not ok 59 Test262Error: isConstructor(Array.prototype.toSorted) must return false Expected SameValue(«true», «false») to be true
  ---
    operator: fail
    stack: |-
      Error: Test262Error: isConstructor(Array.prototype.toSorted) must return false Expected SameValue(«true», «false») to be true
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/Array/prototype/toSorted/not-a-constructor.js] Array.prototype.toSorted does not implement [[Construct]], is not new-able (Strict Mode)
not ok 60 Test262Error: isConstructor(Array.prototype.toSorted) must return false Expected SameValue(«true», «false») to be true
  ---
    operator: fail
    stack: |-
      Error: Test262Error: isConstructor(Array.prototype.toSorted) must return false Expected SameValue(«true», «false») to be true
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/Array/prototype/toSorted/this-value-boolean.js] Array.prototype.toSorted throws if the receiver is null or undefined 
ok 61 PASSED
# [test/built-ins/Array/prototype/toSorted/this-value-boolean.js] Array.prototype.toSorted throws if the receiver is null or undefined (Strict Mode)
ok 62 PASSED
# [test/built-ins/Array/prototype/toSorted/this-value-nullish.js] Array.prototype.toSorted throws if the receiver is null or undefined 
ok 63 PASSED
# [test/built-ins/Array/prototype/toSorted/this-value-nullish.js] Array.prototype.toSorted throws if the receiver is null or undefined (Strict Mode)
ok 64 PASSED
# [test/built-ins/Array/prototype/toSorted/zero-or-one-element.js] Array.prototype.toSorted returns a new array even if it has zero or one elements 
ok 65 PASSED
# [test/built-ins/Array/prototype/toSorted/zero-or-one-element.js] Array.prototype.toSorted returns a new array even if it has zero or one elements (Strict Mode)
ok 66 PASSED
# [test/built-ins/Array/prototype/toSorted/metadata/length.js] The "length" property of Array.prototype.toSorted 
ok 67 PASSED
# [test/built-ins/Array/prototype/toSorted/metadata/length.js] The "length" property of Array.prototype.toSorted (Strict Mode)
ok 68 PASSED
# [test/built-ins/Array/prototype/toSorted/metadata/name.js] Array.prototype.toSorted.name is "toSorted". 
ok 69 PASSED
# [test/built-ins/Array/prototype/toSorted/metadata/name.js] Array.prototype.toSorted.name is "toSorted". (Strict Mode)
ok 70 PASSED
# [test/built-ins/Array/prototype/toSorted/metadata/property-descriptor.js] "toSorted" property of Array.prototype 
ok 71 PASSED
# [test/built-ins/Array/prototype/toSorted/metadata/property-descriptor.js] "toSorted" property of Array.prototype (Strict Mode)
ok 72 PASSED
# [test/built-ins/Array/prototype/toSpliced/deleteCount-clamped-between-zero-and-remaining-count.js] deleteCount is clamped between zero and len - actualStart
ok 73 PASSED
# [test/built-ins/Array/prototype/toSpliced/deleteCount-clamped-between-zero-and-remaining-count.js] deleteCount is clamped between zero and len - actualStart (Strict Mode)
ok 74 PASSED
# [test/built-ins/Array/prototype/toSpliced/deleteCount-missing.js] Array.prototype.toSpliced deletes the elements after start when called with one argument
ok 75 PASSED
# [test/built-ins/Array/prototype/toSpliced/deleteCount-missing.js] Array.prototype.toSpliced deletes the elements after start when called with one argument (Strict Mode)
ok 76 PASSED
# [test/built-ins/Array/prototype/toSpliced/discarded-element-not-read.js] Array.prototype.toSpliced(undefined, undefined) returns a copy of the original array
ok 77 PASSED
# [test/built-ins/Array/prototype/toSpliced/discarded-element-not-read.js] Array.prototype.toSpliced(undefined, undefined) returns a copy of the original array (Strict Mode)
ok 78 PASSED
# [test/built-ins/Array/prototype/toSpliced/deleteCount-undefined.js] Array.prototype.toSpliced(number, undefined) returns a copy of the original array
ok 79 PASSED
# [test/built-ins/Array/prototype/toSpliced/deleteCount-undefined.js] Array.prototype.toSpliced(number, undefined) returns a copy of the original array (Strict Mode)
ok 80 PASSED
# [test/built-ins/Array/prototype/toSpliced/elements-read-in-order.js] Array.prototype.toSpliced(undefined, undefined) returns a copy of the original array
ok 81 PASSED
# [test/built-ins/Array/prototype/toSpliced/elements-read-in-order.js] Array.prototype.toSpliced(undefined, undefined) returns a copy of the original array (Strict Mode)
ok 82 PASSED
# [test/built-ins/Array/prototype/toSpliced/frozen-this-value.js] Array.prototype.toSpliced works on frozen objects 
ok 83 PASSED
# [test/built-ins/Array/prototype/toSpliced/frozen-this-value.js] Array.prototype.toSpliced works on frozen objects (Strict Mode)
ok 84 PASSED
# [test/built-ins/Array/prototype/toSpliced/holes-not-preserved.js] Array.prototype.toSpliced does not preserve holes in the array 
ok 85 PASSED
# [test/built-ins/Array/prototype/toSpliced/holes-not-preserved.js] Array.prototype.toSpliced does not preserve holes in the array (Strict Mode)
ok 86 PASSED
# [test/built-ins/Array/prototype/toSpliced/ignores-species.js] Array.prototype.toSpliced throws if the receiver is null or undefined 
ok 87 PASSED
# [test/built-ins/Array/prototype/toSpliced/ignores-species.js] Array.prototype.toSpliced throws if the receiver is null or undefined (Strict Mode)
ok 88 PASSED
# [test/built-ins/Array/prototype/toSpliced/length-casted-to-zero.js] Array.prototype.toSpliced creates an empty array if the this value .length is not a positive integer. 
ok 89 PASSED
# [test/built-ins/Array/prototype/toSpliced/length-casted-to-zero.js] Array.prototype.toSpliced creates an empty array if the this value .length is not a positive integer. (Strict Mode)
ok 90 PASSED
# [test/built-ins/Array/prototype/toSpliced/immutable.js] Array.prototype.toSpliced does not mutate its this value 
ok 91 PASSED
# [test/built-ins/Array/prototype/toSpliced/immutable.js] Array.prototype.toSpliced does not mutate its this value (Strict Mode)
ok 92 PASSED
# [test/built-ins/Array/prototype/toSpliced/length-clamped-to-2pow53minus1.js] Length is clamped to 2^53-1 when they exceed the integer limit. 
ok 93 PASSED
# [test/built-ins/Array/prototype/toSpliced/length-clamped-to-2pow53minus1.js] Length is clamped to 2^53-1 when they exceed the integer limit. (Strict Mode)
ok 94 PASSED
# [test/built-ins/Array/prototype/toSpliced/length-decreased-while-iterating.js] Array.prototype.toSpliced caches the length getting the array elements. 
ok 95 PASSED
# [test/built-ins/Array/prototype/toSpliced/length-decreased-while-iterating.js] Array.prototype.toSpliced caches the length getting the array elements. (Strict Mode)
ok 96 PASSED
# [test/built-ins/Array/prototype/toSpliced/length-increased-while-iterating.js] Array.prototype.toSpliced caches the length getting the array elements. 
ok 97 PASSED
# [test/built-ins/Array/prototype/toSpliced/length-increased-while-iterating.js] Array.prototype.toSpliced caches the length getting the array elements. (Strict Mode)
ok 98 PASSED
# [test/built-ins/Array/prototype/toSpliced/length-exceeding-array-length-limit.js] Array.prototype.toSpliced limits the length to 2 ** 32 - 1 
not ok 99 Test262Error: Expected a TypeError but got a RangeError
  ---
    operator: fail
    stack: |-
      Error: Test262Error: Expected a TypeError but got a RangeError
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/Array/prototype/toSpliced/length-exceeding-array-length-limit.js] Array.prototype.toSpliced limits the length to 2 ** 32 - 1 (Strict Mode)
not ok 100 Test262Error: Expected a TypeError but got a RangeError
  ---
    operator: fail
    stack: |-
      Error: Test262Error: Expected a TypeError but got a RangeError
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/Array/prototype/toSpliced/length-integer-string.js] Array.prototype.toSpliced converts the this value length to a number. 
ok 101 PASSED
# [test/built-ins/Array/prototype/toSpliced/length-integer-string.js] Array.prototype.toSpliced converts the this value length to a number. (Strict Mode)
ok 102 PASSED
# [test/built-ins/Array/prototype/toSpliced/not-a-constructor.js] Array.prototype.toSpliced does not implement [[Construct]], is not new-able 
not ok 103 Test262Error: isConstructor(Array.prototype.toSpliced) must return false Expected SameValue(«true», «false») to be true
  ---
    operator: fail
    stack: |-
      Error: Test262Error: isConstructor(Array.prototype.toSpliced) must return false Expected SameValue(«true», «false») to be true
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/Array/prototype/toSpliced/not-a-constructor.js] Array.prototype.toSpliced does not implement [[Construct]], is not new-able (Strict Mode)
not ok 104 Test262Error: isConstructor(Array.prototype.toSpliced) must return false Expected SameValue(«true», «false») to be true
  ---
    operator: fail
    stack: |-
      Error: Test262Error: isConstructor(Array.prototype.toSpliced) must return false Expected SameValue(«true», «false») to be true
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/Array/prototype/toSpliced/start-and-deleteCount-missing.js] Array.prototype.toSpliced returns a copy of the array if called with zero arguments
ok 105 PASSED
# [test/built-ins/Array/prototype/toSpliced/start-and-deleteCount-missing.js] Array.prototype.toSpliced returns a copy of the array if called with zero arguments (Strict Mode)
ok 106 PASSED
# [test/built-ins/Array/prototype/toSpliced/start-bigger-than-length.js] Array.prototype.toSpliced converts the this value length to a number. 
ok 107 PASSED
# [test/built-ins/Array/prototype/toSpliced/start-bigger-than-length.js] Array.prototype.toSpliced converts the this value length to a number. (Strict Mode)
ok 108 PASSED
# [test/built-ins/Array/prototype/toSpliced/start-and-deleteCount-undefineds.js] Array.prototype.toSpliced(undefined, undefined) returns a copy of the original array
ok 109 PASSED
# [test/built-ins/Array/prototype/toSpliced/start-and-deleteCount-undefineds.js] Array.prototype.toSpliced(undefined, undefined) returns a copy of the original array (Strict Mode)
ok 110 PASSED
# [test/built-ins/Array/prototype/toSpliced/start-neg-infinity-is-zero.js] Array.prototype.toSpliced converts the this value length to a number. 
ok 111 PASSED
# [test/built-ins/Array/prototype/toSpliced/start-neg-infinity-is-zero.js] Array.prototype.toSpliced converts the this value length to a number. (Strict Mode)
ok 112 PASSED
# [test/built-ins/Array/prototype/toSpliced/start-neg-less-than-minus-length-is-zero.js] Array.prototype.toSpliced converts the this value length to a number. 
ok 113 PASSED
# [test/built-ins/Array/prototype/toSpliced/start-neg-less-than-minus-length-is-zero.js] Array.prototype.toSpliced converts the this value length to a number. (Strict Mode)
ok 114 PASSED
# [test/built-ins/Array/prototype/toSpliced/start-neg-subtracted-from-length.js] Array.prototype.toSpliced converts the this value length to a number. 
ok 115 PASSED
# [test/built-ins/Array/prototype/toSpliced/start-neg-subtracted-from-length.js] Array.prototype.toSpliced converts the this value length to a number. (Strict Mode)
ok 116 PASSED
# [test/built-ins/Array/prototype/toSpliced/start-undefined-and-deleteCount-missing.js] Array.prototype.toSpliced(undefined) returns an empty array
ok 117 PASSED
# [test/built-ins/Array/prototype/toSpliced/start-undefined-and-deleteCount-missing.js] Array.prototype.toSpliced(undefined) returns an empty array (Strict Mode)
ok 118 PASSED
# [test/built-ins/Array/prototype/toSpliced/this-value-boolean.js] Array.prototype.toSpliced throws if the receiver is null or undefined 
ok 119 PASSED
# [test/built-ins/Array/prototype/toSpliced/this-value-boolean.js] Array.prototype.toSpliced throws if the receiver is null or undefined (Strict Mode)
ok 120 PASSED
# [test/built-ins/Array/prototype/toSpliced/this-value-nullish.js] Array.prototype.toSpliced throws if the receiver is null or undefined 
ok 121 PASSED
# [test/built-ins/Array/prototype/toSpliced/this-value-nullish.js] Array.prototype.toSpliced throws if the receiver is null or undefined (Strict Mode)
ok 122 PASSED
# [test/built-ins/Array/prototype/toSpliced/unmodified.js] Array.prototype.toSpliced returns a new array even if it the result is equal to the original array 
ok 123 PASSED
# [test/built-ins/Array/prototype/toSpliced/unmodified.js] Array.prototype.toSpliced returns a new array even if it the result is equal to the original array (Strict Mode)
ok 124 PASSED
# [test/built-ins/Array/prototype/toSpliced/metadata/length.js] The "length" property of Array.prototype.toSpliced 
ok 125 PASSED
# [test/built-ins/Array/prototype/toSpliced/metadata/length.js] The "length" property of Array.prototype.toSpliced (Strict Mode)
ok 126 PASSED
# [test/built-ins/Array/prototype/toSpliced/metadata/name.js] Array.prototype.toSpliced.name is "toSpliced". 
ok 127 PASSED
# [test/built-ins/Array/prototype/toSpliced/metadata/name.js] Array.prototype.toSpliced.name is "toSpliced". (Strict Mode)
ok 128 PASSED
# [test/built-ins/Array/prototype/toSpliced/metadata/property-descriptor.js] "toSpliced" property of Array.prototype 
ok 129 PASSED
# [test/built-ins/Array/prototype/toSpliced/metadata/property-descriptor.js] "toSpliced" property of Array.prototype (Strict Mode)
ok 130 PASSED
# [test/built-ins/Array/prototype/with/frozen-this-value.js] Array.prototype.with works on frozen objects 
ok 131 PASSED
# [test/built-ins/Array/prototype/with/frozen-this-value.js] Array.prototype.with works on frozen objects (Strict Mode)
ok 132 PASSED
# [test/built-ins/Array/prototype/with/holes-not-preserved.js] Array.prototype.with does not preserve holes in the array 
ok 133 PASSED
# [test/built-ins/Array/prototype/with/holes-not-preserved.js] Array.prototype.with does not preserve holes in the array (Strict Mode)
ok 134 PASSED
# [test/built-ins/Array/prototype/with/immutable.js] Array.prototype.with does not mutate its this value 
ok 135 PASSED
# [test/built-ins/Array/prototype/with/immutable.js] Array.prototype.with does not mutate its this value (Strict Mode)
ok 136 PASSED
# [test/built-ins/Array/prototype/with/ignores-species.js] Array.prototype.with ignores @@species 
ok 137 PASSED
# [test/built-ins/Array/prototype/with/ignores-species.js] Array.prototype.with ignores @@species (Strict Mode)
ok 138 PASSED
# [test/built-ins/Array/prototype/with/index-bigger-or-eq-than-length.js] %TypedArray%.prototype.with throws if the index is bigger than or equal to the array length. 
ok 139 PASSED
# [test/built-ins/Array/prototype/with/index-bigger-or-eq-than-length.js] %TypedArray%.prototype.with throws if the index is bigger than or equal to the array length. (Strict Mode)
ok 140 PASSED
# [test/built-ins/Array/prototype/with/index-casted-to-number.js] Array.prototype.with casts the index to an integer. 
ok 141 PASSED
# [test/built-ins/Array/prototype/with/index-casted-to-number.js] Array.prototype.with casts the index to an integer. (Strict Mode)
ok 142 PASSED
# [test/built-ins/Array/prototype/with/index-negative.js] Array.prototype.with adds length to index if it's negative. 
ok 143 PASSED
# [test/built-ins/Array/prototype/with/index-negative.js] Array.prototype.with adds length to index if it's negative. (Strict Mode)
ok 144 PASSED
# [test/built-ins/Array/prototype/with/length-decreased-while-iterating.js] Array.prototype.with caches the length getting the array elements. 
ok 145 PASSED
# [test/built-ins/Array/prototype/with/length-decreased-while-iterating.js] Array.prototype.with caches the length getting the array elements. (Strict Mode)
ok 146 PASSED
# [test/built-ins/Array/prototype/with/index-smaller-than-minus-length.js] Array.prototype.with throws if the (negative) index is smaller than -length. 
ok 147 PASSED
# [test/built-ins/Array/prototype/with/index-smaller-than-minus-length.js] Array.prototype.with throws if the (negative) index is smaller than -length. (Strict Mode)
ok 148 PASSED
# [test/built-ins/Array/prototype/with/length-exceeding-array-length-limit.js] Array.prototype.toReversed limits the length to 2 ** 32 - 1 
ok 149 PASSED
# [test/built-ins/Array/prototype/with/length-exceeding-array-length-limit.js] Array.prototype.toReversed limits the length to 2 ** 32 - 1 (Strict Mode)
ok 150 PASSED
# [test/built-ins/Array/prototype/with/length-integer-string.js] Array.prototype.with converts the this value length to a number. 
ok 151 PASSED
# [test/built-ins/Array/prototype/with/length-integer-string.js] Array.prototype.with converts the this value length to a number. (Strict Mode)
ok 152 PASSED
# [test/built-ins/Array/prototype/with/length-increased-while-iterating.js] Array.prototype.with caches the length getting the array elements. 
ok 153 PASSED
# [test/built-ins/Array/prototype/with/length-increased-while-iterating.js] Array.prototype.with caches the length getting the array elements. (Strict Mode)
ok 154 PASSED
# [test/built-ins/Array/prototype/with/no-get-replaced-index.js] Array.prototype.with does not [[Get]] the value in the replaced position 
ok 155 PASSED
# [test/built-ins/Array/prototype/with/no-get-replaced-index.js] Array.prototype.with does not [[Get]] the value in the replaced position (Strict Mode)
ok 156 PASSED
# [test/built-ins/Array/prototype/with/not-a-constructor.js] Array.prototype.with does not implement [[Construct]], is not new-able 
not ok 157 Test262Error: isConstructor(Array.prototype.with) must return false Expected SameValue(«true», «false») to be true
  ---
    operator: fail
    stack: |-
      Error: Test262Error: isConstructor(Array.prototype.with) must return false Expected SameValue(«true», «false») to be true
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at runMicrotasks (<anonymous>)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/Array/prototype/with/not-a-constructor.js] Array.prototype.with does not implement [[Construct]], is not new-able (Strict Mode)
not ok 158 Test262Error: isConstructor(Array.prototype.with) must return false Expected SameValue(«true», «false») to be true
  ---
    operator: fail
    stack: |-
      Error: Test262Error: isConstructor(Array.prototype.with) must return false Expected SameValue(«true», «false») to be true
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at runMicrotasks (<anonymous>)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/Array/prototype/with/this-value-boolean.js] Array.prototype.with casts primitive receivers to objects 
ok 159 PASSED
# [test/built-ins/Array/prototype/with/this-value-boolean.js] Array.prototype.with casts primitive receivers to objects (Strict Mode)
ok 160 PASSED
# [test/built-ins/Array/prototype/with/this-value-nullish.js] Array.prototype.with throws if the receiver is null or undefined 
ok 161 PASSED
# [test/built-ins/Array/prototype/with/this-value-nullish.js] Array.prototype.with throws if the receiver is null or undefined (Strict Mode)
ok 162 PASSED
# [test/built-ins/Array/prototype/with/metadata/length.js] The "length" property of Array.prototype.with 
ok 163 PASSED
# [test/built-ins/Array/prototype/with/metadata/length.js] The "length" property of Array.prototype.with (Strict Mode)
ok 164 PASSED
# [test/built-ins/Array/prototype/with/metadata/name.js] Array.prototype.with.name is "with". 
ok 165 PASSED
# [test/built-ins/Array/prototype/with/metadata/name.js] Array.prototype.with.name is "with". (Strict Mode)
ok 166 PASSED
# [test/built-ins/Array/prototype/with/metadata/property-descriptor.js] "with" property of Array.prototype 
ok 167 PASSED
# [test/built-ins/Array/prototype/with/metadata/property-descriptor.js] "with" property of Array.prototype (Strict Mode)
ok 168 PASSED
# [test/built-ins/Array/prototype/Symbol.unscopables/change-array-by-copy.js] Initial value of `Symbol.unscopables` property 
ok 169 PASSED
# [test/built-ins/Array/prototype/Symbol.unscopables/change-array-by-copy.js] Initial value of `Symbol.unscopables` property (Strict Mode)
ok 170 PASSED
# [test/built-ins/TypedArray/prototype/toReversed/ignores-species.js] TypedArray.prototype.toReversed ignores @@species 
ok 171 PASSED
# [test/built-ins/TypedArray/prototype/toReversed/ignores-species.js] TypedArray.prototype.toReversed ignores @@species (Strict Mode)
ok 172 PASSED
# [test/built-ins/TypedArray/prototype/toReversed/immutable.js] TypedArray.prototype.toReversed does not mutate its this value 
ok 173 PASSED
# [test/built-ins/TypedArray/prototype/toReversed/immutable.js] TypedArray.prototype.toReversed does not mutate its this value (Strict Mode)
ok 174 PASSED
# [test/built-ins/TypedArray/prototype/toReversed/length-property-ignored.js] TypedArray.prototype.toReversed creates an empty array if the this value .length is not a positive integer. 
not ok 175 Test262Error: Expected [1, 0, undefined, undefined] and [2, 1, 0, undefined] to have the same contents. (Testing with Float64Array.)
  ---
    operator: fail
    stack: |-
      Error: Test262Error: Expected [1, 0, undefined, undefined] and [2, 1, 0, undefined] to have the same contents.  (Testing with Float64Array.)
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at runMicrotasks (<anonymous>)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/TypedArray/prototype/toReversed/length-property-ignored.js] TypedArray.prototype.toReversed creates an empty array if the this value .length is not a positive integer. (Strict Mode)
not ok 176 Test262Error: Expected [1, 0, undefined, undefined] and [2, 1, 0, undefined] to have the same contents. (Testing with Float64Array.)
  ---
    operator: fail
    stack: |-
      Error: Test262Error: Expected [1, 0, undefined, undefined] and [2, 1, 0, undefined] to have the same contents.  (Testing with Float64Array.)
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at runMicrotasks (<anonymous>)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/TypedArray/prototype/toReversed/not-a-constructor.js] TypedArray.prototype.toReversed does not implement [[Construct]], is not new-able 
not ok 177 Test262Error: isConstructor(TypedArray.prototype.toReversed) must return false Expected SameValue(«true», «false») to be true
  ---
    operator: fail
    stack: |-
      Error: Test262Error: isConstructor(TypedArray.prototype.toReversed) must return false Expected SameValue(«true», «false») to be true
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at runMicrotasks (<anonymous>)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/TypedArray/prototype/toReversed/not-a-constructor.js] TypedArray.prototype.toReversed does not implement [[Construct]], is not new-able (Strict Mode)
not ok 178 Test262Error: isConstructor(TypedArray.prototype.toReversed) must return false Expected SameValue(«true», «false») to be true
  ---
    operator: fail
    stack: |-
      Error: Test262Error: isConstructor(TypedArray.prototype.toReversed) must return false Expected SameValue(«true», «false») to be true
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at runMicrotasks (<anonymous>)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/TypedArray/prototype/toReversed/this-value-invalid.js] TypedArray.prototype.toReversed throws if the receiver is null or undefined 
ok 179 PASSED
# [test/built-ins/TypedArray/prototype/toReversed/this-value-invalid.js] TypedArray.prototype.toReversed throws if the receiver is null or undefined (Strict Mode)
ok 180 PASSED
# [test/built-ins/TypedArray/prototype/toReversed/metadata/length.js] The "length" property of TypedArray.prototype.toReversed 
ok 181 PASSED
# [test/built-ins/TypedArray/prototype/toReversed/metadata/length.js] The "length" property of TypedArray.prototype.toReversed (Strict Mode)
ok 182 PASSED
# [test/built-ins/TypedArray/prototype/toReversed/metadata/name.js] TypedArray.prototype.toReversed.name is "toReversed". 
ok 183 PASSED
# [test/built-ins/TypedArray/prototype/toReversed/metadata/name.js] TypedArray.prototype.toReversed.name is "toReversed". (Strict Mode)
ok 184 PASSED
# [test/built-ins/TypedArray/prototype/toReversed/metadata/property-descriptor.js] "toReversed" property of TypedArray.prototype 
ok 185 PASSED
# [test/built-ins/TypedArray/prototype/toReversed/metadata/property-descriptor.js] "toReversed" property of TypedArray.prototype (Strict Mode)
ok 186 PASSED
# [test/built-ins/TypedArray/prototype/toSorted/comparefn-not-a-function.js] %TypedArray%.prototype.toSorted verifies that the comparator is callable before reading the length. 
ok 187 PASSED
# [test/built-ins/TypedArray/prototype/toSorted/comparefn-not-a-function.js] %TypedArray%.prototype.toSorted verifies that the comparator is callable before reading the length. (Strict Mode)
ok 188 PASSED
# [test/built-ins/TypedArray/prototype/toSorted/comparefn-stop-after-error.js] %TypedArray%.prototype.toSorted doesn't call copmareFn if there is an error 
ok 189 PASSED
# [test/built-ins/TypedArray/prototype/toSorted/comparefn-stop-after-error.js] %TypedArray%.prototype.toSorted doesn't call copmareFn if there is an error (Strict Mode)
ok 190 PASSED
# [test/built-ins/TypedArray/prototype/toSorted/ignores-species.js] TypedArray.prototype.toSorted ignores @@species 
ok 191 PASSED
# [test/built-ins/TypedArray/prototype/toSorted/ignores-species.js] TypedArray.prototype.toSorted ignores @@species (Strict Mode)
ok 192 PASSED
# [test/built-ins/TypedArray/prototype/toSorted/immutable.js] TypedArray.prototype.toSorted does not mutate its this value 
ok 193 PASSED
# [test/built-ins/TypedArray/prototype/toSorted/immutable.js] TypedArray.prototype.toSorted does not mutate its this value (Strict Mode)
ok 194 PASSED
# [test/built-ins/TypedArray/prototype/toSorted/length-property-ignored.js] TypedArray.prototype.toSorted creates an empty array if the this value .length is not a positive integer. 
not ok 195 Test262Error: Expected [1, 3, undefined, undefined] and [1, 2, 3, undefined] to have the same contents. (Testing with Float64Array.)
  ---
    operator: fail
    stack: |-
      Error: Test262Error: Expected [1, 3, undefined, undefined] and [1, 2, 3, undefined] to have the same contents.  (Testing with Float64Array.)
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at runMicrotasks (<anonymous>)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/TypedArray/prototype/toSorted/length-property-ignored.js] TypedArray.prototype.toSorted creates an empty array if the this value .length is not a positive integer. (Strict Mode)
not ok 196 Test262Error: Expected [1, 3, undefined, undefined] and [1, 2, 3, undefined] to have the same contents. (Testing with Float64Array.)
  ---
    operator: fail
    stack: |-
      Error: Test262Error: Expected [1, 3, undefined, undefined] and [1, 2, 3, undefined] to have the same contents.  (Testing with Float64Array.)
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at runMicrotasks (<anonymous>)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/TypedArray/prototype/toSorted/not-a-constructor.js] TypedArray.prototype.toSorted does not implement [[Construct]], is not new-able 
not ok 197 Test262Error: isConstructor(TypedArray.prototype.toSorted) must return false Expected SameValue(«true», «false») to be true
  ---
    operator: fail
    stack: |-
      Error: Test262Error: isConstructor(TypedArray.prototype.toSorted) must return false Expected SameValue(«true», «false») to be true
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at runMicrotasks (<anonymous>)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/TypedArray/prototype/toSorted/not-a-constructor.js] TypedArray.prototype.toSorted does not implement [[Construct]], is not new-able (Strict Mode)
not ok 198 Test262Error: isConstructor(TypedArray.prototype.toSorted) must return false Expected SameValue(«true», «false») to be true
  ---
    operator: fail
    stack: |-
      Error: Test262Error: isConstructor(TypedArray.prototype.toSorted) must return false Expected SameValue(«true», «false») to be true
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at runMicrotasks (<anonymous>)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/TypedArray/prototype/toSorted/this-value-invalid.js] TypedArray.prototype.toSorted throws if the receiver is null or undefined 
ok 199 PASSED
# [test/built-ins/TypedArray/prototype/toSorted/this-value-invalid.js] TypedArray.prototype.toSorted throws if the receiver is null or undefined (Strict Mode)
ok 200 PASSED
# [test/built-ins/TypedArray/prototype/toSorted/metadata/length.js] The "length" property of TypedArray.prototype.toSorted 
ok 201 PASSED
# [test/built-ins/TypedArray/prototype/toSorted/metadata/length.js] The "length" property of TypedArray.prototype.toSorted (Strict Mode)
ok 202 PASSED
# [test/built-ins/TypedArray/prototype/toSorted/metadata/name.js] TypedArray.prototype.toSorted.name is "toSorted". 
ok 203 PASSED
# [test/built-ins/TypedArray/prototype/toSorted/metadata/name.js] TypedArray.prototype.toSorted.name is "toSorted". (Strict Mode)
ok 204 PASSED
# [test/built-ins/TypedArray/prototype/toSorted/metadata/property-descriptor.js] "toSorted" property of TypedArray.prototype 
ok 205 PASSED
# [test/built-ins/TypedArray/prototype/toSorted/metadata/property-descriptor.js] "toSorted" property of TypedArray.prototype (Strict Mode)
ok 206 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/deleteCount-clamped-between-zero-and-remaining-count.js] deleteCount is clamped between zero and len - actualStart
ok 207 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/deleteCount-clamped-between-zero-and-remaining-count.js] deleteCount is clamped between zero and len - actualStart (Strict Mode)
ok 208 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/deleteCount-missing.js] %TypedArray%.prototype.toSpliced deletes the elements after start when called with one argument
ok 209 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/deleteCount-missing.js] %TypedArray%.prototype.toSpliced deletes the elements after start when called with one argument (Strict Mode)
ok 210 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/deleteCount-undefined.js] Array.prototype.toSpliced(number, undefined) returns a copy of the original array
ok 211 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/deleteCount-undefined.js] Array.prototype.toSpliced(number, undefined) returns a copy of the original array (Strict Mode)
ok 212 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/ignores-species.js] %TypedArray%.prototype.toSpliced ignores @@species 
ok 213 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/ignores-species.js] %TypedArray%.prototype.toSpliced ignores @@species (Strict Mode)
ok 214 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/immutable.js] %TypedArray%.prototype.toSpliced does not mutate its this value 
ok 215 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/immutable.js] %TypedArray%.prototype.toSpliced does not mutate its this value (Strict Mode)
ok 216 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/length-property-ignored.js] TypedArray.prototype.toSpliced reads the TypedArray length ignoring the .length property 
not ok 217 Test262Error: Expected [5, 3, 1, undefined, undefined] and [5, 3, 1, 2, undefined] to have the same contents. (Testing with Float64Array.)
  ---
    operator: fail
    stack: |-
      Error: Test262Error: Expected [5, 3, 1, undefined, undefined] and [5, 3, 1, 2, undefined] to have the same contents.  (Testing with Float64Array.)
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at runMicrotasks (<anonymous>)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/TypedArray/prototype/toSpliced/length-property-ignored.js] TypedArray.prototype.toSpliced reads the TypedArray length ignoring the .length property (Strict Mode)
not ok 218 Test262Error: Expected [5, 3, 1, undefined, undefined] and [5, 3, 1, 2, undefined] to have the same contents. (Testing with Float64Array.)
  ---
    operator: fail
    stack: |-
      Error: Test262Error: Expected [5, 3, 1, undefined, undefined] and [5, 3, 1, 2, undefined] to have the same contents.  (Testing with Float64Array.)
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at runMicrotasks (<anonymous>)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/TypedArray/prototype/toSpliced/not-a-constructor.js] %TypedArray%.prototype.toSpliced does not implement [[Construct]], is not new-able 
not ok 219 Test262Error: isConstructor(TypedArray.prototype.toSpliced) must return false Expected SameValue(«true», «false») to be true
  ---
    operator: fail
    stack: |-
      Error: Test262Error: isConstructor(TypedArray.prototype.toSpliced) must return false Expected SameValue(«true», «false») to be true
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at runMicrotasks (<anonymous>)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/TypedArray/prototype/toSpliced/not-a-constructor.js] %TypedArray%.prototype.toSpliced does not implement [[Construct]], is not new-able (Strict Mode)
not ok 220 Test262Error: isConstructor(TypedArray.prototype.toSpliced) must return false Expected SameValue(«true», «false») to be true
  ---
    operator: fail
    stack: |-
      Error: Test262Error: isConstructor(TypedArray.prototype.toSpliced) must return false Expected SameValue(«true», «false») to be true
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at runMicrotasks (<anonymous>)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/TypedArray/prototype/toSpliced/start-and-deleteCount-missing.js] %TypedArray%.prototype.toSpliced returns a copy of the TypedArray if called with zero arguments
ok 221 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/start-and-deleteCount-missing.js] %TypedArray%.prototype.toSpliced returns a copy of the TypedArray if called with zero arguments (Strict Mode)
ok 222 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/start-and-deleteCount-undefineds.js] %TypedArray%.prototype.toSpliced(undefined, undefined) returns a copy of the original TypedArray
ok 223 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/start-and-deleteCount-undefineds.js] %TypedArray%.prototype.toSpliced(undefined, undefined) returns a copy of the original TypedArray (Strict Mode)
ok 224 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/start-bigger-than-length.js] %TypedArray%.prototype.toSpliced converts the this value length to a number. 
ok 225 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/start-bigger-than-length.js] %TypedArray%.prototype.toSpliced converts the this value length to a number. (Strict Mode)
ok 226 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/start-neg-infinity-is-zero.js] %TypedArray%.prototype.toSpliced converts the this value length to a number. 
ok 227 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/start-neg-infinity-is-zero.js] %TypedArray%.prototype.toSpliced converts the this value length to a number. (Strict Mode)
ok 228 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/start-neg-less-than-minus-length-is-zero.js] %TypedArray%.prototype.toSpliced converts the this value length to a number. 
ok 229 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/start-neg-less-than-minus-length-is-zero.js] %TypedArray%.prototype.toSpliced converts the this value length to a number. (Strict Mode)
ok 230 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/start-neg-subtracted-from-length.js] %TypedArray%.prototype.toSpliced converts the this value length to a number. 
ok 231 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/start-neg-subtracted-from-length.js] %TypedArray%.prototype.toSpliced converts the this value length to a number. (Strict Mode)
ok 232 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/start-undefined-and-deleteCount-missing.js] %TypedArray%.prototype.toSpliced(undefined) returns an empty array
ok 233 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/start-undefined-and-deleteCount-missing.js] %TypedArray%.prototype.toSpliced(undefined) returns an empty array (Strict Mode)
ok 234 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/metadata/length.js] The "length" property of %TypedArray%.prototype.toSpliced 
ok 235 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/metadata/length.js] The "length" property of %TypedArray%.prototype.toSpliced (Strict Mode)
ok 236 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/this-value-invalid.js] %TypedArray%.prototype.toSpliced throws if the receiver is null or undefined 
ok 237 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/this-value-invalid.js] %TypedArray%.prototype.toSpliced throws if the receiver is null or undefined (Strict Mode)
ok 238 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/metadata/name.js] %TypedArray%.prototype.toSpliced.name is "toSpliced". 
ok 239 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/metadata/name.js] %TypedArray%.prototype.toSpliced.name is "toSpliced". (Strict Mode)
ok 240 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/metadata/property-descriptor.js] "toSpliced" property of %TypedArray%.prototype 
ok 241 PASSED
# [test/built-ins/TypedArray/prototype/toSpliced/metadata/property-descriptor.js] "toSpliced" property of %TypedArray%.prototype (Strict Mode)
ok 242 PASSED
# [test/built-ins/TypedArray/prototype/with/ignores-species.js] %TypedArray%.prototype.with ignores @@species 
ok 243 PASSED
# [test/built-ins/TypedArray/prototype/with/ignores-species.js] %TypedArray%.prototype.with ignores @@species (Strict Mode)
ok 244 PASSED
# [test/built-ins/TypedArray/prototype/with/immutable.js] %TypedArray%.prototype.with does not mutate its this value 
ok 245 PASSED
# [test/built-ins/TypedArray/prototype/with/immutable.js] %TypedArray%.prototype.with does not mutate its this value (Strict Mode)
ok 246 PASSED
# [test/built-ins/TypedArray/prototype/with/index-casted-to-number.js] %TypedArray%.prototype.with casts the index to an integer. 
ok 247 PASSED
# [test/built-ins/TypedArray/prototype/with/index-casted-to-number.js] %TypedArray%.prototype.with casts the index to an integer. (Strict Mode)
ok 248 PASSED
# [test/built-ins/TypedArray/prototype/with/index-negative.js] Array.prototype.with adds length to index if it's negative. 
ok 249 PASSED
# [test/built-ins/TypedArray/prototype/with/index-negative.js] Array.prototype.with adds length to index if it's negative. (Strict Mode)
ok 250 PASSED
# [test/built-ins/TypedArray/prototype/with/index-bigger-or-eq-than-length.js] %TypedArray%.prototype.with throws if the index is bigger than or equal to the array length. 
ok 251 PASSED
# [test/built-ins/TypedArray/prototype/with/index-bigger-or-eq-than-length.js] %TypedArray%.prototype.with throws if the index is bigger than or equal to the array length. (Strict Mode)
ok 252 PASSED
# [test/built-ins/TypedArray/prototype/with/index-smaller-than-minus-length.js] Array.prototype.with throws if the (negative) index is smaller than -length. 
ok 253 PASSED
# [test/built-ins/TypedArray/prototype/with/index-smaller-than-minus-length.js] Array.prototype.with throws if the (negative) index is smaller than -length. (Strict Mode)
ok 254 PASSED
# [test/built-ins/TypedArray/prototype/with/length-property-ignored.js] %TypedArray%.prototype.with reads the TypedArray length ignoring the .length property 
not ok 255 Test262Error: Expected [0, 1, undefined, undefined] and [0, 1, 2, undefined] to have the same contents. (Testing with Float64Array.)
  ---
    operator: fail
    stack: |-
      Error: Test262Error: Expected [0, 1, undefined, undefined] and [0, 1, 2, undefined] to have the same contents.  (Testing with Float64Array.)
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at runMicrotasks (<anonymous>)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/TypedArray/prototype/with/length-property-ignored.js] %TypedArray%.prototype.with reads the TypedArray length ignoring the .length property (Strict Mode)
not ok 256 Test262Error: Expected [0, 1, undefined, undefined] and [0, 1, 2, undefined] to have the same contents. (Testing with Float64Array.)
  ---
    operator: fail
    stack: |-
      Error: Test262Error: Expected [0, 1, undefined, undefined] and [0, 1, 2, undefined] to have the same contents.  (Testing with Float64Array.)
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at runMicrotasks (<anonymous>)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/TypedArray/prototype/with/not-a-constructor.js] %TypedArray%.prototype.with does not implement [[Construct]], is not new-able 
not ok 257 Test262Error: isConstructor(TypedArray.prototype.with) must return false Expected SameValue(«true», «false») to be true
  ---
    operator: fail
    stack: |-
      Error: Test262Error: isConstructor(TypedArray.prototype.with) must return false Expected SameValue(«true», «false») to be true
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at runMicrotasks (<anonymous>)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/TypedArray/prototype/with/not-a-constructor.js] %TypedArray%.prototype.with does not implement [[Construct]], is not new-able (Strict Mode)
not ok 258 Test262Error: isConstructor(TypedArray.prototype.with) must return false Expected SameValue(«true», «false») to be true
  ---
    operator: fail
    stack: |-
      Error: Test262Error: isConstructor(TypedArray.prototype.with) must return false Expected SameValue(«true», «false») to be true
          at Test.assert [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:311:54)
          at Test.bound [as _assert] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.fail (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:405:10)
          at Test.bound [as fail] (/Users/ac/git/proposal-change-array-by-copy/node_modules/tape/lib/test.js:96:32)
          at Test.<anonymous> (file:///Users/ac/git/proposal-change-array-by-copy/polyfill.test262.mjs:68:6)
          at runMicrotasks (<anonymous>)
          at processTicksAndRejections (node:internal/process/task_queues:96:5)
  ...
# [test/built-ins/TypedArray/prototype/with/this-value-invalid.js] %TypedArray%.prototype.with throws if the receiver is null or undefined 
ok 259 PASSED
# [test/built-ins/TypedArray/prototype/with/this-value-invalid.js] %TypedArray%.prototype.with throws if the receiver is null or undefined (Strict Mode)
ok 260 PASSED
# [test/built-ins/TypedArray/prototype/with/metadata/length.js] The "length" property of %TypedArray%.prototype.toSpliced 
ok 261 PASSED
# [test/built-ins/TypedArray/prototype/with/metadata/length.js] The "length" property of %TypedArray%.prototype.toSpliced (Strict Mode)
ok 262 PASSED
# [test/built-ins/TypedArray/prototype/with/metadata/name.js] %TypedArray%.prototype.with.name is "with". 
ok 263 PASSED
# [test/built-ins/TypedArray/prototype/with/metadata/name.js] %TypedArray%.prototype.with.name is "with". (Strict Mode)
ok 264 PASSED
# [test/built-ins/TypedArray/prototype/with/metadata/property-descriptor.js] "with" property of %TypedArray%.prototype 
ok 265 PASSED
# [test/built-ins/TypedArray/prototype/with/metadata/property-descriptor.js] "with" property of %TypedArray%.prototype (Strict Mode)
ok 266 PASSED

1..266
# tests 266
# pass  240
# fail  26

@zloirock
Copy link
Contributor Author

zloirock commented Apr 2, 2022

Thanks, I'll take a look.

@zloirock
Copy link
Contributor Author

zloirock commented Apr 2, 2022

I don't think that tests like isConstructor(TypedArray.prototype.with) must return false should (and can maximally properly - depends on isConstructor implementation) pass in polyfills that should work in ES3 engines, I'll check the rest.

@zloirock
Copy link
Contributor Author

zloirock commented Apr 2, 2022

The same I could say about tests of typed array methods with the redefined .length on typed arrays - I'm not sure that it's required for polyfills since it will cause problems for some old typed arrays implementations. However, OK, I'll adapt it to this behaviour soon.

Remains only the change from #70 - I'll add it right not.

So I think that it can be added.

zloirock added a commit to zloirock/core-js that referenced this pull request Apr 2, 2022
@acutmore
Copy link
Collaborator

acutmore commented Apr 3, 2022

I don't think that tests like isConstructor(TypedArray.prototype.with) must return false should (and can maximally properly - depends on isConstructor implementation) pass in polyfills that should work in ES3 engines, I'll check the rest.

I'm happy to ignore those tests 🙂

The same I could say about tests of typed array methods with the redefined .length on typed arrays - I'm not sure that it's required for polyfills since it will cause problems for some old typed arrays implementations. However, OK, I'll adapt it to this behaviour soon.

Remains only the change from #70 - I'll add it right not.

Interesting, did older type array implementations not use a getter to access the internal length?

Once these updates have been released let me know and I'll get this merged!

@zloirock
Copy link
Contributor Author

zloirock commented Apr 3, 2022

Interesting, did older type array implementations not use a getter to access the internal length?

I don't remember concrete examples, but I remember many different problems with it when I wrote a typed arrays polyfill many years ago.

Now I opened (randomly) FF20 and I see that, for example, Int8Array.prototype.length getter (they haven't common %TypedArrayPrototype%) does not work with Uint8Array instances, IE10 - it's a usual property, not a getter.

I once again appreciated the necessary work for the case of redefined .length on typed arrays - that requires changes in about a hundred of modules with testing / debugging in hundreds of engines (in many cases - manual) and anyway will not fix it in some old engines. I'll work on it, but not soon.

A change for #70 (TypeError instead of RangeError if the result length is more that MAX_SAFE_INTEGER) already added to the repo - but I don't think that required a patch release ASAP - it's almost impossible case for a real life. I'll publish a new release for some weeks, you could wait for it - but I don't think that it's required.

@acutmore acutmore merged commit fde312d into tc39:main Apr 3, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants