summaryrefslogtreecommitdiff
path: root/tests/specs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/specs')
-rw-r--r--tests/specs/doc/_060_deno_doc_displays_all_overloads_in_details_view/060_deno_doc_displays_all_overloads_in_details_view.ts6
-rw-r--r--tests/specs/doc/_060_deno_doc_displays_all_overloads_in_details_view/060_deno_doc_displays_all_overloads_in_details_view.ts.out9
-rw-r--r--tests/specs/doc/_060_deno_doc_displays_all_overloads_in_details_view/__test__.jsonc4
-rw-r--r--tests/specs/doc/builtin/__test__.jsonc4
-rw-r--r--tests/specs/doc/builtin/deno_doc_builtin.out3
-rw-r--r--tests/specs/doc/deno_doc/__test__.jsonc17
-rw-r--r--tests/specs/doc/deno_doc/bar.out5
-rw-r--r--tests/specs/doc/deno_doc/deno_doc.ts3
-rw-r--r--tests/specs/doc/deno_doc/deno_doc2.ts3
-rw-r--r--tests/specs/doc/deno_doc/foo.out5
-rw-r--r--tests/specs/doc/html/__test__.jsonc12
-rw-r--r--tests/specs/doc/html/referenced_private_types_fixed.ts11
-rw-r--r--tests/specs/doc/html_lint_referenced_private_types_fixed/__test__.jsonc5
-rw-r--r--tests/specs/doc/html_lint_referenced_private_types_fixed/referenced_private_types.ts7
-rw-r--r--tests/specs/doc/html_lint_referenced_private_types_fixed/referenced_private_types_lint.out29
-rw-r--r--tests/specs/doc/import_map/__test__.jsonc4
-rw-r--r--tests/specs/doc/import_map/import_map.json5
-rw-r--r--tests/specs/doc/import_map/module/fun.js2
-rw-r--r--tests/specs/doc/import_map/use_import_map.js1
-rw-r--r--tests/specs/doc/import_map/use_import_map.out5
-rw-r--r--tests/specs/doc/invalid_url/__test__.jsonc5
-rw-r--r--tests/specs/doc/invalid_url/invalid_url.out4
-rw-r--r--tests/specs/doc/lint_html_success/__test__.jsonc5
-rw-r--r--tests/specs/doc/lint_html_success/lint_success.ts5
-rw-r--r--tests/specs/doc/lint_html_success/lint_success_html.out1
-rw-r--r--tests/specs/doc/lint_json_success/__test__.jsonc4
-rw-r--r--tests/specs/doc/lint_json_success/lint_success.ts5
-rw-r--r--tests/specs/doc/lint_json_success/lint_success_json.out51
-rw-r--r--tests/specs/doc/lint_referenced_private_types_error/__test__.jsonc5
-rw-r--r--tests/specs/doc/lint_referenced_private_types_error/referenced_private_types.ts7
-rw-r--r--tests/specs/doc/lint_referenced_private_types_error/referenced_private_types_lint.out29
-rw-r--r--tests/specs/doc/lint_referenced_private_types_fixed/__test__.jsonc4
-rw-r--r--tests/specs/doc/lint_referenced_private_types_fixed/referenced_private_types_fixed.out1
-rw-r--r--tests/specs/doc/lint_referenced_private_types_fixed/referenced_private_types_fixed.ts11
-rw-r--r--tests/specs/doc/lint_success/__test__.jsonc4
-rw-r--r--tests/specs/doc/lint_success/lint_success.out1
-rw-r--r--tests/specs/doc/lint_success/lint_success.ts5
-rw-r--r--tests/specs/doc/referenced_private_types/__test__.jsonc4
-rw-r--r--tests/specs/doc/referenced_private_types/referenced_private_types.out12
-rw-r--r--tests/specs/doc/referenced_private_types/referenced_private_types.ts7
-rw-r--r--tests/specs/doc/types_header/__test__.jsonc4
-rw-r--r--tests/specs/doc/types_header/types_header.out6
-rw-r--r--tests/specs/doc/types_header/types_header.ts1
-rw-r--r--tests/specs/doc/types_header_direct/__test__.jsonc4
-rw-r--r--tests/specs/doc/types_header_direct/types_header.out6
-rw-r--r--tests/specs/doc/types_hint/__test__.jsonc4
-rw-r--r--tests/specs/doc/types_hint/foo.d.ts2
-rw-r--r--tests/specs/doc/types_hint/foo.js1
-rw-r--r--tests/specs/doc/types_hint/types_hint.out5
-rw-r--r--tests/specs/doc/types_hint/types_hint.ts2
-rw-r--r--tests/specs/doc/types_ref/__test__.jsonc4
-rw-r--r--tests/specs/doc/types_ref/foo.d.ts2
-rw-r--r--tests/specs/doc/types_ref/types_ref.js2
-rw-r--r--tests/specs/doc/types_ref/types_ref.out5
54 files changed, 358 insertions, 0 deletions
diff --git a/tests/specs/doc/_060_deno_doc_displays_all_overloads_in_details_view/060_deno_doc_displays_all_overloads_in_details_view.ts b/tests/specs/doc/_060_deno_doc_displays_all_overloads_in_details_view/060_deno_doc_displays_all_overloads_in_details_view.ts
new file mode 100644
index 000000000..854c1b464
--- /dev/null
+++ b/tests/specs/doc/_060_deno_doc_displays_all_overloads_in_details_view/060_deno_doc_displays_all_overloads_in_details_view.ts
@@ -0,0 +1,6 @@
+// deno-lint-ignore-file
+export namespace NS {
+ export function test(name: string, fn: Function): void;
+ export function test(options: object): void;
+ export function test(name: string | object, fn?: Function): void {}
+}
diff --git a/tests/specs/doc/_060_deno_doc_displays_all_overloads_in_details_view/060_deno_doc_displays_all_overloads_in_details_view.ts.out b/tests/specs/doc/_060_deno_doc_displays_all_overloads_in_details_view/060_deno_doc_displays_all_overloads_in_details_view.ts.out
new file mode 100644
index 000000000..28d1cb921
--- /dev/null
+++ b/tests/specs/doc/_060_deno_doc_displays_all_overloads_in_details_view/060_deno_doc_displays_all_overloads_in_details_view.ts.out
@@ -0,0 +1,9 @@
+Defined in [WILDCARD]/060_deno_doc_displays_all_overloads_in_details_view.ts:3:3
+
+function test(name: string, fn: Function): void
+
+Defined in [WILDCARD]/060_deno_doc_displays_all_overloads_in_details_view.ts:4:3
+
+function test(options: object): void
+
+
diff --git a/tests/specs/doc/_060_deno_doc_displays_all_overloads_in_details_view/__test__.jsonc b/tests/specs/doc/_060_deno_doc_displays_all_overloads_in_details_view/__test__.jsonc
new file mode 100644
index 000000000..3060bed1b
--- /dev/null
+++ b/tests/specs/doc/_060_deno_doc_displays_all_overloads_in_details_view/__test__.jsonc
@@ -0,0 +1,4 @@
+{
+ "args": "doc --filter NS.test 060_deno_doc_displays_all_overloads_in_details_view.ts",
+ "output": "060_deno_doc_displays_all_overloads_in_details_view.ts.out"
+}
diff --git a/tests/specs/doc/builtin/__test__.jsonc b/tests/specs/doc/builtin/__test__.jsonc
new file mode 100644
index 000000000..e277c8733
--- /dev/null
+++ b/tests/specs/doc/builtin/__test__.jsonc
@@ -0,0 +1,4 @@
+{
+ "args": "doc",
+ "output": "deno_doc_builtin.out"
+}
diff --git a/tests/specs/doc/builtin/deno_doc_builtin.out b/tests/specs/doc/builtin/deno_doc_builtin.out
new file mode 100644
index 000000000..b4a90d6bc
--- /dev/null
+++ b/tests/specs/doc/builtin/deno_doc_builtin.out
@@ -0,0 +1,3 @@
+[WILDCARD]
+namespace Deno
+[WILDCARD] \ No newline at end of file
diff --git a/tests/specs/doc/deno_doc/__test__.jsonc b/tests/specs/doc/deno_doc/__test__.jsonc
new file mode 100644
index 000000000..251565ecb
--- /dev/null
+++ b/tests/specs/doc/deno_doc/__test__.jsonc
@@ -0,0 +1,17 @@
+{
+ "steps": [{
+ "args": "doc deno_doc.ts",
+ "output": "foo.out",
+ "exitCode": 0,
+ "envs": {
+ "NO_COLOR": "1"
+ }
+ }, {
+ "args": "doc deno_doc2.ts",
+ "output": "bar.out",
+ "exitCode": 0,
+ "envs": {
+ "NO_COLOR": "1"
+ }
+ }]
+}
diff --git a/tests/specs/doc/deno_doc/bar.out b/tests/specs/doc/deno_doc/bar.out
new file mode 100644
index 000000000..1d681f446
--- /dev/null
+++ b/tests/specs/doc/deno_doc/bar.out
@@ -0,0 +1,5 @@
+Defined in [WILDCARD]/deno_doc2.ts:2:1
+
+function bar(): void
+ Some JSDoc
+
diff --git a/tests/specs/doc/deno_doc/deno_doc.ts b/tests/specs/doc/deno_doc/deno_doc.ts
new file mode 100644
index 000000000..fb3c50957
--- /dev/null
+++ b/tests/specs/doc/deno_doc/deno_doc.ts
@@ -0,0 +1,3 @@
+/** Some JSDoc */
+export function foo() {
+}
diff --git a/tests/specs/doc/deno_doc/deno_doc2.ts b/tests/specs/doc/deno_doc/deno_doc2.ts
new file mode 100644
index 000000000..ee6fc22dc
--- /dev/null
+++ b/tests/specs/doc/deno_doc/deno_doc2.ts
@@ -0,0 +1,3 @@
+/** Some JSDoc */
+export function bar() {
+}
diff --git a/tests/specs/doc/deno_doc/foo.out b/tests/specs/doc/deno_doc/foo.out
new file mode 100644
index 000000000..9b5284582
--- /dev/null
+++ b/tests/specs/doc/deno_doc/foo.out
@@ -0,0 +1,5 @@
+Defined in [WILDCARD]/deno_doc.ts:2:1
+
+function foo(): void
+ Some JSDoc
+
diff --git a/tests/specs/doc/html/__test__.jsonc b/tests/specs/doc/html/__test__.jsonc
new file mode 100644
index 000000000..5114127cd
--- /dev/null
+++ b/tests/specs/doc/html/__test__.jsonc
@@ -0,0 +1,12 @@
+{
+ "tempDir": true,
+ "args": [
+ "doc",
+ "--html",
+ "--name=MyLib",
+ "--output=temp_dir_path_here",
+ "referenced_private_types_fixed.ts"
+ ],
+ "output": "[WILDCARD]",
+ "exitCode": 0
+}
diff --git a/tests/specs/doc/html/referenced_private_types_fixed.ts b/tests/specs/doc/html/referenced_private_types_fixed.ts
new file mode 100644
index 000000000..cd99bc76e
--- /dev/null
+++ b/tests/specs/doc/html/referenced_private_types_fixed.ts
@@ -0,0 +1,11 @@
+/** Doc comment */
+export interface MyInterface {
+ /** Doc comment */
+ prop?: string;
+}
+
+/** Doc comment */
+export class MyClass {
+ /** Doc comment */
+ prop: MyInterface = {};
+}
diff --git a/tests/specs/doc/html_lint_referenced_private_types_fixed/__test__.jsonc b/tests/specs/doc/html_lint_referenced_private_types_fixed/__test__.jsonc
new file mode 100644
index 000000000..8bac77469
--- /dev/null
+++ b/tests/specs/doc/html_lint_referenced_private_types_fixed/__test__.jsonc
@@ -0,0 +1,5 @@
+{
+ "args": "doc --lint --html --name=Library referenced_private_types.ts",
+ "output": "referenced_private_types_lint.out",
+ "exitCode": 1
+}
diff --git a/tests/specs/doc/html_lint_referenced_private_types_fixed/referenced_private_types.ts b/tests/specs/doc/html_lint_referenced_private_types_fixed/referenced_private_types.ts
new file mode 100644
index 000000000..9570d4625
--- /dev/null
+++ b/tests/specs/doc/html_lint_referenced_private_types_fixed/referenced_private_types.ts
@@ -0,0 +1,7 @@
+interface MyInterface {
+ prop?: string;
+}
+
+export class MyClass {
+ prop: MyInterface = {};
+}
diff --git a/tests/specs/doc/html_lint_referenced_private_types_fixed/referenced_private_types_lint.out b/tests/specs/doc/html_lint_referenced_private_types_fixed/referenced_private_types_lint.out
new file mode 100644
index 000000000..1de3247bf
--- /dev/null
+++ b/tests/specs/doc/html_lint_referenced_private_types_fixed/referenced_private_types_lint.out
@@ -0,0 +1,29 @@
+error[missing-jsdoc]: exported symbol is missing JSDoc documentation
+ --> [WILDCARD]:5:1
+ |
+5 | export class MyClass {
+ | ^
+
+
+error[private-type-ref]: public type 'MyClass.prototype.prop' references private type 'MyInterface'
+ --> [WILDCARD]:6:3
+ |
+6 | prop: MyInterface = {};
+ | ^
+ = hint: make the referenced type public or remove the reference
+ |
+1 | interface MyInterface {
+ | - this is the referenced type
+ |
+
+ info: to ensure documentation is complete all types that are exposed in the public API must be public
+
+
+error[missing-jsdoc]: exported symbol is missing JSDoc documentation
+ --> [WILDCARD]:6:3
+ |
+6 | prop: MyInterface = {};
+ | ^
+
+
+error: Found 3 documentation lint errors.
diff --git a/tests/specs/doc/import_map/__test__.jsonc b/tests/specs/doc/import_map/__test__.jsonc
new file mode 100644
index 000000000..55554beff
--- /dev/null
+++ b/tests/specs/doc/import_map/__test__.jsonc
@@ -0,0 +1,4 @@
+{
+ "args": "doc --import-map=import_map.json use_import_map.js",
+ "output": "use_import_map.out"
+}
diff --git a/tests/specs/doc/import_map/import_map.json b/tests/specs/doc/import_map/import_map.json
new file mode 100644
index 000000000..244a30296
--- /dev/null
+++ b/tests/specs/doc/import_map/import_map.json
@@ -0,0 +1,5 @@
+{
+ "imports": {
+ "rex/": "./module/"
+ }
+}
diff --git a/tests/specs/doc/import_map/module/fun.js b/tests/specs/doc/import_map/module/fun.js
new file mode 100644
index 000000000..28901d945
--- /dev/null
+++ b/tests/specs/doc/import_map/module/fun.js
@@ -0,0 +1,2 @@
+/** This is some documentation */
+export function fun(_a, _b) {}
diff --git a/tests/specs/doc/import_map/use_import_map.js b/tests/specs/doc/import_map/use_import_map.js
new file mode 100644
index 000000000..672a7a7bd
--- /dev/null
+++ b/tests/specs/doc/import_map/use_import_map.js
@@ -0,0 +1 @@
+export { fun } from "rex/fun.js";
diff --git a/tests/specs/doc/import_map/use_import_map.out b/tests/specs/doc/import_map/use_import_map.out
new file mode 100644
index 000000000..5b455c0d6
--- /dev/null
+++ b/tests/specs/doc/import_map/use_import_map.out
@@ -0,0 +1,5 @@
+Defined in [WILDCARD]/module/fun.js:2:1
+
+function fun(_a, _b): void
+ This is some documentation
+
diff --git a/tests/specs/doc/invalid_url/__test__.jsonc b/tests/specs/doc/invalid_url/__test__.jsonc
new file mode 100644
index 000000000..58266267f
--- /dev/null
+++ b/tests/specs/doc/invalid_url/__test__.jsonc
@@ -0,0 +1,5 @@
+{
+ "args": "doc https://raw.githubusercontent.com%2Fdyedgreen%2Fdeno-sqlite%2Frework_api%2Fmod.ts",
+ "output": "invalid_url.out",
+ "exitCode": 1
+}
diff --git a/tests/specs/doc/invalid_url/invalid_url.out b/tests/specs/doc/invalid_url/invalid_url.out
new file mode 100644
index 000000000..038c53177
--- /dev/null
+++ b/tests/specs/doc/invalid_url/invalid_url.out
@@ -0,0 +1,4 @@
+error: Invalid URL 'https://raw.githubusercontent.com%2Fdyedgreen%2Fdeno-sqlite%2Frework_api%2Fmod.ts'
+
+Caused by:
+ invalid domain character
diff --git a/tests/specs/doc/lint_html_success/__test__.jsonc b/tests/specs/doc/lint_html_success/__test__.jsonc
new file mode 100644
index 000000000..64153f1b2
--- /dev/null
+++ b/tests/specs/doc/lint_html_success/__test__.jsonc
@@ -0,0 +1,5 @@
+{
+ "tempDir": true,
+ "args": "doc --lint --html --name=Library lint_success.ts",
+ "output": "lint_success_html.out"
+}
diff --git a/tests/specs/doc/lint_html_success/lint_success.ts b/tests/specs/doc/lint_html_success/lint_success.ts
new file mode 100644
index 000000000..42c44b2d7
--- /dev/null
+++ b/tests/specs/doc/lint_html_success/lint_success.ts
@@ -0,0 +1,5 @@
+/** My test class. */
+export class Test {
+ /** My property. */
+ prop: string;
+}
diff --git a/tests/specs/doc/lint_html_success/lint_success_html.out b/tests/specs/doc/lint_html_success/lint_success_html.out
new file mode 100644
index 000000000..783dd5927
--- /dev/null
+++ b/tests/specs/doc/lint_html_success/lint_success_html.out
@@ -0,0 +1 @@
+Written 12 files to "./docs/"
diff --git a/tests/specs/doc/lint_json_success/__test__.jsonc b/tests/specs/doc/lint_json_success/__test__.jsonc
new file mode 100644
index 000000000..e4c71af78
--- /dev/null
+++ b/tests/specs/doc/lint_json_success/__test__.jsonc
@@ -0,0 +1,4 @@
+{
+ "args": "doc --lint --json lint_success.ts",
+ "output": "lint_success_json.out"
+}
diff --git a/tests/specs/doc/lint_json_success/lint_success.ts b/tests/specs/doc/lint_json_success/lint_success.ts
new file mode 100644
index 000000000..42c44b2d7
--- /dev/null
+++ b/tests/specs/doc/lint_json_success/lint_success.ts
@@ -0,0 +1,5 @@
+/** My test class. */
+export class Test {
+ /** My property. */
+ prop: string;
+}
diff --git a/tests/specs/doc/lint_json_success/lint_success_json.out b/tests/specs/doc/lint_json_success/lint_success_json.out
new file mode 100644
index 000000000..19f04c6a8
--- /dev/null
+++ b/tests/specs/doc/lint_json_success/lint_success_json.out
@@ -0,0 +1,51 @@
+[
+ {
+ "name": "Test",
+ "isDefault": false,
+ "location": {
+ "filename": "file:///[WILDCARD]/lint_success.ts",
+ "line": 2,
+ "col": 0,
+ "byteIndex": 22
+ },
+ "declarationKind": "export",
+ "jsDoc": {
+ "doc": "My test class."
+ },
+ "kind": "class",
+ "classDef": {
+ "isAbstract": false,
+ "constructors": [],
+ "properties": [
+ {
+ "jsDoc": {
+ "doc": "My property."
+ },
+ "tsType": {
+ "repr": "string",
+ "kind": "keyword",
+ "keyword": "string"
+ },
+ "readonly": false,
+ "accessibility": null,
+ "optional": false,
+ "isAbstract": false,
+ "isStatic": false,
+ "name": "prop",
+ "location": {
+ "filename": "file:///[WILDCARD]/lint_success.ts",
+ "line": 4,
+ "col": 2,
+ "byteIndex": 66
+ }
+ }
+ ],
+ "indexSignatures": [],
+ "methods": [],
+ "extends": null,
+ "implements": [],
+ "typeParams": [],
+ "superTypeParams": []
+ }
+ }
+]
diff --git a/tests/specs/doc/lint_referenced_private_types_error/__test__.jsonc b/tests/specs/doc/lint_referenced_private_types_error/__test__.jsonc
new file mode 100644
index 000000000..7564883a8
--- /dev/null
+++ b/tests/specs/doc/lint_referenced_private_types_error/__test__.jsonc
@@ -0,0 +1,5 @@
+{
+ "args": "doc --lint referenced_private_types.ts",
+ "exitCode": 1,
+ "output": "referenced_private_types_lint.out"
+}
diff --git a/tests/specs/doc/lint_referenced_private_types_error/referenced_private_types.ts b/tests/specs/doc/lint_referenced_private_types_error/referenced_private_types.ts
new file mode 100644
index 000000000..9570d4625
--- /dev/null
+++ b/tests/specs/doc/lint_referenced_private_types_error/referenced_private_types.ts
@@ -0,0 +1,7 @@
+interface MyInterface {
+ prop?: string;
+}
+
+export class MyClass {
+ prop: MyInterface = {};
+}
diff --git a/tests/specs/doc/lint_referenced_private_types_error/referenced_private_types_lint.out b/tests/specs/doc/lint_referenced_private_types_error/referenced_private_types_lint.out
new file mode 100644
index 000000000..1de3247bf
--- /dev/null
+++ b/tests/specs/doc/lint_referenced_private_types_error/referenced_private_types_lint.out
@@ -0,0 +1,29 @@
+error[missing-jsdoc]: exported symbol is missing JSDoc documentation
+ --> [WILDCARD]:5:1
+ |
+5 | export class MyClass {
+ | ^
+
+
+error[private-type-ref]: public type 'MyClass.prototype.prop' references private type 'MyInterface'
+ --> [WILDCARD]:6:3
+ |
+6 | prop: MyInterface = {};
+ | ^
+ = hint: make the referenced type public or remove the reference
+ |
+1 | interface MyInterface {
+ | - this is the referenced type
+ |
+
+ info: to ensure documentation is complete all types that are exposed in the public API must be public
+
+
+error[missing-jsdoc]: exported symbol is missing JSDoc documentation
+ --> [WILDCARD]:6:3
+ |
+6 | prop: MyInterface = {};
+ | ^
+
+
+error: Found 3 documentation lint errors.
diff --git a/tests/specs/doc/lint_referenced_private_types_fixed/__test__.jsonc b/tests/specs/doc/lint_referenced_private_types_fixed/__test__.jsonc
new file mode 100644
index 000000000..01c579f72
--- /dev/null
+++ b/tests/specs/doc/lint_referenced_private_types_fixed/__test__.jsonc
@@ -0,0 +1,4 @@
+{
+ "args": "doc --lint referenced_private_types_fixed.ts",
+ "output": "referenced_private_types_fixed.out"
+}
diff --git a/tests/specs/doc/lint_referenced_private_types_fixed/referenced_private_types_fixed.out b/tests/specs/doc/lint_referenced_private_types_fixed/referenced_private_types_fixed.out
new file mode 100644
index 000000000..c05ac45a1
--- /dev/null
+++ b/tests/specs/doc/lint_referenced_private_types_fixed/referenced_private_types_fixed.out
@@ -0,0 +1 @@
+Checked 1 file
diff --git a/tests/specs/doc/lint_referenced_private_types_fixed/referenced_private_types_fixed.ts b/tests/specs/doc/lint_referenced_private_types_fixed/referenced_private_types_fixed.ts
new file mode 100644
index 000000000..cd99bc76e
--- /dev/null
+++ b/tests/specs/doc/lint_referenced_private_types_fixed/referenced_private_types_fixed.ts
@@ -0,0 +1,11 @@
+/** Doc comment */
+export interface MyInterface {
+ /** Doc comment */
+ prop?: string;
+}
+
+/** Doc comment */
+export class MyClass {
+ /** Doc comment */
+ prop: MyInterface = {};
+}
diff --git a/tests/specs/doc/lint_success/__test__.jsonc b/tests/specs/doc/lint_success/__test__.jsonc
new file mode 100644
index 000000000..dc8c6a0e8
--- /dev/null
+++ b/tests/specs/doc/lint_success/__test__.jsonc
@@ -0,0 +1,4 @@
+{
+ "args": "doc --lint lint_success.ts",
+ "output": "lint_success.out"
+}
diff --git a/tests/specs/doc/lint_success/lint_success.out b/tests/specs/doc/lint_success/lint_success.out
new file mode 100644
index 000000000..c05ac45a1
--- /dev/null
+++ b/tests/specs/doc/lint_success/lint_success.out
@@ -0,0 +1 @@
+Checked 1 file
diff --git a/tests/specs/doc/lint_success/lint_success.ts b/tests/specs/doc/lint_success/lint_success.ts
new file mode 100644
index 000000000..42c44b2d7
--- /dev/null
+++ b/tests/specs/doc/lint_success/lint_success.ts
@@ -0,0 +1,5 @@
+/** My test class. */
+export class Test {
+ /** My property. */
+ prop: string;
+}
diff --git a/tests/specs/doc/referenced_private_types/__test__.jsonc b/tests/specs/doc/referenced_private_types/__test__.jsonc
new file mode 100644
index 000000000..183ff65f9
--- /dev/null
+++ b/tests/specs/doc/referenced_private_types/__test__.jsonc
@@ -0,0 +1,4 @@
+{
+ "args": "doc referenced_private_types.ts",
+ "output": "referenced_private_types.out"
+}
diff --git a/tests/specs/doc/referenced_private_types/referenced_private_types.out b/tests/specs/doc/referenced_private_types/referenced_private_types.out
new file mode 100644
index 000000000..0aa9973b7
--- /dev/null
+++ b/tests/specs/doc/referenced_private_types/referenced_private_types.out
@@ -0,0 +1,12 @@
+Defined in file:///[WILDCARD]/referenced_private_types.ts:5:1
+
+class MyClass
+
+ prop: MyInterface
+
+Defined in file:///[WILDCARD]/referenced_private_types.ts:1:1
+
+private interface MyInterface
+
+ prop?: string
+
diff --git a/tests/specs/doc/referenced_private_types/referenced_private_types.ts b/tests/specs/doc/referenced_private_types/referenced_private_types.ts
new file mode 100644
index 000000000..9570d4625
--- /dev/null
+++ b/tests/specs/doc/referenced_private_types/referenced_private_types.ts
@@ -0,0 +1,7 @@
+interface MyInterface {
+ prop?: string;
+}
+
+export class MyClass {
+ prop: MyInterface = {};
+}
diff --git a/tests/specs/doc/types_header/__test__.jsonc b/tests/specs/doc/types_header/__test__.jsonc
new file mode 100644
index 000000000..586fca28b
--- /dev/null
+++ b/tests/specs/doc/types_header/__test__.jsonc
@@ -0,0 +1,4 @@
+{
+ "args": "doc --reload types_header.ts",
+ "output": "types_header.out"
+}
diff --git a/tests/specs/doc/types_header/types_header.out b/tests/specs/doc/types_header/types_header.out
new file mode 100644
index 000000000..a97b35dd7
--- /dev/null
+++ b/tests/specs/doc/types_header/types_header.out
@@ -0,0 +1,6 @@
+Download http://127.0.0.1:4545/xTypeScriptTypes.js
+Download http://127.0.0.1:4545/xTypeScriptTypes.d.ts
+Defined in http://127.0.0.1:4545/xTypeScriptTypes.d.ts:1:14
+
+const foo: "foo"
+
diff --git a/tests/specs/doc/types_header/types_header.ts b/tests/specs/doc/types_header/types_header.ts
new file mode 100644
index 000000000..b64c8d000
--- /dev/null
+++ b/tests/specs/doc/types_header/types_header.ts
@@ -0,0 +1 @@
+export * from "http://127.0.0.1:4545/xTypeScriptTypes.js";
diff --git a/tests/specs/doc/types_header_direct/__test__.jsonc b/tests/specs/doc/types_header_direct/__test__.jsonc
new file mode 100644
index 000000000..1dc5b8069
--- /dev/null
+++ b/tests/specs/doc/types_header_direct/__test__.jsonc
@@ -0,0 +1,4 @@
+{
+ "args": "doc --reload http://127.0.0.1:4545/xTypeScriptTypes.js",
+ "output": "types_header.out"
+}
diff --git a/tests/specs/doc/types_header_direct/types_header.out b/tests/specs/doc/types_header_direct/types_header.out
new file mode 100644
index 000000000..a97b35dd7
--- /dev/null
+++ b/tests/specs/doc/types_header_direct/types_header.out
@@ -0,0 +1,6 @@
+Download http://127.0.0.1:4545/xTypeScriptTypes.js
+Download http://127.0.0.1:4545/xTypeScriptTypes.d.ts
+Defined in http://127.0.0.1:4545/xTypeScriptTypes.d.ts:1:14
+
+const foo: "foo"
+
diff --git a/tests/specs/doc/types_hint/__test__.jsonc b/tests/specs/doc/types_hint/__test__.jsonc
new file mode 100644
index 000000000..f320a0f08
--- /dev/null
+++ b/tests/specs/doc/types_hint/__test__.jsonc
@@ -0,0 +1,4 @@
+{
+ "args": "doc types_hint.ts",
+ "output": "types_hint.out"
+}
diff --git a/tests/specs/doc/types_hint/foo.d.ts b/tests/specs/doc/types_hint/foo.d.ts
new file mode 100644
index 000000000..ce39201e1
--- /dev/null
+++ b/tests/specs/doc/types_hint/foo.d.ts
@@ -0,0 +1,2 @@
+/** An exported value. */
+export const foo: string;
diff --git a/tests/specs/doc/types_hint/foo.js b/tests/specs/doc/types_hint/foo.js
new file mode 100644
index 000000000..61d366eb2
--- /dev/null
+++ b/tests/specs/doc/types_hint/foo.js
@@ -0,0 +1 @@
+export const foo = "foo";
diff --git a/tests/specs/doc/types_hint/types_hint.out b/tests/specs/doc/types_hint/types_hint.out
new file mode 100644
index 000000000..a098511f4
--- /dev/null
+++ b/tests/specs/doc/types_hint/types_hint.out
@@ -0,0 +1,5 @@
+Defined in [WILDCARD]/foo.d.ts:2:14
+
+const foo: string
+ An exported value.
+
diff --git a/tests/specs/doc/types_hint/types_hint.ts b/tests/specs/doc/types_hint/types_hint.ts
new file mode 100644
index 000000000..70263bec6
--- /dev/null
+++ b/tests/specs/doc/types_hint/types_hint.ts
@@ -0,0 +1,2 @@
+// @deno-types="./foo.d.ts"
+export * from "./foo.js";
diff --git a/tests/specs/doc/types_ref/__test__.jsonc b/tests/specs/doc/types_ref/__test__.jsonc
new file mode 100644
index 000000000..bfdbf1438
--- /dev/null
+++ b/tests/specs/doc/types_ref/__test__.jsonc
@@ -0,0 +1,4 @@
+{
+ "args": "doc types_ref.js",
+ "output": "types_ref.out"
+}
diff --git a/tests/specs/doc/types_ref/foo.d.ts b/tests/specs/doc/types_ref/foo.d.ts
new file mode 100644
index 000000000..ce39201e1
--- /dev/null
+++ b/tests/specs/doc/types_ref/foo.d.ts
@@ -0,0 +1,2 @@
+/** An exported value. */
+export const foo: string;
diff --git a/tests/specs/doc/types_ref/types_ref.js b/tests/specs/doc/types_ref/types_ref.js
new file mode 100644
index 000000000..b3518e2e7
--- /dev/null
+++ b/tests/specs/doc/types_ref/types_ref.js
@@ -0,0 +1,2 @@
+/// <reference types="./foo.d.ts" />
+export const foo = "foo";
diff --git a/tests/specs/doc/types_ref/types_ref.out b/tests/specs/doc/types_ref/types_ref.out
new file mode 100644
index 000000000..a098511f4
--- /dev/null
+++ b/tests/specs/doc/types_ref/types_ref.out
@@ -0,0 +1,5 @@
+Defined in [WILDCARD]/foo.d.ts:2:14
+
+const foo: string
+ An exported value.
+