Add test for return in static block (#19774)
This commit is contained in:
1 parent
19a0444ce4
commit
315f281982
2 files changed
+319
-15
No files matched your search
@@ -117,7 +117,253 @@ new.target
|
||||
^~~~~~~~~~"
|
||||
`;
|
||||
|
||||
exports[`snippet: return.cjs format 1`] = `
|
||||
exports[`snippet: return/in-static-block.cjs format 1`] = `
|
||||
====================================options=====================================
|
||||
parsers: ["babel", "flow", "typescript"]
|
||||
printWidth: 80 (default) |
|
||||
=====================================input======================================
|
||||
class X { static { return; } }
|
||||
=====================================output=====================================
|
||||
class X {
|
||||
static {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
================================================================================
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.cjs format[__babel_estree] 1`] = `
|
||||
"'return' outside of function. (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^
|
||||
Cause: 'return' outside of function. (1:19)"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.cjs format[acorn] 1`] = `
|
||||
"'return' outside of function (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^
|
||||
Cause: 'return' outside of function (1:19)"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.cjs format[babel] 1`] = `
|
||||
"'return' outside of function. (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^
|
||||
Cause: 'return' outside of function. (1:19)"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.cjs format[babel-ts] 1`] = `
|
||||
"'return' outside of function. (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^
|
||||
Cause: 'return' outside of function. (1:19)"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.cjs format[espree] 1`] = `
|
||||
"'return' outside of function (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^
|
||||
Cause: 'return' outside of function"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.cjs format[meriyah] 1`] = `
|
||||
"Illegal return statement (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^^^^^^
|
||||
Cause: [1:19-1:25]: Illegal return statement"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.cjs format[oxc] 1`] = `
|
||||
"A 'return' statement cannot be used inside a class static block. (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^^^^^^"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.cjs format[oxc-ts] 1`] = `
|
||||
"A 'return' statement cannot be used inside a class static block. (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^^^^^^"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.cjs format[yuku] 1`] = `
|
||||
"'return' statement is only valid inside a function (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^^^^^^"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.cjs format[yuku-ts] 1`] = `
|
||||
"'return' statement is only valid inside a function (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^^^^^^"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.mjs format 1`] = `
|
||||
====================================options=====================================
|
||||
parsers: ["babel", "flow", "typescript"]
|
||||
printWidth: 80 (default) |
|
||||
=====================================input======================================
|
||||
class X { static { return; } }
|
||||
=====================================output=====================================
|
||||
class X {
|
||||
static {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
================================================================================
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.mjs format[__babel_estree] 1`] = `
|
||||
"'return' outside of function. (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^
|
||||
Cause: 'return' outside of function. (1:19)"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.mjs format[acorn] 1`] = `
|
||||
"'return' outside of function (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^
|
||||
Cause: 'return' outside of function (1:19)"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.mjs format[babel] 1`] = `
|
||||
"'return' outside of function. (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^
|
||||
Cause: 'return' outside of function. (1:19)"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.mjs format[babel-ts] 1`] = `
|
||||
"'return' outside of function. (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^
|
||||
Cause: 'return' outside of function. (1:19)"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.mjs format[espree] 1`] = `
|
||||
"'return' outside of function (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^
|
||||
Cause: 'return' outside of function"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.mjs format[meriyah] 1`] = `
|
||||
"Illegal return statement (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^^^^^^
|
||||
Cause: [1:19-1:25]: Illegal return statement"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.mjs format[oxc] 1`] = `
|
||||
"A 'return' statement cannot be used inside a class static block. (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^^^^^^"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.mjs format[oxc-ts] 1`] = `
|
||||
"A 'return' statement cannot be used inside a class static block. (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^^^^^^"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.mjs format[yuku] 1`] = `
|
||||
"'return' statement is only valid inside a function (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^^^^^^"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.mjs format[yuku-ts] 1`] = `
|
||||
"'return' statement is only valid inside a function (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^^^^^^"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.unknown format 1`] = `
|
||||
====================================options=====================================
|
||||
parsers: ["babel", "flow", "typescript"]
|
||||
printWidth: 80 (default) |
|
||||
=====================================input======================================
|
||||
class X { static { return; } }
|
||||
=====================================output=====================================
|
||||
class X {
|
||||
static {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
================================================================================
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.unknown format[__babel_estree] 1`] = `
|
||||
"'return' outside of function. (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^
|
||||
Cause: 'return' outside of function. (1:19)"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.unknown format[acorn] 1`] = `
|
||||
"'return' outside of function (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^
|
||||
Cause: 'return' outside of function (1:19)"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.unknown format[babel] 1`] = `
|
||||
"'return' outside of function. (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^
|
||||
Cause: 'return' outside of function. (1:19)"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.unknown format[babel-ts] 1`] = `
|
||||
"'return' outside of function. (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^
|
||||
Cause: 'return' outside of function. (1:19)"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.unknown format[espree] 1`] = `
|
||||
"'return' outside of function (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^
|
||||
Cause: 'return' outside of function"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.unknown format[meriyah] 1`] = `
|
||||
"Illegal return statement (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^^^^^^
|
||||
Cause: [1:19-1:25]: Illegal return statement"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.unknown format[oxc] 1`] = `
|
||||
"A 'return' statement cannot be used inside a class static block. (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^^^^^^"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.unknown format[oxc-ts] 1`] = `
|
||||
"A 'return' statement cannot be used inside a class static block. (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^^^^^^"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.unknown format[yuku] 1`] = `
|
||||
"'return' statement is only valid inside a function (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^^^^^^"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/in-static-block.unknown format[yuku-ts] 1`] = `
|
||||
"'return' statement is only valid inside a function (1:20)
|
||||
> 1 | class X { static { return; } }
|
||||
| ^^^^^^"
|
||||
`;
|
||||
|
||||
exports[`snippet: return/top-level.cjs format 1`] = `
|
||||
====================================options=====================================
|
||||
parsers: ["babel", "flow", "typescript"]
|
||||
printWidth: 80 (default) |
|
||||
@@ -129,7 +375,7 @@ return;
|
||||
================================================================================
|
||||
`;
|
||||
|
||||
exports[`snippet: return.mjs format 1`] = `
|
||||
exports[`snippet: return/top-level.mjs format 1`] = `
|
||||
====================================options=====================================
|
||||
parsers: ["babel", "flow", "typescript"]
|
||||
printWidth: 80 (default) |
|
||||
@@ -141,33 +387,33 @@ return;
|
||||
================================================================================
|
||||
`;
|
||||
|
||||
exports[`snippet: return.mjs format[espree] 1`] = `
|
||||
exports[`snippet: return/top-level.mjs format[espree] 1`] = `
|
||||
"'return' outside of function (1:1)
|
||||
> 1 | return
|
||||
| ^
|
||||
Cause: 'return' outside of function"
|
||||
`;
|
||||
|
||||
exports[`snippet: return.mjs format[meriyah] 1`] = `
|
||||
exports[`snippet: return/top-level.mjs format[meriyah] 1`] = `
|
||||
"Illegal return statement (1:1)
|
||||
> 1 | return
|
||||
| ^^^^^^
|
||||
Cause: [1:0-1:6]: Illegal return statement"
|
||||
`;
|
||||
|
||||
exports[`snippet: return.mjs format[yuku] 1`] = `
|
||||
exports[`snippet: return/top-level.mjs format[yuku] 1`] = `
|
||||
"'return' statement is only valid inside a function (1:1)
|
||||
> 1 | return
|
||||
| ^^^^^^"
|
||||
`;
|
||||
|
||||
exports[`snippet: return.mjs format[yuku-ts] 1`] = `
|
||||
exports[`snippet: return/top-level.mjs format[yuku-ts] 1`] = `
|
||||
"'return' statement is only valid inside a function (1:1)
|
||||
> 1 | return
|
||||
| ^^^^^^"
|
||||
`;
|
||||
|
||||
exports[`snippet: return.unknown format 1`] = `
|
||||
exports[`snippet: return/top-level.unknown format 1`] = `
|
||||
====================================options=====================================
|
||||
parsers: ["babel", "flow", "typescript"]
|
||||
printWidth: 80 (default) |
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
const tests = [
|
||||
{
|
||||
code: "return",
|
||||
baseFilename: "return",
|
||||
baseFilename: "return/top-level",
|
||||
},
|
||||
// https://github.com/acornjs/acorn/issues/1376#issuecomment-2960924476
|
||||
{
|
||||
code: "class X { static { return; } }",
|
||||
baseFilename: "return/in-static-block",
|
||||
},
|
||||
{
|
||||
code: "new.target",
|
||||
@@ -23,9 +28,42 @@ runFormatTest(
|
||||
["babel", "flow", "typescript"],
|
||||
{
|
||||
errors: {
|
||||
acorn: ["new-target.mjs"],
|
||||
espree: ["return.mjs", "new-target.mjs"],
|
||||
meriyah: ["using.cjs", "return.mjs", "new-target.mjs"],
|
||||
babel: [
|
||||
"return/in-static-block.cjs",
|
||||
"return/in-static-block.mjs",
|
||||
"return/in-static-block.unknown",
|
||||
],
|
||||
"babel-ts": [
|
||||
"return/in-static-block.cjs",
|
||||
"return/in-static-block.mjs",
|
||||
"return/in-static-block.unknown",
|
||||
],
|
||||
__babel_estree: [
|
||||
"return/in-static-block.cjs",
|
||||
"return/in-static-block.mjs",
|
||||
"return/in-static-block.unknown",
|
||||
],
|
||||
acorn: [
|
||||
"new-target.mjs",
|
||||
"return/in-static-block.cjs",
|
||||
"return/in-static-block.mjs",
|
||||
"return/in-static-block.unknown",
|
||||
],
|
||||
espree: [
|
||||
"return/top-level.mjs",
|
||||
"new-target.mjs",
|
||||
"return/in-static-block.cjs",
|
||||
"return/in-static-block.mjs",
|
||||
"return/in-static-block.unknown",
|
||||
],
|
||||
meriyah: [
|
||||
"using.cjs",
|
||||
"return/top-level.mjs",
|
||||
"new-target.mjs",
|
||||
"return/in-static-block.cjs",
|
||||
"return/in-static-block.mjs",
|
||||
"return/in-static-block.unknown",
|
||||
],
|
||||
flow: [
|
||||
"new-target.cjs",
|
||||
"new-target.mjs",
|
||||
@@ -35,10 +73,30 @@ runFormatTest(
|
||||
"using.unknown",
|
||||
],
|
||||
hermes: ["new-target.cjs", "new-target.mjs", "new-target.unknown"],
|
||||
oxc: ["new-target.mjs"],
|
||||
"oxc-ts": ["new-target.mjs"],
|
||||
yuku: ["return.mjs"],
|
||||
"yuku-ts": ["return.mjs"],
|
||||
oxc: [
|
||||
"new-target.mjs",
|
||||
"return/in-static-block.cjs",
|
||||
"return/in-static-block.mjs",
|
||||
"return/in-static-block.unknown",
|
||||
],
|
||||
"oxc-ts": [
|
||||
"new-target.mjs",
|
||||
"return/in-static-block.cjs",
|
||||
"return/in-static-block.mjs",
|
||||
"return/in-static-block.unknown",
|
||||
],
|
||||
yuku: [
|
||||
"return/top-level.mjs",
|
||||
"return/in-static-block.cjs",
|
||||
"return/in-static-block.mjs",
|
||||
"return/in-static-block.unknown",
|
||||
],
|
||||
"yuku-ts": [
|
||||
"return/top-level.mjs",
|
||||
"return/in-static-block.cjs",
|
||||
"return/in-static-block.mjs",
|
||||
"return/in-static-block.unknown",
|
||||
],
|
||||
},
|
||||
},
|
||||
);
|
||||
Reference in new issue
Block a user