UNPKG

eslint-plugin-exception-handling

Version:

💣 Lints unhandled functions that might throw errors. For JavaScript/TypeScript eslint.

29 lines (28 loc) • 1.12 kB
import { ESLint } from "eslint"; import { describe, expect, it } from "vitest"; export function testFile(filename, rules, errors) { const lint = new ESLint({ overrideConfigFile: "eslint.config.test.js" }); const expectLints = errors.reduce((acc, error) => { if (!error.messageId) return acc; if (!acc[error.messageId]) acc[error.messageId] = 0; acc[error.messageId]++; return acc; }, {}); const expectedLintsString = Object.entries(expectLints) .map(([k, v]) => `${v} '${k}'`) .join(", ") || "no error"; describe(filename, () => { it(`should lint ${expectedLintsString}`, async () => { const res = await lint.lintFiles([filename]); const messages = res[0].messages.filter((m) => m.ruleId && rules.includes(m.ruleId.split("/").at(-1))); expect(messages).toEqual(errors.map((lint) => { return expect.objectContaining(lint); })); if (errors.length === 0) { expect(messages).toStrictEqual([]); } }); }); }