Files
test-repo/tests/integration/__tests__/plugin-options-string.js
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

73 lines
1.6 KiB
JavaScript
Raw Normal View History

2025-10-09 22:00:33 +08:00
import { createTwoFilesPatch } from "diff";
2021-05-09 20:43:10 +08:00
test("show external options with `--help`", async () => {
const originalStdout = await runCli("plugins/options-string", ["--help"])
.stdout;
const pluggedStdout = await runCli("plugins/options-string", [
"--help",
"--plugin=./plugin.cjs",
]).stdout;
2025-10-09 22:00:33 +08:00
expect(
createTwoFilesPatch(
"Without plugin",
"With plugin",
originalStdout,
pluggedStdout,
),
).toMatchSnapshot();
});
describe("show detailed external option with `--help foo-string`", () => {
runCli("plugins/options-string", [
"--plugin=./plugin.cjs",
"--help",
"foo-string",
]).test({
status: 0,
});
});
describe("external options from CLI should work", () => {
runCli(
"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", () => {
runCli(
"plugins/options-string",
["--config=./config.json", "--stdin-filepath", "example.foo"],
{ input: "hello-world" },
).test({
stdout: "foo:baz",
stderr: "",
status: 0,
write: [],
});
});
2020-08-21 09:43:24 +08:00
describe("Non exists plugin", () => {
runCli(
2020-08-21 09:43:24 +08:00
"plugins/options-string",
["--plugin=--invalid--", "--stdin-filepath", "example.foo"],
{ input: "hello-world" },
).test({
stdout: "",
stderr: expect.stringMatching(/Cannot find package '--invalid--'/),
2020-08-21 09:43:24 +08:00
status: 1,
write: [],
});
});