Files
test-repo/tests/integration/__tests__/patterns-glob.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

142 lines
3.0 KiB
JavaScript

import runPrettier from "../run-prettier.js";
import jestPathSerializer from "../path-serializer.js";
expect.addSnapshotSerializer(jestPathSerializer);
/*
fixtures-1/
├─ !file.js
├─ a.js
└─ b.js
*/
describe("fixtures-1: Should match all files", () => {
runPrettier("cli/patterns-glob/fixtures-1", ["*.js", "!file.js", "-l"]).test({
status: 1,
});
});
describe("fixtures-1: Should match files except `a.js`", () => {
runPrettier("cli/patterns-glob/fixtures-1", ["*.js", "!a.js", "-l"]).test({
status: 1,
});
});
/*
fixtures-2/
├─ a.js
├─ !b.js
└─ !dir.js/
├─ 1.css
└─ 2.css
*/
describe("fixtures-2: Should match all js files and all supported files in the '!dir.js' directory", () => {
runPrettier("cli/patterns-glob/fixtures-2", ["*.js", "!dir.js", "-l"]).test({
status: 1,
});
});
describe("fixtures-2: Should match `a.js` and `!b.js`", () => {
runPrettier("cli/patterns-glob/fixtures-2", ["*.js", "!b.js", "-l"]).test({
status: 1,
});
});
describe("fixtures-2: Should only match `!b.js`", () => {
runPrettier("cli/patterns-glob/fixtures-2", ["*.js", "!a.js", "-l"]).test({
status: 1,
});
});
/*
fixtures-3/
├─ outside.js
└─ dir
├─ inside.js
├─ node_modules/
│ └─in-node_modules.js
└─ .svn/
└─in-svn.js
*/
describe("fixtures-3: Should match `outside.js`, `dir/inside.js` and `dir/node_modules/in-node_modules.js`", () => {
runPrettier("cli/patterns-glob/fixtures-3", [
"**/*.js",
"-l",
"--with-node-modules",
]).test({
status: 1,
});
});
describe("fixtures-3: Should only match `outside.js` and `dir/inside.js`", () => {
runPrettier("cli/patterns-glob/fixtures-3", ["**/*.js", "-l"]).test({
status: 1,
});
});
describe("fixtures-3: Should exclude `.svn`", () => {
describe("(existing)", () => {
runPrettier("cli/patterns-glob/fixtures-3", [
"*.js",
"dir/.svn/in-svn.js",
"-l",
]).test({
status: 1,
});
});
describe("(nonexisting)", () => {
runPrettier("cli/patterns-glob/fixtures-3", [
"*.js",
".svn/in-svn.js",
"-l",
]).test({
status: 1,
});
});
});
/*
fixtures-4/
├─ level-0.js
└─ 0
├─ level-1.js
└─ 1/
├─ level-2.js
└─ 2/
└─ level-3.js
*/
describe("fixtures-4: Should match `level-1.js`", () => {
runPrettier("cli/patterns-glob/fixtures-4", ["./0/./level-1.js", "-l"]).test({
status: 1,
});
});
describe("fixtures-4: Should match `level-1.js` #2", () => {
runPrettier("cli/patterns-glob/fixtures-4", [
"./0/1/2/../../level-1.js",
"-l",
]).test({
status: 1,
});
});
describe("fixtures-4: Should match `level-1.js` #3", () => {
runPrettier("cli/patterns-glob/fixtures-4", [
"./0/non-exists-dir/2/../../level-1.js",
"-l",
]).test({
status: 1,
});
});
describe("should not ignore file paths contains object prototype keys", () => {
runPrettier("cli/patterns-glob/fixtures-5", [
"./constructor/should-be-formatted.js",
"-l",
]).test({ status: 1 });
});