- not exactly covered, but language/expressions/addition/order-of-evalution.js does it for ToNumber vs ToPrimitive checks
- language/expressions/addition/
- Should check for primitive coercion converting values to primitive to be used before comparing to symbol values
- https://tc39.github.io/ecma262/#sec-addition-operator-plus checks for both operands as their primitive values before ToNumber over Symbol values
- should cover ToPrimitive before ToNumber
- allow-math-ic-b3-code-duplication.js:
- Could add cases for addition expressions with primitive operations returning other objects, not really like this specific test, but from @@toPrimitive, valueOf, and toString calls.
- apply-second-argument-must-be-array-like.js
- Cases should be covered in Function#apply, where the second arg is not an array like value
- arguments-bizarre-behavior.js
- This is partially covered in a different way: needs to check length of arguments after defineProperty, and checking after the function escope, as a returned result. Enumerability might be a point to consider as well (too specific?)
- arith-*-on-varios-types.js
- Test262 needs several tests for the Math methods with type coercions on the given arguments
- array-*:
- Perhaps: add cases of operations on top of proxies object to arrays.
- Number#toString is not checked over literal numbers but number objects only.
- assign-argument-in-inlined-call.js
- No coverage for fn_name.arguments going to inner scopes.
- assignment-in-function-call-bracket-node.js
- Tests obj computer propety names containing expressions that evaluates to `null`.
- async-arrow-function-in-class-heritage.js
- Tests class heritage failing with arrow functions (no constructor). Might have coverage, not found yet.
- async-arrow-functions-*.js
- No tests checking for lexical arguments/new.target/etc in async arrow functions
- Async arrow functions needs some refactoring
- inferred-names.js
- Needs to add tests for multiple anonymous fn forms, verify the .name property is properly set
- Web Compat fix: https://github.com/Microsoft/ChakraCore/issues/3407
- builtin-function-is-construct-type-none.js
- Add a forEach test with a new.target call
- Extend it to other methods
- >
"Built-in Function Objects
...
Built-in function objects that are not identified as constructors do not implement the [[Construct]] internal method unless otherwise specified in the description of a particular function. When a built-in constructor is called as part of a new expression the argumentsList parameter of the invoked [[Construct]] internal method provides the values for the built-in constructor's named parameters.
Built-in functions that are not constructors do not have a prototype property unless otherwise specified in the description of a particular function."
- builtin-function-length.js
- Add length property check for function forms in the language folder
- it would be interesting to create templates and cases for iteration over objects. Using Symbol.iterator (and Symbol.asyncIterator) in for-of loops, for-of-await loops, Array.from, etc etc etc
- The examples in that test file would be interesting to create __iterator like__ objects
- ChakraCore is apparently reporting of a wrong error constructor
- custom-prototype-may-be-same-to-original-one.js
- Tests that Reflect.constructor can use a custom prototype with the same reference for the original one
- Review coverage for Object#hasOwnProperty, add coercions for the this value
- function-caller-*.js
- Verify .caller behavior for nested functions, retrieving the function body.
- Results are diverging from JSC (abrupt completion) to other engines (no error)
- global-environment-does-not-trap-unscopables.js
- duplicate `language/with/binding-blocked-by-unscopables.js` to assert binding block of the global in inner scopes, deferring references to the local scope.
- ignore-promise-species.js
- add coverage for Promise.all and race handling a local `@@species`
- modify-set-during-iteration.js
- Add coverage for iterating Set/Map/WeakSet/WeakMap objects with values being changed during the iteration. (e.g. for-of loops)
- module-namespace-access*js
- review these tests for import()
- private-name-as-anonymous-builtin.js
- Review name property for the executor functions in Promise.resolve calls
- regress-187006.js
- check if we have coverage for regexp `match` setting array values.
- regress-179634.js
- review coverage for Object.defineProperties
- regress-170732.js
- review coverage for valid and invalid await expressions
- regress-159883.js
- review common forms for invalid dates
- regress-189317.js
- AnnexB defineGetter/Setter being used with built-in functions