From c276b52828c3ea302a3870d0a4cfdc8904da0e93 Mon Sep 17 00:00:00 2001 From: Casper Beyer Date: Fri, 30 Jul 2021 03:03:06 +0800 Subject: feat: type check codeblocks in Markdown file with "deno test --doc" (#11421) --- cli/tests/integration/test_tests.rs | 6 ++++++ cli/tests/test/doc_markdown.out | 7 +++++++ cli/tests/test/doc_markdown/doc.md | 25 +++++++++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 cli/tests/test/doc_markdown.out create mode 100644 cli/tests/test/doc_markdown/doc.md (limited to 'cli/tests') diff --git a/cli/tests/integration/test_tests.rs b/cli/tests/integration/test_tests.rs index 1f9df3fd5..1cb38562f 100644 --- a/cli/tests/integration/test_tests.rs +++ b/cli/tests/integration/test_tests.rs @@ -55,6 +55,12 @@ itest!(doc { output: "test/doc.out", }); +itest!(doc_markdown { + args: "test --doc --allow-all test/doc_markdown", + exit_code: 1, + output: "test/doc_markdown.out", +}); + itest!(quiet { args: "test --quiet test/quiet.ts", exit_code: 0, diff --git a/cli/tests/test/doc_markdown.out b/cli/tests/test/doc_markdown.out new file mode 100644 index 000000000..9d2c35974 --- /dev/null +++ b/cli/tests/test/doc_markdown.out @@ -0,0 +1,7 @@ +Check [WILDCARD]/test/doc_markdown/doc.md$11-14.js +Check [WILDCARD]/test/doc_markdown/doc.md$17-20.ts +Check [WILDCARD]/test/doc_markdown/doc.md$23-26.ts +error: TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. +const a: string = 42; + ^ + at [WILDCARD]/test/doc_markdown/doc.md$23-26.ts:1:7 diff --git a/cli/tests/test/doc_markdown/doc.md b/cli/tests/test/doc_markdown/doc.md new file mode 100644 index 000000000..e5afb841b --- /dev/null +++ b/cli/tests/test/doc_markdown/doc.md @@ -0,0 +1,25 @@ +# Documentation + +The following block does not have a language attribute and should be ignored: + +``` +This is a fenced block without attributes, it's invalid and it should be ignored. +``` + +The following block should be given a js extension on extraction: + +```js +console.log("js"); +``` + +The following block should be given a ts extension on extraction: + +```ts +console.log("ts"); +``` + +The following example will trigger the type-checker to fail: + +```ts +const a: string = 42; +``` -- cgit v1.2.3