1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-28 11:55:12 +00:00
serenity/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 Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
arguments-callee.js LibJS: Add a basic test for arguments.callee 2021-03-17 21:54:52 +01:00
arguments-object.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
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 Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
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 Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
const-declaration-missing-initializer.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
const-reassignment.js LibJS: Re-enable "reassignment to const" test 2021-02-26 16:59:37 +01:00
custom-@@hasInstance.js LibJS: Rewrite most of Object for spec compliance :^) 2021-07-04 22:07:36 +01:00
custom-@@toPrimitive.js LibJS: Support @@toPrimitive in ToPrimitive abstract operation 2021-03-03 11:04:06 +01:00
custom-@@toStringTag.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
debugger-statement.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
duplicated-variable-declarations.js LibJS: Enable now working tests for duplicated variable declarations 2021-10-15 10:27:16 +01:00
empty-statements.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
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 Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
exception-ReferenceError.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
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 LibJS: Ensure function declarations don't leak outside function scopes 2021-05-13 23:59:00 +01:00
indexed-access-prototype-indirection.js LibJS: Fix array hole and string object indexing prototype indirection 2021-04-11 18:15:47 +02:00
indexed-access-string-object.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
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 Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
new-expression.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
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 Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
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 Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
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 Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
object-method-shorthand.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
object-spread.js LibJS: Avoid ToPropertyKey for spreading in PutByValue(WithThis) 2023-08-29 21:38:54 -04:00
ordinary-to-primitive.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
parseInt.js LibJS: Uncomment and add parseInt tests 2021-06-06 01:34:22 +01:00
parser-declaration-in-single-statement-context.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
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 Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
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 Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
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 Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
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 Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
to-number-basic.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
to-number-exception.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
try-catch-finally-nested.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
try-catch-finally-return.js LibJS: Fix return value of TryStatement with finalizer 2021-04-13 15:40:52 +02:00
try-catch-finally.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
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 Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
update-expressions-basic.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
use-strict-directive.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
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 Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
var-scoping.js LibJS: Enable now working tests for duplicated variable declarations 2021-10-15 10:27:16 +01:00
variable-undefined.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
with-basic.js LibJS: Restore the environment if an exception is thrown in 'with' block 2021-09-08 20:37:39 +01:00