Skip to content

Commit

Permalink
Merge pull request #1 from vjeux/jest-tests
Browse files Browse the repository at this point in the history
Add testing
  • Loading branch information
jlongster committed Dec 24, 2016
2 parents d5b07f5 + cf45afb commit cfa14f0
Show file tree
Hide file tree
Showing 1,873 changed files with 93,549 additions and 1 deletion.
15 changes: 14 additions & 1 deletion package.json
Expand Up @@ -11,6 +11,19 @@
"recast": "^0.11.18"
},
"devDependencies": {
"glob": "^7.1.1"
"glob": "^7.1.1",
"jest": "^18.0.0",
"flow-parser": "^0.37.0"
},
"scripts": {
"test": "jest"
},
"jest": {
"setupFiles": [
"<rootDir>/tests_config/run_spec.js"
],
"testRegex": [
"jsfmt\\.spec\\.js$"
]
}
}
127 changes: 127 additions & 0 deletions tests/abnormal/__snapshots__/jsfmt.spec.js.snap
@@ -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
"
`;
7 changes: 7 additions & 0 deletions tests/abnormal/break-continue.js
@@ -0,0 +1,7 @@
function foo() {
while(true) { break; }
}

function bar() {
L: do { continue L; } while(false)
}
1 change: 1 addition & 0 deletions tests/abnormal/jsfmt.spec.js
@@ -0,0 +1 @@
run_spec(__dirname);
6 changes: 6 additions & 0 deletions tests/abnormal/return.js
@@ -0,0 +1,6 @@
function bar(x:number) { }
function foo() {
var x = null;
if (x == null) return;
bar(x);
}
3 changes: 3 additions & 0 deletions tests/abnormal/toplevel_break.js
@@ -0,0 +1,3 @@
// @flow

break; // error, illegal
3 changes: 3 additions & 0 deletions tests/abnormal/toplevel_continue.js
@@ -0,0 +1,3 @@
// @flow

continue; // error, illegal
3 changes: 3 additions & 0 deletions tests/abnormal/toplevel_return.js
@@ -0,0 +1,3 @@
// @flow

return; // error, illegal
3 changes: 3 additions & 0 deletions tests/abnormal/toplevel_throw.js
@@ -0,0 +1,3 @@
// @flow

throw new Error('foo'); // no error

0 comments on commit cfa14f0

Please sign in to comment.