dbcea11564
Currently, dynamic `import()` throws the following SyntaxError when used without a specifier: > import(); < Uncaught SyntaxError: Unexpected token ) From the error message, it seems this the result of the code snippet being seen as static `import` followed by parens, as opposed to `import()` with no specifier. This patch makes this error message more clear: > import(); < SyntaxError: import() requires a specifier BUG=v8:7020,v8:6513 Change-Id: I3519dfd0029f38d23da858a5499f1d226e794935 Reviewed-on: https://chromium-review.googlesource.com/747141 Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#49058} |
||
---|---|---|
.. | ||
fail | ||
regress/fail | ||
asm-assignment-undeclared.js | ||
asm-assignment-undeclared.out | ||
asm-function-mismatch-def.js | ||
asm-function-mismatch-def.out | ||
asm-function-mismatch-use.js | ||
asm-function-mismatch-use.out | ||
asm-function-redefined.js | ||
asm-function-redefined.out | ||
asm-function-undefined.js | ||
asm-function-undefined.out | ||
asm-function-variable-collision.js | ||
asm-function-variable-collision.out | ||
asm-import-wrong-annotation.js | ||
asm-import-wrong-annotation.out | ||
asm-import-wrong-object.js | ||
asm-import-wrong-object.out | ||
asm-linking-bogus-heap.js | ||
asm-linking-bogus-heap.out | ||
asm-linking-bogus-stdlib.js | ||
asm-linking-bogus-stdlib.out | ||
asm-linking-missing-heap.js | ||
asm-linking-missing-heap.out | ||
asm-missing-parameter-annotation.js | ||
asm-missing-parameter-annotation.out | ||
asm-missing-return-annotation.js | ||
asm-missing-return-annotation.out | ||
asm-table-mismatch-def.js | ||
asm-table-mismatch-def.out | ||
asm-table-mismatch-use.js | ||
asm-table-mismatch-use.out | ||
asm-table-redefined.js | ||
asm-table-redefined.out | ||
asm-table-undefined.js | ||
asm-table-undefined.out | ||
asm-table-variable-collision.js | ||
asm-table-variable-collision.out | ||
message.gyp | ||
message.isolate | ||
message.status | ||
non-use-strict-hex-escape.js | ||
non-use-strict-hex-escape.out | ||
non-use-strict-octal-escape.js | ||
non-use-strict-octal-escape.out | ||
non-use-strict-uhex-escape.js | ||
non-use-strict-uhex-escape.out | ||
nonstrict-arguments.js | ||
nonstrict-arguments.out | ||
nonstrict-eval.js | ||
nonstrict-eval.out | ||
nonstrict-with.js | ||
nonstrict-with.out | ||
README.md | ||
settimeout.js | ||
settimeout.out | ||
strict-octal-indirect-regexp.js | ||
strict-octal-indirect-regexp.out | ||
strict-octal-regexp.js | ||
strict-octal-regexp.out | ||
testcfg.py | ||
try-catch-finally-no-message.js | ||
try-catch-finally-no-message.out | ||
try-catch-finally-return-in-finally.js | ||
try-catch-finally-return-in-finally.out | ||
try-finally-return-in-finally.js | ||
try-finally-return-in-finally.out | ||
wasm-trace-memory-interpreted.js | ||
wasm-trace-memory-interpreted.out | ||
wasm-trace-memory.js | ||
wasm-trace-memory.out |
JavaScript tests with expected output
Tests in test/message pass if the output matches the expected output. Message tests are particularly useful when checking for exact error messages.
Tests and their expected output must have the same filename, with the .js
and
.out
extension.
foo.js
foo.out
All tests must end with an exception. The test runner does not
handle output from multiple runs, e.g., --stress-opt
. Without an exception,
the output will be generated several times and the comparison will fail.
You can use a regex in the expected output. Instead of the exact path. use
*%(basename)s:7: SyntaxError: Detected cycle while resolving name 'a'
Empty lines are ignored in the comparison, but whitespaces are not.
Exact details of the test runner are in testcfg.py.