返回 slidev
mermaid-renderer.test.ts
根目录 / test / mermaid-renderer.test.ts
1 import type { ResolvedSlidevOptions } from '@slidev/types'
2 import type { VirtualModuleContext } from '../packages/slidev/node/virtual/types'
3 import { describe, expect, it } from 'vitest'
4 import { templateSetups } from '../packages/slidev/node/virtual/setups'
5
6 describe('mermaid-renderer virtual module', () => {
7 it('registers /@slidev/setups/mermaid-renderer', () => {
8 const ids = templateSetups.map(t => t.id)
9 expect(ids).toContain('/@slidev/setups/mermaid-renderer')
10 })
11
12 it('generates content with mermaid-renderer glob', () => {
13 const template = templateSetups.find(t => t.id === '/@slidev/setups/mermaid-renderer')!
14 const context: VirtualModuleContext = {
15 makeAbsoluteImportGlob: () => '/node_modules/.slidev/virtual/setups/mermaid-renderer.test.ts',
16 resolve: async () => null,
17 }
18 const content = template.getContent.call(context, {
19 userRoot: '/user/project',
20 roots: ['/user/project'],
21 } as ResolvedSlidevOptions)
22
23 expect(content).toContain('mermaid-renderer')
24 expect(content).toContain('import __slidev_setup_0 from "/node_modules/.slidev/virtual/setups/mermaid-renderer.test.ts"')
25 expect(content).toContain('export default')
26 expect(content).toContain('filter(Boolean)')
27 })
28
29 it('comes after mermaid in templateSetups', () => {
30 const ids = templateSetups.map(t => t.id)
31 const mermaidIdx = ids.indexOf('/@slidev/setups/mermaid')
32 const rendererIdx = ids.indexOf('/@slidev/setups/mermaid-renderer')
33 expect(mermaidIdx).toBeGreaterThanOrEqual(0)
34 expect(rendererIdx).toBeGreaterThan(mermaidIdx)
35 })
36 })
37
37 lines TYPESCRIPT