ladybird/Userland/Libraries/LibJS/Tests
Luke Wilde 2aaae6fc70 LibJS: Avoid ToPropertyKey for spreading in PutByValue(WithThis)
This is not we're supposed to do according to https://tc39.es/ecma262/#sec-runtime-semantics-propertydefinitionevaluation
Furthermore, this was observable by ToPrimitive looking up toString and
valueOf and potentially calling them if they exist. The big ticket
issue however is that for objects without toString and valueOf, such as
null-proto objects, this would unexpectedly throw.
2023-08-29 21:38:54 -04:00
..
builtins LibJS: Allow assignment expression in spreading property definition 2023-08-29 18:46:01 -04:00
classes LibJS: Make sure private identifier is valid in optional chain 2022-11-17 16:05:20 +00:00
functions LibJS: Fix scope detection for ids in default function params 2023-07-08 14:03:12 +02:00
iterators LibJS: Disallow duplicated variable declarations 2021-07-20 23:45:28 +02:00
loops LibJS: Remove bytecode condition from tests expected to fail 2023-08-09 20:47:44 +01:00
modules LibJS: Remove bytecode condition from tests expected to fail 2023-08-09 20:47:44 +01:00
operators LibJS: Mark a test-js test as always passing 2023-08-09 20:47:44 +01:00
syntax LibJS: Implement await properly for async functions 2023-08-10 05:12:07 +02:00
add-values-to-primitive.js
arguments-callee.js
arguments-object.js
automatic-semicolon-insertion.js LibJS/Tests: Use eval() for toEvalTo(), not Function() 2021-06-18 20:35:23 +01:00
break-continue-syntax-errors.js
comments-basic.js LibJS: Make new lines in block comments reset line has token 2021-12-21 14:04:23 +01:00
computed-property-sideeffects.js LibJS: Ensure we only call toString on computed properties once 2022-02-18 22:33:59 +00:00
computed-property-throws.js
const-declaration-missing-initializer.js
const-reassignment.js
custom-@@hasInstance.js LibJS: Rewrite most of Object for spec compliance :^) 2021-07-04 22:07:36 +01:00
custom-@@toPrimitive.js
custom-@@toStringTag.js
debugger-statement.js
duplicated-variable-declarations.js LibJS: Enable now working tests for duplicated variable declarations 2021-10-15 10:27:16 +01:00
empty-statements.js
eval-aliasing.js LibJS: Correct behaviour of direct vs. indirect eval 2021-06-23 09:38:33 +01:00
eval-basic.js LibJS: Correct behaviour of direct vs. indirect eval 2021-06-23 09:38:33 +01:00
exception-in-catch-block.js
exception-ReferenceError.js
exponentiation-basic.js LibJS: Unify exponentiation logic for ** operator and Math.pow 2022-02-18 22:31:36 +00:00
gc-deeply-nested-object-graph.js LibJS: Use a work queue instead of the C++ stack for the GC mark phase 2023-01-10 15:30:07 -05:00
global-var-let-const.js LibJS: Only "var" declarations go in the global object at program level 2021-06-09 23:25:16 +02:00
if-statement-function-declaration.js
indexed-access-prototype-indirection.js
indexed-access-string-object.js
inline-cache-edge-cases.js LibJS/Bytecode: Invalidate inline caches on unique shape mutation 2023-07-11 00:14:50 +02:00
invalid-lhs-in-assignment.js LibJS: Remove bytecode condition from tests expected to fail 2023-08-09 20:47:44 +01:00
labels.js LibJS: Replace the custom unwind mechanism with completions :^) 2022-01-06 12:36:23 +01:00
let-scoping.js
new-expression.js
non-writable-assignment.js LibJS: Throw TypeError on write to non-writable property in strict mode 2021-06-05 23:54:08 +01:00
numeric-literals-basic.js
object-basic.js LibJS: Remove bytecode condition from tests expected to fail 2023-08-09 20:47:44 +01:00
object-expression-__proto__.js LibJS: Implement the object literal __proto__ property key special case 2022-03-06 01:38:25 +02:00
object-expression-computed-property.js
object-expression-numeric-property.js LibJS: Allow BigInts as destructuring property names 2022-08-24 23:27:17 +01:00
object-getter-setter-shorthand.js
object-method-shorthand.js
object-spread.js LibJS: Avoid ToPropertyKey for spreading in PutByValue(WithThis) 2023-08-29 21:38:54 -04:00
ordinary-to-primitive.js
parseInt.js LibJS: Uncomment and add parseInt tests 2021-06-06 01:34:22 +01:00
parser-declaration-in-single-statement-context.js
parser-line-terminators.js LibJS: Implement create_dynamic_function() according to the spec 2022-01-16 01:54:48 +01:00
parser-unary-associativity.js LibJS: Apply the correct precedence for unary + and - operators 2023-08-08 07:41:07 +02:00
permanently-screwed-by-eval.js LibJS: Fast non-local variable access :^) 2021-10-07 11:53:18 +02:00
program-non-strict.js LibJS: Add tests for strict mode and strict mode propagation 2021-07-20 23:45:28 +02:00
program-strict-mode.js LibJS: Add tests for strict mode and strict mode propagation 2021-07-20 23:45:28 +02:00
return.js LibJS: Add tests for the new steps added to PerformEval 2022-04-11 21:23:36 +01:00
runtime-error-call-stack-size.js LibJS: Throw InternalErrors instead of Errors on CallStackSizeExceeded 2021-11-27 01:58:05 +02:00
statement-with-many-labels.js LibJS: Allow statements to have multiple labels 2021-09-26 18:24:19 +02:00
strict-mode-blocks.js
strict-mode-errors.js LibJS: Remove bytecode condition from tests expected to fail 2023-08-09 20:47:44 +01:00
string-basic.js LibJS/Tests: Rename snake_case identifiers in string-basic.js 2022-02-13 14:33:46 +00:00
string-concatenation.js LibJS: Combine UTF-16 surrogate pairs when concatenating strings 2022-01-18 00:49:16 +00:00
string-escapes.js LibJS: Disallow '\8' and '\9' in strict mode due to being octal escapes 2021-11-30 17:05:32 +00:00
string-spread.js
switch-basic.js LibJS: Fix switch skipping case evaluation when hitting the default case 2021-09-30 08:16:32 +01:00
switch-break.js
switch-default-before-case.js LibJS: Defer execution of switch default clause until after case clauses 2021-09-26 18:04:25 +02:00
tagged-template-literals.js LibJS: Remove bytecode condition from tests expected to fail 2023-08-09 20:47:44 +01:00
template-literals.js LibJS: Treat '\\' as an escaped character in template literals 2022-11-15 12:00:36 +00:00
test-common-tests.js LibJS: Test function toBeCloseTo takes an optional precision argument 2023-08-08 13:29:56 +02:00
test-common.js LibJS: Test function toBeCloseTo takes an optional precision argument 2023-08-08 13:29:56 +02:00
this-value-strict.js LibJS/Tests: Enable two more skipped tests which now pass 2021-12-08 20:08:26 +00:00
this-value.js LibJS/Tests: Enable two more skipped tests which now pass 2021-12-08 20:08:26 +00:00
throw-basic.js
to-number-basic.js
to-number-exception.js
try-catch-finally-nested.js
try-catch-finally-return.js
try-catch-finally.js
try-finally-break.js LibJS: Add thorough tests for try/finally using continue and break 2022-11-08 21:10:53 +00:00
try-finally-continue.js LibJS: Add thorough tests for try/finally using continue and break 2022-11-08 21:10:53 +00:00
try-return-finally.js LibJS/Bytecode: Keep saved return value in call frame register 2023-07-21 19:15:33 +02:00
unicode-identifier-escape.js LibJS: Fix some small remaining issues with parsing unicode escapes 2021-08-24 07:42:37 +01:00
update-expression-on-member-expression.js
update-expressions-basic.js
use-strict-directive.js
using-declaration.js LibJS: Remove bytecode condition from tests expected to fail 2023-08-09 20:47:44 +01:00
using-for-loops.js LibJS: Remove bytecode condition from tests expected to fail 2023-08-09 20:47:44 +01:00
var-multiple-declarator.js
var-scoping.js LibJS: Enable now working tests for duplicated variable declarations 2021-10-15 10:27:16 +01:00
variable-undefined.js
with-basic.js LibJS: Restore the environment if an exception is thrown in 'with' block 2021-09-08 20:37:39 +01:00