prettier/tests_integration/__tests__/early-exit.js

113 lines
2.7 KiB
JavaScript
Raw Normal View History

2017-09-03 16:31:33 +03:00
"use strict";
const prettier = require("../../tests_config/require_prettier");
2017-09-03 16:31:33 +03:00
const runPrettier = require("../runPrettier");
const constant = require("../../src/cli/constant");
feat: support external options (#3775) * refactor: wrap * refactor: replace * refactor: replace * refactor: replace * refactor: extract * refactor: logger * refactor * refactor: extract * refactor: extract * refactor: extract * refactor: extract * feat(support): add `showInternal` option * refactor: use internal * refactor * refactor: extract * refactor: extract * refactor * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: reorder * refactor: remove unnecessary * refactor: reorder * refactor: move * refactor * refactor * refactor * refactor: remove unnecessary * feat: external options from CLI * refactor: push/pop plugins * feat: external options from config file * refactor: remove unnecessary * refactor * refactor * refactor * fix: use `json-stable-stringify` * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: move * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: move * refactor: extract * docs: add comments * refactor: sort * refactor: sort * refactor: rename * refactor: remove unnecessary * style: remove trailing whitespace
2018-01-27 19:24:25 +03:00
const util = require("../../src/cli/util");
const arrayify = require("../../src/utils/arrayify");
2017-09-03 16:31:33 +03:00
describe("show version with --version", () => {
runPrettier("cli/with-shebang", ["--version"]).test({
stdout: prettier.version + "\n",
status: 0
});
2017-09-03 16:31:33 +03:00
});
describe("show usage with --help", () => {
runPrettier("cli", ["--help"]).test({
status: 0
});
2017-09-03 16:31:33 +03:00
});
describe(`show detailed usage with --help l (alias)`, () => {
runPrettier("cli", ["--help", "l"]).test({
status: 0
});
});
describe(`show detailed usage with plugin options (automatic resolution)`, () => {
runPrettier("plugins/automatic", [
"--help",
"tab-width",
"--parser=bar",
`--plugin-search-dir=.`
]).test({
status: 0
});
});
describe(`show detailed usage with plugin options (manual resolution)`, () => {
runPrettier("cli", [
"--help",
"tab-width",
"--plugin=../plugins/automatic/node_modules/prettier-plugin-bar",
"--parser=bar"
]).test({
status: 0
});
});
arrayify(
Object.assign(
{},
util.createDetailedOptionMap(
prettier.getSupportInfo(null, {
showDeprecated: true,
showUnreleased: true,
showInternal: true
}).options
feat: support external options (#3775) * refactor: wrap * refactor: replace * refactor: replace * refactor: replace * refactor: extract * refactor: logger * refactor * refactor: extract * refactor: extract * refactor: extract * refactor: extract * feat(support): add `showInternal` option * refactor: use internal * refactor * refactor: extract * refactor: extract * refactor * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: reorder * refactor: remove unnecessary * refactor: reorder * refactor: move * refactor * refactor * refactor * refactor: remove unnecessary * feat: external options from CLI * refactor: push/pop plugins * feat: external options from config file * refactor: remove unnecessary * refactor * refactor * refactor * fix: use `json-stable-stringify` * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: move * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: extract * refactor: move * refactor: extract * docs: add comments * refactor: sort * refactor: sort * refactor: rename * refactor: remove unnecessary * style: remove trailing whitespace
2018-01-27 19:24:25 +03:00
),
util.normalizeDetailedOptionMap(constant.options)
),
"name"
).forEach(option => {
const optionNames = [
option.description ? option.name : null,
option.oppositeDescription ? `no-${option.name}` : null
].filter(Boolean);
optionNames.forEach(optionName => {
describe(`show detailed usage with --help ${optionName}`, () => {
runPrettier("cli", ["--help", optionName]).test({
status: 0
});
});
});
});
describe("show warning with --help not-found", () => {
runPrettier("cli", ["--help", "not-found"]).test({
status: 0
});
});
describe("show warning with --help not-found (typo)", () => {
runPrettier("cli", ["--help", "parserr"]).test({
status: 0
});
});
describe("throw error with --write + --debug-check", () => {
runPrettier("cli", ["--write", "--debug-check"]).test({
status: 1
});
2017-09-03 16:31:33 +03:00
});
describe("throw error with --find-config-path + multiple files", () => {
runPrettier("cli", ["--find-config-path", "abc.js", "def.js"]).test({
status: 1
});
2017-09-03 16:31:33 +03:00
});
2017-09-09 06:49:22 +03:00
describe("throw error with --file-info + multiple files", () => {
runPrettier("cli", ["--file-info", "abc.js", "def.js"]).test({
status: 1
});
});
describe("throw error and show usage with something unexpected", () => {
runPrettier("cli", [], { isTTY: true }).test({
status: "non-zero"
});
2017-09-09 06:49:22 +03:00
});