prettier/tests_integration/__tests__/stdin-filepath.js

94 lines
2.0 KiB
JavaScript
Raw Normal View History

2017-09-08 10:08:19 +03:00
"use strict";
const runPrettier = require("../runPrettier");
describe("format correctly if stdin content compatible with stdin-filepath", () => {
runPrettier(
2017-09-08 10:08:19 +03:00
"cli",
["--stdin-filepath", "abc.css"],
2017-09-08 10:08:19 +03:00
{ input: ".name { display: none; }" } // css
).test({
status: 0
});
2017-09-08 10:08:19 +03:00
});
describe("throw error if stdin content incompatible with stdin-filepath", () => {
runPrettier(
2017-09-08 10:08:19 +03:00
"cli",
["--stdin-filepath", "abc.js"],
2017-09-08 10:08:19 +03:00
{ input: ".name { display: none; }" } // css
).test({
status: "non-zero"
});
2017-09-08 10:08:19 +03:00
});
describe("gracefully handle stdin-filepath with nonexistent directory", () => {
runPrettier(
"cli",
["--stdin-filepath", "definitely/nonexistent/path.css"],
{ input: ".name { display: none; }" } // css
).test({
status: 0
});
});
describe("apply editorconfig for stdin-filepath with nonexistent file", () => {
runPrettier(
"cli",
["--stdin-filepath", "config/editorconfig/nonexistent.js"],
{
input: `
function f() {
console.log("should be indented with a tab");
}
`.trim() // js
}
).test({
status: 0
});
});
describe("apply editorconfig for stdin-filepath with nonexistent directory", () => {
runPrettier(
"cli",
["--stdin-filepath", "config/editorconfig/nonexistent/one/two/three.js"],
{
input: `
function f() {
console.log("should be indented with a tab");
}
`.trim() // js
}
).test({
status: 0
});
});
describe("dont apply editorconfig outside project for stdin-filepath with nonexistent directory", () => {
runPrettier(
"cli",
[
"--stdin-filepath",
"config/editorconfig/repo-root/nonexistent/one/two/three.js"
],
{
input: `
function f() {
console.log("should be indented with 2 spaces");
}
`.trim() // js
}
).test({
status: 0
});
});
describe("output file as-is if stdin-filepath matched patterns in ignore-path", () => {
runPrettier("cli/stdin-ignore", ["--stdin-filepath", "ignore/example.js"], {
input: "hello_world( );"
}).test({
stdout: "hello_world( );",
status: 0
});
});