mirror of
https://github.com/deepseek-ai/deepseek-harness.git
synced 2026-09-14 04:01:35 +00:00
test(web): cover preview import recovery and color schemes
This commit is contained in:
@@ -81,6 +81,18 @@ describe('Markdown fence previews', () => {
|
||||
})
|
||||
|
||||
describe('static preview documents', () => {
|
||||
it.each(['light', 'dark'])('uses the document %s color scheme for HTML previews', (scheme) => {
|
||||
const previous = document.documentElement.style.colorScheme
|
||||
try {
|
||||
document.documentElement.style.colorScheme = scheme
|
||||
const doc = renderHtml('<h1>Example</h1>', new AbortController().signal)
|
||||
const parsed = new DOMParser().parseFromString(doc, 'text/html')
|
||||
expect(parsed.documentElement.style.colorScheme).toBe(scheme)
|
||||
} finally {
|
||||
document.documentElement.style.colorScheme = previous
|
||||
}
|
||||
})
|
||||
|
||||
it('preserves HTML styling while removing scripts, navigation, and nested documents', () => {
|
||||
const doc = renderHtml(`<!doctype html><html><head><style>h1 { color: green }</style>
|
||||
<meta http-equiv="refresh" content="0;url=https://example.com"><base href="https://example.com"></head>
|
||||
|
||||
@@ -13,6 +13,17 @@ beforeEach(() => {
|
||||
afterEach(() => { vi.doUnmock('mermaid') })
|
||||
|
||||
describe('Mermaid runtime', () => {
|
||||
it('allows another attempt after the runtime import fails', async () => {
|
||||
vi.doMock('mermaid', () => { throw new Error('runtime unavailable') })
|
||||
const { renderMermaid } = await import('../src/markdown/mermaid.ts')
|
||||
await expect(renderMermaid('first', new AbortController().signal)).rejects.toThrow()
|
||||
expect(initialize).not.toHaveBeenCalled()
|
||||
vi.doMock('mermaid', () => ({ default: { initialize, render: renderDiagram } }))
|
||||
renderDiagram.mockResolvedValue({ svg: '<svg/>' })
|
||||
await expect(renderMermaid('retry', new AbortController().signal)).resolves.toContain('data:image/svg+xml')
|
||||
expect(renderDiagram).toHaveBeenCalledOnce()
|
||||
})
|
||||
|
||||
it('accepts native configuration without weakening preview restrictions', async () => {
|
||||
const { renderMermaid } = await import('../src/markdown/mermaid.ts')
|
||||
renderDiagram.mockResolvedValue({ svg: '<svg/>' })
|
||||
|
||||
Reference in New Issue
Block a user