Skip to content

Commit

Permalink
Chore: avoid relying on undocumented Linter#getFilename API in tests (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
not-an-aardvark committed Sep 3, 2017
1 parent d65c540 commit ed6d088
Showing 1 changed file with 29 additions and 16 deletions.
45 changes: 29 additions & 16 deletions tests/lib/linter.js
Expand Up @@ -2711,35 +2711,48 @@ describe("Linter", () => {
describe("verify()", () => {
describe("filenames", () => {
it("should allow filename to be passed on options object", () => {
const filenameChecker = sandbox.spy(context => {
assert.strictEqual(context.getFilename(), "foo.js");
return {};
});

linter.verify("foo;", {}, { filename: "foo.js" });
const result = linter.getFilename();

assert.equal(result, "foo.js");
linter.defineRule("checker", filenameChecker);
linter.defineRule("checker", filenameChecker);
linter.verify("foo;", { rules: { checker: "error" } }, { filename: "foo.js" });
assert(filenameChecker.calledOnce);
});

it("should allow filename to be passed as third argument", () => {
const filenameChecker = sandbox.spy(context => {
assert.strictEqual(context.getFilename(), "bar.js");
return {};
});

linter.verify("foo;", {}, "foo.js");
const result = linter.getFilename();

assert.equal(result, "foo.js");
linter.defineRule("checker", filenameChecker);
linter.verify("foo;", { rules: { checker: "error" } }, "bar.js");
assert(filenameChecker.calledOnce);
});

it("should default filename to <input> when options object doesn't have filename", () => {
const filenameChecker = sandbox.spy(context => {
assert.strictEqual(context.getFilename(), "<input>");
return {};
});

linter.verify("foo;", {}, {});
const result = linter.getFilename();

assert.equal(result, "<input>");
linter.defineRule("checker", filenameChecker);
linter.verify("foo;", { rules: { checker: "error" } }, {});
assert(filenameChecker.calledOnce);
});

it("should default filename to <input> when only two arguments are passed", () => {
const filenameChecker = sandbox.spy(context => {
assert.strictEqual(context.getFilename(), "<input>");
return {};
});

linter.verify("foo;", {});
const result = linter.getFilename();

assert.equal(result, "<input>");
linter.defineRule("checker", filenameChecker);
linter.verify("foo;", { rules: { checker: "error" } });
assert(filenameChecker.calledOnce);
});
});

Expand Down

0 comments on commit ed6d088

Please sign in to comment.