1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 15:57:45 +00:00
serenity/Userland/Libraries/LibJS/Tests
Shannon Booth a7316d3641 LibJS: Update Temporal RoundDuration AO to some spec changes
This commit effectively just does a bulk update of this function to the
spec. Since there have been so many spec changes, no specific change was
made in mind, and many FIXMEs have been left for where we are still out
of date.

These changes also appear to include a normative change to the temporal
spec which was previously resulting in timeouts for some tests, and is
now resulting in a timeout.

Furthermore, this also resolves some crashes by protecting against
division by zero, instead throwing a RangeError. This can only happen
when a custom calender is provided which returns funky values. See:

https://github.com/tc39/proposal-temporal/commit/ed85e9

Diff Tests:
    +8     -4 💀    -4 💥
2024-01-14 16:08:52 -07:00
..
builtins LibJS: Update Temporal RoundDuration AO to some spec changes 2024-01-14 16:08:52 -07:00
classes LibJS: Make sure private identifier is valid in optional chain 2022-11-17 16:05:20 +00:00
functions LibJS: Get initial_value from local variables if id represents a local 2023-09-18 17:57:56 +02:00
iterators LibJS: Disallow duplicated variable declarations 2021-07-20 23:45:28 +02:00
loops LibJS: Create const variables in ForIn/OfBodyEvaluation in strict mode 2023-09-21 16:19:05 +02: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: Allow division after this token 2023-11-05 18:44:48 +01: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
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
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
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
debugger-statement.js
duplicated-variable-declarations.js
empty-statements.js
eval-aliasing.js LibJS/Bytecode: Check if eval function is a function 2023-11-11 08:56:12 +01:00
eval-basic.js
exception-in-catch-block.js
exception-ReferenceError.js
exponentiation-basic.js LibJS: Syntax error for a unary expression followed by exponentiation 2023-09-28 13:11:11 +02: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
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 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
object-basic.js LibJS: Assign getter/setter function names as early as possible 2023-11-05 18:44:48 +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 Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
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 Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
parseInt.js
parser-declaration-in-single-statement-context.js
parser-invalid-destructuring-assignment-target.js LibJS: Don't hang when parsing invalid destructuring assignment target 2023-11-13 20:10:36 +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
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: Improve error messages for primitive strict mode property access 2023-11-05 18:44:48 +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
switch-break.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
switch-default-before-case.js
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 Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
try-catch-finally-nested.js
try-catch-finally-return.js
try-catch-finally.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
try-finally-break.js LibJS: Save scheduled jumps when entering unwind contexts 2023-10-30 13:10:08 +01: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/JIT: Continue to outer finally before returning 2023-11-20 09:30:08 +01: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 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
with-basic.js