Skip to content

Commit

Permalink
Chore: added empty error array check for false negative
Browse files Browse the repository at this point in the history
  • Loading branch information
anikethsaha committed Apr 20, 2020
1 parent b398e0b commit 2e04403
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 1 deletion.
4 changes: 4 additions & 0 deletions lib/rule-tester/rule-tester.js
Original file line number Diff line number Diff line change
Expand Up @@ -644,6 +644,10 @@ class RuleTester {
assert.ok(item.errors || item.errors === 0,
`Did not specify errors for an invalid test of ${ruleName}`);

if (Array.isArray(item.errors) && item.errors.length === 0) {
assert.fail("errors array should have atleast one element otherwise its a valid case");
}

const ruleHasMetaMessages = hasOwnProperty(rule, "meta") && hasOwnProperty(rule.meta, "messages");
const friendlyIDList = ruleHasMetaMessages ? `[${Object.keys(rule.meta.messages).map(key => `'${key}'`).join(", ")}]` : null;

Expand Down
15 changes: 14 additions & 1 deletion tests/lib/rule-tester/rule-tester.js
Original file line number Diff line number Diff line change
Expand Up @@ -463,6 +463,18 @@ describe("RuleTester", () => {
}, expectedErrorMessage);
});

it("should throw error for empty error array", () => {
assert.throws(() => {
ruleTester.run("suggestions-messageIds", require("../../fixtures/testers/rule-tester/suggestions").withMessageIds, {
valid: [],
invalid: [{
code: "var foo;",
errors: []
}]
});
}, /errors array should have atleast one element otherwise its a valid case/u);
});

it("should not skip column assertion if column is a falsy value", () => {
assert.throws(() => {
ruleTester.run("no-eval", require("../../fixtures/testers/rule-tester/no-eval"), {
Expand Down Expand Up @@ -732,7 +744,7 @@ describe("RuleTester", () => {
{
code: "eval(foo)",
parser: require.resolve("esprima"),
errors: [{}]
errors: [{ line: 1 }]
}
]
});
Expand Down Expand Up @@ -1893,4 +1905,5 @@ describe("RuleTester", () => {
});

});

});

0 comments on commit 2e04403

Please sign in to comment.