Files
test-repo/tests/integration/__tests__/plugin-options-string.js
T
fisker Cheung 9303d84697 Merge branch 'main' into next
# Conflicts:
#	src/language-css/parser-postcss.js
#	tests/integration/__tests__/arg-parsing.js
#	tests/integration/__tests__/check.js
#	tests/integration/__tests__/config-invalid.js
#	tests/integration/__tests__/config-resolution.js
#	tests/integration/__tests__/cursor-offset.js
#	tests/integration/__tests__/debug-check.js
#	tests/integration/__tests__/debug-print-ast.js
#	tests/integration/__tests__/debug-print-comments.js
#	tests/integration/__tests__/debug-print-doc.js
#	tests/integration/__tests__/early-exit.js
#	tests/integration/__tests__/error-on-unmatched-pattern.js
#	tests/integration/__tests__/file-info.js
#	tests/integration/__tests__/help-options.js
#	tests/integration/__tests__/ignore-absolute-path.js
#	tests/integration/__tests__/ignore-emoji.js
#	tests/integration/__tests__/ignore-in-subdirectories.js
#	tests/integration/__tests__/ignore-path.js
#	tests/integration/__tests__/ignore-relative-path.js
#	tests/integration/__tests__/ignore-unknown.js
#	tests/integration/__tests__/ignore-vcs-files.js
#	tests/integration/__tests__/infer-parser.js
#	tests/integration/__tests__/invalid-ignore.js
#	tests/integration/__tests__/line-suffix-boundary.js
#	tests/integration/__tests__/list-different.js
#	tests/integration/__tests__/loglevel.js
#	tests/integration/__tests__/parser-api.js
#	tests/integration/__tests__/patterns-dirs.js
#	tests/integration/__tests__/patterns-glob.js
#	tests/integration/__tests__/patterns.js
#	tests/integration/__tests__/piped-output.js
#	tests/integration/__tests__/plugin-default-options.js
#	tests/integration/__tests__/plugin-extensions.js
#	tests/integration/__tests__/plugin-flush-line-suffix.js
#	tests/integration/__tests__/plugin-options-string.js
#	tests/integration/__tests__/plugin-options.js
#	tests/integration/__tests__/plugin-precedence.js
#	tests/integration/__tests__/plugin-preprocess.js
#	tests/integration/__tests__/plugin-resolution.js
#	tests/integration/__tests__/plugin-virtual-directory.js
#	tests/integration/__tests__/skip-folders.js
#	tests/integration/__tests__/stdin-filepath.js
#	tests/integration/__tests__/support-info.js
#	tests/integration/__tests__/syntax-error.js
#	tests/integration/__tests__/with-config-precedence.js
#	tests/integration/__tests__/with-node-modules.js
#	tests/integration/__tests__/with-parser-inference.js
#	tests/integration/__tests__/with-shebang.js
#	tests/integration/__tests__/write.js
2022-02-10 10:52:10 +08:00

70 lines
1.6 KiB
JavaScript

import snapshotDiff from "snapshot-diff";
import runPrettier from "../run-prettier.js";
test("show external options with `--help`", async () => {
const originalStdout = await runPrettier("plugins/options-string", ["--help"])
.stdout;
const pluggedStdout = await runPrettier("plugins/options-string", [
"--help",
"--plugin=./plugin.cjs",
]).stdout;
expect(snapshotDiff(originalStdout, pluggedStdout)).toMatchSnapshot();
});
describe("show detailed external option with `--help foo-string`", () => {
runPrettier("plugins/options-string", [
"--plugin=./plugin.cjs",
"--help",
"foo-string",
]).test({
status: 0,
});
});
describe("external options from CLI should work", () => {
runPrettier(
"plugins/options-string",
[
"--plugin=./plugin.cjs",
"--stdin-filepath",
"example.foo",
"--foo-string",
"baz",
],
{ input: "hello-world" }
).test({
stdout: "foo:baz",
stderr: "",
status: 0,
write: [],
});
});
describe("external options from config file should work", () => {
runPrettier(
"plugins/options-string",
["--config=./config.json", "--stdin-filepath", "example.foo"],
{ input: "hello-world" }
).test({
stdout: "foo:baz",
stderr: "",
status: 0,
write: [],
});
});
describe("Non exists plugin", () => {
runPrettier(
"plugins/options-string",
["--plugin=--invalid--", "--stdin-filepath", "example.foo"],
{ input: "hello-world" }
).test({
stdout: "",
stderr: expect.stringMatching(
/Cannot (?:resolve|find) module '--invalid--' from/
),
status: 1,
write: [],
});
});