ladybird/Userland/Libraries/LibJS/Tests
Shannon Booth 2d8b2328fd LibJS: Syntax error for a unary expression followed by exponentiation
This change makes LibJS correctly report a syntax error when a unary
expression is followed by exponentiation, as the spec requires.
Apparently this is due to that expression being ambiguous ordering.

Strangely this check does not seem to apply in the same way for '++' and
'--' for reasons that I don't fully understand. For example

```
let x = 5;
++x ** 2
```

Since `--5` and `++5` on it's own results in a syntax error anyway, it
seems we do not need to perform this exponentiation check in those
places.

Diff Tests:
    +6     -6 
2023-09-28 13:11:11 +02:00
..
builtins LibJS: Unescape incorrectly escaped code units in regex patterns 2023-09-16 15:21:09 +02:00
classes
functions LibJS: Get initial_value from local variables if id represents a local 2023-09-18 17:57:56 +02:00
iterators
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: Syntax error for a unary expression followed by exponentiation 2023-09-28 13:11:11 +02:00
add-values-to-primitive.js
arguments-callee.js
arguments-object.js
automatic-semicolon-insertion.js
break-continue-syntax-errors.js
comments-basic.js
computed-property-sideeffects.js
computed-property-throws.js
const-declaration-missing-initializer.js
const-reassignment.js
custom-@@hasInstance.js
custom-@@toPrimitive.js
custom-@@toStringTag.js
debugger-statement.js
duplicated-variable-declarations.js
empty-statements.js
eval-aliasing.js
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
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
let-scoping.js
new-expression.js
non-writable-assignment.js
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
object-expression-computed-property.js
object-expression-numeric-property.js
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
parser-declaration-in-single-statement-context.js
parser-line-terminators.js
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
program-non-strict.js
program-strict-mode.js
return.js
runtime-error-call-stack-size.js
statement-with-many-labels.js
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
string-concatenation.js
string-escapes.js
string-spread.js
switch-basic.js
switch-break.js
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
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
this-value.js
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
try-finally-continue.js
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
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
variable-undefined.js
with-basic.js