mirror of
https://github.com/denoland/deno.git
synced 2025-09-26 20:29:11 +00:00
feat: Add Deno.formatDiagnostics (#4032)
This commit is contained in:
parent
5da7c7df1d
commit
2b7e28b591
8 changed files with 83 additions and 7 deletions
37
cli/js/format_error_test.ts
Normal file
37
cli/js/format_error_test.ts
Normal file
|
@ -0,0 +1,37 @@
|
|||
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
|
||||
import { assert, test } from "./test_util.ts";
|
||||
|
||||
test(function formatDiagnosticBasic() {
|
||||
const fixture: Deno.DiagnosticItem[] = [
|
||||
{
|
||||
message: "Example error",
|
||||
category: Deno.DiagnosticCategory.Error,
|
||||
sourceLine: "abcdefghijklmnopqrstuv",
|
||||
lineNumber: 1000,
|
||||
scriptResourceName: "foo.ts",
|
||||
startColumn: 1,
|
||||
endColumn: 2,
|
||||
code: 4000
|
||||
}
|
||||
];
|
||||
const out = Deno.formatDiagnostics(fixture);
|
||||
assert(out.includes("Example error"));
|
||||
assert(out.includes("foo.ts"));
|
||||
});
|
||||
|
||||
test(function formatDiagnosticError() {
|
||||
let thrown = false;
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
const bad = ([{ hello: 123 }] as any) as Deno.DiagnosticItem[];
|
||||
try {
|
||||
Deno.formatDiagnostics(bad);
|
||||
} catch (e) {
|
||||
assert(e instanceof TypeError);
|
||||
thrown = true;
|
||||
}
|
||||
assert(thrown);
|
||||
});
|
||||
|
||||
if (import.meta.main) {
|
||||
Deno.runTests();
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue