Skip to content

Commit

Permalink
fix: Ensure cwd doesn't leak into config resolution
Browse files Browse the repository at this point in the history
Fixes #17669
  • Loading branch information
nzakas committed Oct 30, 2023
1 parent 70648ee commit 0abe05a
Showing 1 changed file with 37 additions and 1 deletion.
38 changes: 37 additions & 1 deletion tests/lib/linter/linter.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ const { assert } = require("chai"),
espree = require("espree"),
esprima = require("esprima"),
testParsers = require("../../fixtures/parsers/linter-test-parsers");

const path = require("path");
const { Linter } = require("../../../lib/linter");
const { FlatConfigArray } = require("../../../lib/config/flat-config-array");

Expand Down Expand Up @@ -9831,6 +9831,42 @@ describe("Linter with FlatConfigArray", () => {
});
});

it("should report ignored file when filename isn't matched in the config array", () => {

const code = "foo()\n alert('test')";
const config = { rules: { "no-mixed-spaces-and-tabs": 1, "eol-last": 1, semi: [1, "always"] } };
const messages = linter.verify(code, config, path.join(process.cwd(), "filename.js"));
const suppressedMessages = linter.getSuppressedMessages();

assert.strictEqual(messages.length, 3);
assert.strictEqual(messages[0].line, 1);
assert.strictEqual(messages[0].column, 6);
assert.strictEqual(messages[1].line, 2);
assert.strictEqual(messages[1].column, 18);
assert.strictEqual(messages[2].line, 2);
assert.strictEqual(messages[2].column, 18);

assert.strictEqual(suppressedMessages.length, 0);
});

it("should report ignored file when filename isn't matched in the config array", () => {

const code = "foo()\n alert('test')";
const config = { rules: { "no-mixed-spaces-and-tabs": 1, "eol-last": 1, semi: [1, "always"] } };
const messages = linter.verify(code, config, "/foo/bar/filename.js");
const suppressedMessages = linter.getSuppressedMessages();

assert.strictEqual(messages.length, 3);
assert.strictEqual(messages[0].line, 1);
assert.strictEqual(messages[0].column, 6);
assert.strictEqual(messages[1].line, 2);
assert.strictEqual(messages[1].column, 18);
assert.strictEqual(messages[2].line, 2);
assert.strictEqual(messages[2].column, 18);

assert.strictEqual(suppressedMessages.length, 0);
});

describe("Plugins", () => {

it("should not load rule definition when rule isn't used", () => {
Expand Down

0 comments on commit 0abe05a

Please sign in to comment.