Improve "flow-ambient" test (#19768)
This commit is contained in:
1 parent
aa357ca077
commit
de5c0171d6
4 files changed
+76
-31
No files matched your search
@@ -9,7 +9,19 @@ import {
|
|||||||
import { ensurePromise } from "./utilities.js";
|
import { ensurePromise } from "./utilities.js";
|
||||||
import visualizeEndOfLine from "./visualize-end-of-line.js";
|
import visualizeEndOfLine from "./visualize-end-of-line.js";
|
||||||
|
|
||||||
|
function unsetFilepath(options) {
|
||||||
|
const { filepath, ...restOptions } = options;
|
||||||
|
|
||||||
|
if (typeof filepath === "string" && filepath.endsWith(".unset-filepath")) {
|
||||||
|
return restOptions;
|
||||||
|
}
|
||||||
|
|
||||||
|
return options;
|
||||||
|
}
|
||||||
|
|
||||||
async function parse(input, options) {
|
async function parse(input, options) {
|
||||||
|
options = unsetFilepath(options);
|
||||||
|
|
||||||
const prettier = await getPrettier();
|
const prettier = await getPrettier();
|
||||||
const { ast } = await ensurePromise(
|
const { ast } = await ensurePromise(
|
||||||
prettier.__debug.parse(input, await loadPlugins(options), {
|
prettier.__debug.parse(input, await loadPlugins(options), {
|
||||||
@@ -20,6 +32,8 @@ async function parse(input, options) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function format(input, options) {
|
async function format(input, options) {
|
||||||
|
options = unsetFilepath(options);
|
||||||
|
|
||||||
const inputWithCursor = insertCursor(input, options.cursorOffset);
|
const inputWithCursor = insertCursor(input, options.cursorOffset);
|
||||||
const prettier = await getPrettier();
|
const prettier = await getPrettier();
|
||||||
|
|
||||||
|
|||||||
@@ -1,29 +1,6 @@
|
|||||||
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
|
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
|
||||||
|
|
||||||
exports[`ambient.js.flow format 1`] = `
|
exports[`snippet: const-without-initializer.js.flow format 1`] = `
|
||||||
====================================options=====================================
|
|
||||||
parsers: ["flow"]
|
|
||||||
printWidth: 80 (default) |
|
|
||||||
=====================================input======================================
|
|
||||||
const foo: string;
|
|
||||||
|
|
||||||
=====================================output=====================================
|
|
||||||
const foo: string;
|
|
||||||
|
|
||||||
================================================================================
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`ambient.js.flow format[hermes] 1`] = `
|
|
||||||
"missing initializer in const declaration (1:7)
|
|
||||||
> 1 | const foo: string;
|
|
||||||
| ^
|
|
||||||
2 |
|
|
||||||
Cause: missing initializer in const declaration (1:6)
|
|
||||||
const foo: string;
|
|
||||||
^~~~~~~~~~~"
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`snippet: #0 format 1`] = `
|
|
||||||
====================================options=====================================
|
====================================options=====================================
|
||||||
parsers: ["flow"]
|
parsers: ["flow"]
|
||||||
printWidth: 80 (default) |
|
printWidth: 80 (default) |
|
||||||
@@ -35,7 +12,44 @@ const foo: string;
|
|||||||
================================================================================
|
================================================================================
|
||||||
`;
|
`;
|
||||||
|
|
||||||
exports[`snippet: #0 format[hermes] 1`] = `
|
exports[`snippet: const-without-initializer.js.flow format[hermes] 1`] = `
|
||||||
|
"missing initializer in const declaration (1:7)
|
||||||
|
> 1 | const foo: string;
|
||||||
|
| ^
|
||||||
|
Cause: missing initializer in const declaration (1:6)
|
||||||
|
const foo: string;
|
||||||
|
^~~~~~~~~~~"
|
||||||
|
`;
|
||||||
|
|
||||||
|
exports[`snippet: const-without-initializer.unknown format[flow] 1`] = `
|
||||||
|
"Const must be initialized (1:7)
|
||||||
|
> 1 | const foo: string;
|
||||||
|
| ^
|
||||||
|
Cause: Const must be initialized (1:6)"
|
||||||
|
`;
|
||||||
|
|
||||||
|
exports[`snippet: const-without-initializer.unknown format[hermes] 1`] = `
|
||||||
|
"missing initializer in const declaration (1:7)
|
||||||
|
> 1 | const foo: string;
|
||||||
|
| ^
|
||||||
|
Cause: missing initializer in const declaration (1:6)
|
||||||
|
const foo: string;
|
||||||
|
^~~~~~~~~~~"
|
||||||
|
`;
|
||||||
|
|
||||||
|
exports[`snippet: const-without-initializer.unset-filepath format 1`] = `
|
||||||
|
====================================options=====================================
|
||||||
|
parsers: ["flow"]
|
||||||
|
printWidth: 80 (default) |
|
||||||
|
=====================================input======================================
|
||||||
|
const foo: string;
|
||||||
|
=====================================output=====================================
|
||||||
|
const foo: string;
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
`;
|
||||||
|
|
||||||
|
exports[`snippet: const-without-initializer.unset-filepath format[hermes] 1`] = `
|
||||||
"missing initializer in const declaration (1:7)
|
"missing initializer in const declaration (1:7)
|
||||||
> 1 | const foo: string;
|
> 1 | const foo: string;
|
||||||
| ^
|
| ^
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
const foo: string;
|
|
||||||
@@ -1,11 +1,29 @@
|
|||||||
|
const tests = [
|
||||||
|
{
|
||||||
|
code: "const foo: string;",
|
||||||
|
baseFilename: "const-without-initializer",
|
||||||
|
},
|
||||||
|
].flatMap(({ code, baseFilename }) =>
|
||||||
|
[".js.flow", ".unknown", ".unset-filepath"].map((extension) => {
|
||||||
|
const filename = `${baseFilename}${extension}`;
|
||||||
|
return {
|
||||||
|
name: filename,
|
||||||
|
code,
|
||||||
|
filename,
|
||||||
|
};
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
runFormatTest(
|
runFormatTest(
|
||||||
{
|
{
|
||||||
snippets: [
|
|
||||||
// Unknown filename
|
|
||||||
"const foo: string;",
|
|
||||||
],
|
|
||||||
importMeta: import.meta,
|
importMeta: import.meta,
|
||||||
|
snippets: tests,
|
||||||
},
|
},
|
||||||
["flow"],
|
["flow"],
|
||||||
{ errors: { hermes: true } },
|
{
|
||||||
|
errors: {
|
||||||
|
flow: ["const-without-initializer.unknown"],
|
||||||
|
hermes: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
);
|
);
|
||||||
Reference in new issue
Block a user