summaryrefslogtreecommitdiff
path: root/cli/js/format_error_test.ts
blob: 282c2b274b7bd3c3271162c4972dc8d1d66ad5dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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();
}