Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- This brings in the flow test suite that contains a ton of JavaScript parsing edge cases - This creates snapshot tests using the pretty printer for all of them - If uncomment `RUN_AST_TESTS` line in `tests/run_specs.js`, it checks ast(pretty_print(x)) == ast(x). Right now, "178 failed, 197 passed, 375 of 377 total". So half of the tests are not passing, most of them are crashes and many of the rest are subtle issues.
- Loading branch information
Showing
1,873 changed files
with
93,549 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,127 @@ | ||
exports[`test break-continue.js 1`] = ` | ||
"function foo() { | ||
while(true) { break; } | ||
} | ||
function bar() { | ||
L: do { continue L; } while(false) | ||
} | ||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
/src/printer.js:925 | ||
if (endsWithBrace(doBody)) | ||
^ | ||
ReferenceError: endsWithBrace is not defined | ||
at genericPrintNoParens (/src/printer.js:925:11) | ||
at genericPrint (/src/printer.js:166:7) | ||
at p (/src/printer.js:111:37) | ||
at exports.printComments (/src/comments.js:327:20) | ||
at printGenerically (/src/printer.js:111:12) | ||
at FastPath.call (/src/fast-path.js:113:16) | ||
at genericPrintNoParens (/src/printer.js:963:14) | ||
at genericPrint (/src/printer.js:166:7) | ||
at p (/src/printer.js:111:37) | ||
at exports.printComments (/src/comments.js:327:20) | ||
" | ||
`; | ||
|
||
exports[`test return.js 1`] = ` | ||
"function bar(x:number) { } | ||
function foo() { | ||
var x = null; | ||
if (x == null) return; | ||
bar(x); | ||
} | ||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
function bar(x: number) { | ||
} | ||
function foo() { | ||
var x = null; | ||
if (x == null) | ||
return; | ||
bar(x); | ||
} | ||
" | ||
`; | ||
|
||
exports[`test toplevel_break.js 1`] = ` | ||
"// @flow | ||
break; // error, illegal | ||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
/node_modules/babylon/lib/index.js:4255 | ||
throw err; | ||
^ | ||
SyntaxError: Unsyntactic break (3:0) | ||
at Parser.pp$5.raise (/node_modules/babylon/lib/index.js:4252:13) | ||
at Parser.pp$1.parseBreakContinueStatement (/node_modules/babylon/lib/index.js:1843:44) | ||
at Parser.pp$1.parseStatement (/node_modules/babylon/lib/index.js:1703:19) | ||
at Parser.parseStatement (/node_modules/babylon/lib/index.js:5224:22) | ||
at Parser.pp$1.parseBlockBody (/node_modules/babylon/lib/index.js:2139:21) | ||
at Parser.pp$1.parseTopLevel (/node_modules/babylon/lib/index.js:1651:8) | ||
at Parser.parse (/node_modules/babylon/lib/index.js:1543:17) | ||
at Object.parse$1 [as parse] (/node_modules/babylon/lib/index.js:6472:37) | ||
at Object.parse (/index.js:34:26) | ||
at Object.parse (/node_modules/recast/lib/parser.js:26:34) | ||
" | ||
`; | ||
|
||
exports[`test toplevel_continue.js 1`] = ` | ||
"// @flow | ||
continue; // error, illegal | ||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
/node_modules/babylon/lib/index.js:4255 | ||
throw err; | ||
^ | ||
SyntaxError: Unsyntactic continue (3:0) | ||
at Parser.pp$5.raise (/node_modules/babylon/lib/index.js:4252:13) | ||
at Parser.pp$1.parseBreakContinueStatement (/node_modules/babylon/lib/index.js:1843:44) | ||
at Parser.pp$1.parseStatement (/node_modules/babylon/lib/index.js:1703:19) | ||
at Parser.parseStatement (/node_modules/babylon/lib/index.js:5224:22) | ||
at Parser.pp$1.parseBlockBody (/node_modules/babylon/lib/index.js:2139:21) | ||
at Parser.pp$1.parseTopLevel (/node_modules/babylon/lib/index.js:1651:8) | ||
at Parser.parse (/node_modules/babylon/lib/index.js:1543:17) | ||
at Object.parse$1 [as parse] (/node_modules/babylon/lib/index.js:6472:37) | ||
at Object.parse (/index.js:34:26) | ||
at Object.parse (/node_modules/recast/lib/parser.js:26:34) | ||
" | ||
`; | ||
|
||
exports[`test toplevel_return.js 1`] = ` | ||
"// @flow | ||
return; // error, illegal | ||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
/node_modules/babylon/lib/index.js:4255 | ||
throw err; | ||
^ | ||
SyntaxError: \'return\' outside of function (3:0) | ||
at Parser.pp$5.raise (/node_modules/babylon/lib/index.js:4252:13) | ||
at Parser.pp$1.parseReturnStatement (/node_modules/babylon/lib/index.js:1939:10) | ||
at Parser.pp$1.parseStatement (/node_modules/babylon/lib/index.js:1722:19) | ||
at Parser.parseStatement (/node_modules/babylon/lib/index.js:5224:22) | ||
at Parser.pp$1.parseBlockBody (/node_modules/babylon/lib/index.js:2139:21) | ||
at Parser.pp$1.parseTopLevel (/node_modules/babylon/lib/index.js:1651:8) | ||
at Parser.parse (/node_modules/babylon/lib/index.js:1543:17) | ||
at Object.parse$1 [as parse] (/node_modules/babylon/lib/index.js:6472:37) | ||
at Object.parse (/index.js:34:26) | ||
at Object.parse (/node_modules/recast/lib/parser.js:26:34) | ||
" | ||
`; | ||
|
||
exports[`test toplevel_throw.js 1`] = ` | ||
"// @flow | ||
throw new Error(\'foo\'); // no error | ||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
// @flow | ||
throw new Error(\"foo\");// no error | ||
" | ||
`; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
function foo() { | ||
while(true) { break; } | ||
} | ||
|
||
function bar() { | ||
L: do { continue L; } while(false) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
run_spec(__dirname); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
function bar(x:number) { } | ||
function foo() { | ||
var x = null; | ||
if (x == null) return; | ||
bar(x); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
// @flow | ||
|
||
break; // error, illegal |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
// @flow | ||
|
||
continue; // error, illegal |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
// @flow | ||
|
||
return; // error, illegal |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
// @flow | ||
|
||
throw new Error('foo'); // no error |
Oops, something went wrong.