prettier/tests_integration/__tests__/with-config-precedence.js

164 lines
3.4 KiB
JavaScript

"use strict";
const runPrettier = require("../runPrettier");
describe("CLI overrides take precedence without --config-precedence", () => {
runPrettier("cli/config/", [
"--end-of-line",
"lf",
"--print-width",
"1",
"**/*.js"
]).test({
status: 0
});
});
describe("CLI overrides take precedence with --config-precedence cli-override", () => {
runPrettier("cli/config/", [
"--end-of-line",
"lf",
"--print-width",
"1",
"--config-precedence",
"cli-override",
"**/*.js"
]).test({
status: 0
});
});
describe("CLI overrides take lower precedence with --config-precedence file-override", () => {
runPrettier("cli/config/js/", [
"--end-of-line",
"crlf",
"--tab-width",
"1",
"--config-precedence",
"file-override",
"**/*.js"
]).test({
status: 0
});
});
describe("CLI overrides are still applied when no config is found with --config-precedence file-override", () => {
runPrettier("cli/config/no-config/", [
"--end-of-line",
"lf",
"--tab-width",
"6",
"--config-precedence",
"file-override",
"**/*.js"
]).test({
status: 0
});
});
describe("CLI overrides gets ignored when config exists with --config-precedence prefer-file", () => {
runPrettier("cli/config/js/", [
"--print-width",
"1",
"--tab-width",
"1",
"--config-precedence",
"prefer-file",
"**/*.js"
]).test({
status: 0
});
});
describe("CLI overrides gets applied when no config exists with --config-precedence prefer-file", () => {
runPrettier("cli/config/no-config/", [
"--end-of-line",
"lf",
"--print-width",
"1",
"--tab-width",
"7",
"--no-config",
"--config-precedence",
"prefer-file",
"**/*.js"
]).test({
status: 0
});
});
describe("CLI validate options with --config-precedence cli-override", () => {
runPrettier("cli/config-precedence", [
"--config-precedence",
"cli-override"
]).test({
status: "non-zero"
});
});
describe("CLI validate options with --config-precedence file-override", () => {
runPrettier("cli/config-precedence", [
"--config-precedence",
"file-override"
]).test({
status: "non-zero"
});
});
describe("CLI validate options with --config-precedence prefer-file", () => {
runPrettier("cli/config-precedence", [
"--config-precedence",
"prefer-file"
]).test({
status: "non-zero"
});
});
describe("CLI --stdin-filepath works with --config-precedence prefer-file", () => {
runPrettier(
"cli/config/",
[
"--stdin",
"--stdin-filepath=abc.ts",
"--no-semi",
"--config-precedence=prefer-file"
],
{ input: "let x: keyof Y = foo<typeof X>()" } // typescript
).test({
stderr: "",
status: 0
});
});
describe("CLI --stdin-filepath works with --config-precedence file-override", () => {
runPrettier(
"cli/config/",
[
"--stdin",
"--stdin-filepath=abc.ts",
"--no-semi",
"--config-precedence=file-override"
],
{ input: "let x: keyof Y = foo<typeof X>()" } // typescript
).test({
stderr: "",
status: 0
});
});
describe("CLI --stdin-filepath works with --config-precedence cli-override", () => {
runPrettier(
"cli/config/",
[
"--stdin",
"--stdin-filepath=abc.ts",
"--no-semi",
"--config-precedence=cli-override"
],
{ input: "let x: keyof Y = foo<typeof X>()" } // typescript
).test({
stderr: "",
status: 0
});
});