`function nan() { return /* expression to compute NaN */ }` may not return the same implementation-distinguishable NaN value before and after JIT compilation.
test/built-ins/TypedArray/prototype/fill/BigInt/fill-values-conversion-once.js
- Should refer to BigInt conversion instead of ToNumber
test/built-ins/TypedArray/prototype/fill/BigInt/fill-values-non-numeric.js
- Missing coverage for non-convertable values like undefined or null?
- added fill-values-non-numeric-throw.js
test/built-ins/TypedArray/prototype/set/BigInt/array-arg-return-abrupt-tointeger-offset-symbol.js
- Change [1] to [1n] to avoid possible false-positives because ToBigInt(1) also throws a TypeError.
- Issue also present in other set() tests.
* Fix bad references on tests for BigInt TypedArrays
* Remove bad conversions for BigInt TypedArray
* Cleanup the BigInt TypedArray harness file
Remove non used code (testBigIntTypedArrayConversions)
Move the constructors list to inside the exposed function, this prevents early implementations to fail before the function is called.
* Fix bad references in TypedArrays.of (BigInt)
* Remove BigInt tests from typedarray harness test
* Use BigInt for BigInt typedArrays
* Apply last fixings on BigInt TypedArray tests
* Apply fixes to last revision from @anba
- optimize file names
- BigInt folder for TAs.from and of
- copy tests preparing for bigint
- copy ta prototype methods for bigint
- Use an exclusive harness for bigint typedarrays
- add features
- use proper harness
- use preper harness
- Restore original tests for TypedArrays
- final fixes
- fix includes
- add @jakobkummerow's changes
- remove EOL whitespace
- use 'Array.isArray' instead of 'instanceof Array'
- check for BigInt type in toLocaleString tests
- specify TypedArray constructor list for non-BigInt tests
- update TypedArray harness test for BigInt
- add a missing type coercion
- disable more tests for Big(U)Int64Array
- check for BigInt before using BigInt TypedArray constructors
The change is proposed in https://github.com/tc39/ecma262/pull/856
as a fix to https://github.com/tc39/ecma262/issues/855
Here, the ToNumber coercion is done only once, rather than on each
iteration. It does not appear that there were previously any
tests against repeated coercion for this parameter previously.
Tested this test against V8, which failed, as V8 implements the
current spec rather than the proposed one.
The global isNaN is not precise at all, and Number.isNaN is an ES6 feature that makes it preferrable to use assert's sameValue for NaN values, as it handles it internally using the comparison.
Because implementations are free to select any valid NaN value during
GetValueFromBuffer, tests concerning semantics for consistent NaN value
encoding cannot rely on values returned from that abstract operation.
Update the test for `%TypedArray%.prototype.map` to set the same NaN
values via `map` as set in the "control" array.
Ensure that NaN values are canonicalized consistently by all invocations
of SetValueInBuffer. Also ensure that `%TypedArray%.prototype.set` and
`%TypedArray%.prototype.slice` preserve the bit-level encoding of the
source data.
Use a set of experimentally-derived expressions known to produce NaN
values with distinct bit patterns in various platforms.