diff --git a/tests/fixtures/dots-in-files/a..b.js b/tests/fixtures/dots-in-files/a..b.js new file mode 100644 index 00000000000..e5f581a97a9 --- /dev/null +++ b/tests/fixtures/dots-in-files/a..b.js @@ -0,0 +1 @@ +console.log("Running"); diff --git a/tests/fixtures/dots-in-files/eslint.config.js b/tests/fixtures/dots-in-files/eslint.config.js new file mode 100644 index 00000000000..8c1da94e458 --- /dev/null +++ b/tests/fixtures/dots-in-files/eslint.config.js @@ -0,0 +1,8 @@ +module.exports = [ + { + files: ["a..b.js"] + }, + { + ignores: ["eslint.config.js"] + } +]; diff --git a/tests/lib/eslint/flat-eslint.js b/tests/lib/eslint/flat-eslint.js index 1cbaedfb8b3..570bab2ada1 100644 --- a/tests/lib/eslint/flat-eslint.js +++ b/tests/lib/eslint/flat-eslint.js @@ -794,6 +794,21 @@ describe("FlatESLint", () => { assert.strictEqual(results[1].suppressedMessages.length, 0); }); + // https://github.com/eslint/eslint/issues/16038 + it("should allow files patterns with '..' inside", async () => { + eslint = new FlatESLint({ + ignore: false, + cwd: getFixturePath("dots-in-files") + }); + const results = await eslint.lintFiles(["."]); + + assert.strictEqual(results.length, 2); + assert.strictEqual(results[0].messages.length, 0); + assert.strictEqual(results[0].filePath, getFixturePath("dots-in-files/a..b.js")); + assert.strictEqual(results[0].suppressedMessages.length, 0); + }); + + // https://github.com/eslint/eslint/issues/16299 it("should only find files in the subdir1 directory when given a directory name", async () => { eslint = new FlatESLint({