2020-02-24 14:48:14 -05:00
|
|
|
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
|
2020-03-04 11:31:14 -05:00
|
|
|
import { assert, unitTest } from "./test_util.ts";
|
2020-02-24 14:48:14 -05:00
|
|
|
|
2020-03-04 11:31:14 -05:00
|
|
|
unitTest(function formatDiagnosticBasic() {
|
2020-02-24 14:48:14 -05:00
|
|
|
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"));
|
|
|
|
});
|
|
|
|
|
2020-03-04 11:31:14 -05:00
|
|
|
unitTest(function formatDiagnosticError() {
|
2020-02-24 14:48:14 -05:00
|
|
|
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();
|
|
|
|
}
|