# test.govlab/quality/core/parsers/tool.oxlint.parser.test.ts

> 26 lines of code and 0 definitions.

Tree: Codebase Testing
Language: typescript
Canonical: https://banes-lab.com/anatomy/testing#file-testing-test-govlab-quality-core-parsers-tool-oxlint-parser-test-ts
Source text: https://banes-lab.com/source/testing/test.govlab/quality/core/parsers/tool.oxlint.parser.test.ts.txt

Listed in [test.govlab/quality/core/parsers](https://banes-lab.com/api/source/testing/test.govlab/quality/core/parsers.md), after [test.govlab/quality/core/parsers/tool.madge.parser.test.ts](https://banes-lab.com/source/testing/test.govlab/quality/core/parsers/tool.madge.parser.test.ts.md) and before [test.govlab/quality/core/parsers/tool.perlcritic.parser.test.ts](https://banes-lab.com/source/testing/test.govlab/quality/core/parsers/tool.perlcritic.parser.test.ts.md).

## Contained in

- [test.govlab/quality/core/parsers](https://banes-lab.com/anatomy/testing/folder-testing-test-govlab-quality-core-parsers.md)

## Source

```typescript
import { expect, test } from "vitest";
import { parseOxlintOutput } from "@govlab/quality/core/parsers/tool.oxlint.parser.ts";

test("parseOxlintOutput maps oxlint diagnostics into findings and yields none for empty output", () => {
    expect(parseOxlintOutput("", "javascript")).toEqual([]);
    const stdout = JSON.stringify({
        diagnostics: [
            {
                code: "eslint(no-debugger)",
                filename: "a.ts",
                labels: [{ span: { column: 5, line: 3 } }],
                message: "unexpected debugger",
            },
        ],
    });
    const findings = parseOxlintOutput(stdout, "javascript");
    expect(findings).toHaveLength(1);
    expect(findings[0]).toMatchObject({
        column: 5,
        ecosystem: "javascript",
        file: "a.ts",
        line: 3,
        message: "unexpected debugger",
        ruleId: "eslint/no-debugger",
        tool: "oxlint",
    });
});
```
