summaryrefslogtreecommitdiff
path: root/cli/js/tests/format_error_test.ts
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2020-03-10 01:06:47 +0100
committerGitHub <noreply@github.com>2020-03-10 01:06:47 +0100
commit68119e1d7ed23421ccdcba20532ebe9ae3df9f18 (patch)
tree455dd170024112e3388adc27ebebb119b0ecda38 /cli/js/tests/format_error_test.ts
parentdad8036766dca3417b79858b9a04d90447f88605 (diff)
reorg: move js runtime tests to cli/js/tests/ (#4250)
All Deno runtime test files were moved to cli/js/tests/ directory. It makes a clear distinction that cli/js/tests/ contains code that is run under Deno runtime as opposed to code in cli/js/ which is used to create bundle and snapshot with "deno_typescript".
Diffstat (limited to 'cli/js/tests/format_error_test.ts')
-rw-r--r--cli/js/tests/format_error_test.ts37
1 files changed, 37 insertions, 0 deletions
diff --git a/cli/js/tests/format_error_test.ts b/cli/js/tests/format_error_test.ts
new file mode 100644
index 000000000..9831ef160
--- /dev/null
+++ b/cli/js/tests/format_error_test.ts
@@ -0,0 +1,37 @@
+// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
+import { assert, unitTest } from "./test_util.ts";
+
+unitTest(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"));
+});
+
+unitTest(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();
+}