fix(#535): eliminate vi.mock(pdfjs-dist) birpc teardown race via libLoader injection #536

Merged
marcel merged 18 commits from feat/issue-535-birpc-teardown-race into main 2026-05-12 09:57:30 +02:00
Showing only changes of commit dd9f6f56c5 - Show all commits

View File

@@ -2,6 +2,7 @@ import { vi, describe, it, expect, afterEach } from 'vitest';
import { cleanup, render } from 'vitest-browser-svelte';
import { page } from 'vitest/browser';
import type { createPdfRenderer } from '$lib/document/viewer/usePdfRenderer.svelte';
import PdfViewer from './PdfViewer.svelte';
afterEach(cleanup);
@@ -23,6 +24,7 @@ function makeFakePdfjsLib() {
})
}),
TextLayer: TextLayerMock
// Partial fake: only the methods used by usePdfRenderer are implemented
} as unknown as typeof import('pdfjs-dist');
}
@@ -31,8 +33,6 @@ function makeFakeLibLoader(): Parameters<typeof createPdfRenderer>[0] {
return vi.fn().mockResolvedValue([fakePdfjs, { default: '' }] as const);
}
import PdfViewer from './PdfViewer.svelte';
describe('PdfViewer', () => {
it('shows previous and next page navigation buttons', async () => {
render(PdfViewer, { url: '/api/documents/test-id/file', libLoader: makeFakeLibLoader() });