diff options
| author | ST-DDT <[email protected]> | 2023-04-28 15:23:50 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-04-28 13:23:50 +0000 |
| commit | 3cfeb3814703d12a9e95ed684fc2c8f94d1f2c72 (patch) | |
| tree | 0c9f4148244bfd02d9131132366ff59a8b941673 /test | |
| parent | 971f36371bf924b334cb7766fd87afa7b484119a (diff) | |
| download | faker-3cfeb3814703d12a9e95ed684fc2c8f94d1f2c72.tar.xz faker-3cfeb3814703d12a9e95ed684fc2c8f94d1f2c72.zip | |
docs: fix full url to absolute conversion (#2101)
Diffstat (limited to 'test')
| -rw-r--r-- | test/scripts/apidoc/__snapshots__/module.spec.ts.snap | 24 | ||||
| -rw-r--r-- | test/scripts/apidoc/module.example.ts | 11 | ||||
| -rw-r--r-- | test/scripts/apidoc/module.spec.ts | 27 | ||||
| -rw-r--r-- | test/scripts/apidoc/tsconfig.json | 2 | ||||
| -rw-r--r-- | test/scripts/apidoc/utils.ts | 20 |
5 files changed, 83 insertions, 1 deletions
diff --git a/test/scripts/apidoc/__snapshots__/module.spec.ts.snap b/test/scripts/apidoc/__snapshots__/module.spec.ts.snap new file mode 100644 index 00000000..b3584e13 --- /dev/null +++ b/test/scripts/apidoc/__snapshots__/module.spec.ts.snap @@ -0,0 +1,24 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`module > analyzeModule() > ModuleFakerJsLinkTest 1`] = ` +{ + "comment": "Description with a link to our [website](/) +and [api docs](/api/).", + "deprecated": undefined, +} +`; + +exports[`module > analyzeModule() > ModuleNextFakerJsLinkTest 1`] = ` +{ + "comment": "Description with a link to our [website](/) +and [api docs](/api/).", + "deprecated": undefined, +} +`; + +exports[`module > analyzeModule() > expected and actual modules are equal 1`] = ` +[ + "ModuleFakerJsLinkTest", + "ModuleNextFakerJsLinkTest", +] +`; diff --git a/test/scripts/apidoc/module.example.ts b/test/scripts/apidoc/module.example.ts new file mode 100644 index 00000000..ef646659 --- /dev/null +++ b/test/scripts/apidoc/module.example.ts @@ -0,0 +1,11 @@ +/** + * Description with a link to our [website](https://fakerjs.dev/) + * and [api docs](https://fakerjs.dev/api/). + */ +export class ModuleFakerJsLinkTest {} + +/** + * Description with a link to our [website](https://next.fakerjs.dev/) + * and [api docs](https://next.fakerjs.dev/api/). + */ +export class ModuleNextFakerJsLinkTest {} diff --git a/test/scripts/apidoc/module.spec.ts b/test/scripts/apidoc/module.spec.ts new file mode 100644 index 00000000..11a957aa --- /dev/null +++ b/test/scripts/apidoc/module.spec.ts @@ -0,0 +1,27 @@ +import { beforeAll, describe, expect, it } from 'vitest'; +import { initMarkdownRenderer } from '../../../scripts/apidoc/markdown'; +import { analyzeModule } from '../../../scripts/apidoc/moduleMethods'; +import * as ModuleTests from './module.example'; +import { loadExampleModules } from './utils'; + +describe('module', () => { + describe('analyzeModule()', () => { + const modules = loadExampleModules(); + + beforeAll(initMarkdownRenderer); + + it('dummy dependency to rerun the test if the example changes', () => { + expect(Object.keys(ModuleTests)).not.toEqual([]); + }); + + it('expected and actual modules are equal', () => { + expect(Object.keys(modules).sort()).toMatchSnapshot(); + }); + + it.each(Object.entries(modules))('%s', (_, module) => { + const actual = analyzeModule(module); + + expect(actual).toMatchSnapshot(); + }); + }); +}); diff --git a/test/scripts/apidoc/tsconfig.json b/test/scripts/apidoc/tsconfig.json index 0f7afc34..dafe3a14 100644 --- a/test/scripts/apidoc/tsconfig.json +++ b/test/scripts/apidoc/tsconfig.json @@ -2,5 +2,5 @@ "compilerOptions": { "target": "ES5" }, - "include": ["signature.example.ts"] + "include": ["signature.example.ts", "module.example.ts"] } diff --git a/test/scripts/apidoc/utils.ts b/test/scripts/apidoc/utils.ts index 281fb2ef..2addfe65 100644 --- a/test/scripts/apidoc/utils.ts +++ b/test/scripts/apidoc/utils.ts @@ -39,3 +39,23 @@ export function loadExampleMethods(): Record<string, SignatureReflection> { true )['SignatureTest'][1]; } + +/** + * Loads the example modules using TypeDoc. + */ +export function loadExampleModules(): Record<string, DeclarationReflection> { + const modules = loadProjectModules( + { + entryPoints: ['test/scripts/apidoc/module.example.ts'], + tsconfig: 'test/scripts/apidoc/tsconfig.json', + }, + true + ); + + const result: Record<string, DeclarationReflection> = {}; + for (const key in modules) { + result[key] = modules[key][0]; + } + + return result; +} |
