diff --git a/tests/config/format-test/run-prettier.js b/tests/config/format-test/run-prettier.js index 65be4737f..8549d2366 100644 --- a/tests/config/format-test/run-prettier.js +++ b/tests/config/format-test/run-prettier.js @@ -9,7 +9,19 @@ import { import { ensurePromise } from "./utilities.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) { + options = unsetFilepath(options); + const prettier = await getPrettier(); const { ast } = await ensurePromise( prettier.__debug.parse(input, await loadPlugins(options), { @@ -20,6 +32,8 @@ async function parse(input, options) { } async function format(input, options) { + options = unsetFilepath(options); + const inputWithCursor = insertCursor(input, options.cursorOffset); const prettier = await getPrettier(); diff --git a/tests/format/misc/filename-matters/flow-ambient/__snapshots__/format.test.js.snap b/tests/format/misc/filename-matters/flow-ambient/__snapshots__/format.test.js.snap index 57e3570b8..7c88ca287 100644 --- a/tests/format/misc/filename-matters/flow-ambient/__snapshots__/format.test.js.snap +++ b/tests/format/misc/filename-matters/flow-ambient/__snapshots__/format.test.js.snap @@ -1,29 +1,6 @@ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing -exports[`ambient.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`] = ` +exports[`snippet: const-without-initializer.js.flow format 1`] = ` ====================================options===================================== parsers: ["flow"] 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) > 1 | const foo: string; | ^ diff --git a/tests/format/misc/filename-matters/flow-ambient/ambient.js.flow b/tests/format/misc/filename-matters/flow-ambient/ambient.js.flow deleted file mode 100644 index 6821c110c..000000000 --- a/tests/format/misc/filename-matters/flow-ambient/ambient.js.flow +++ /dev/null @@ -1 +0,0 @@ -const foo: string; diff --git a/tests/format/misc/filename-matters/flow-ambient/format.test.js b/tests/format/misc/filename-matters/flow-ambient/format.test.js index e382c0e71..ff5e0e469 100644 --- a/tests/format/misc/filename-matters/flow-ambient/format.test.js +++ b/tests/format/misc/filename-matters/flow-ambient/format.test.js @@ -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( { - snippets: [ - // Unknown filename - "const foo: string;", - ], importMeta: import.meta, + snippets: tests, }, ["flow"], - { errors: { hermes: true } }, + { + errors: { + flow: ["const-without-initializer.unknown"], + hermes: true, + }, + }, );