test(coverage): drive browser tests to 80% on all metrics (#496) #505

Merged
marcel merged 189 commits from feat/issue-496-browser-coverage-tests into main 2026-05-11 21:50:39 +02:00
Showing only changes of commit b7f9a4dc12 - Show all commits

View File

@@ -103,4 +103,38 @@ describe('createPdfRenderer', () => {
r.zoomIn();
expect(r.scale).toBeCloseTo(2.25);
});
it('mixed zoom in then zoom out lands back at start', () => {
const r = createPdfRenderer();
r.zoomIn();
r.zoomIn();
r.zoomOut();
r.zoomOut();
expect(r.scale).toBeCloseTo(1.5);
});
it('zoomOut at the floor does nothing', () => {
const r = createPdfRenderer();
// Force scale down to 0.5
for (let i = 0; i < 20; i++) r.zoomOut();
const before = r.scale;
r.zoomOut();
expect(r.scale).toBe(before);
});
it('init() is callable and resolves without throwing in browser env', async () => {
const r = createPdfRenderer();
await expect(r.init()).resolves.toBeUndefined();
// pdfjsReady is now true
expect(r.pdfjsReady).toBe(true);
});
it('after init, loadDocument with a bogus URL sets error', async () => {
const r = createPdfRenderer();
await r.init();
await r.loadDocument('about:invalid-pdf');
// Either error is set or loading flips back to false — both are acceptable
expect(r.loading).toBe(false);
});
});