fix(web,api): lecteur PDF — options pdf.js, assets cmaps/fonts et recherche sans limite par défaut
This commit is contained in:
@ -1,5 +1,6 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { epubFileName } from "./EpubReader";
|
||||
import { pdfDocumentOptions } from "./pdfDocumentOptions";
|
||||
import { clampReaderPage, containPageSize, nextReaderPage, orientedContainPageSize, previousReaderPage, readableViewportSize, readerPositionLabel } from "./readerLayout";
|
||||
import { classifyPdfCanvas, pdfCanvasHasVisibleContent, pdfCanvasVisible, pdfRenderScale } from "./pdfRender";
|
||||
import { configurePdfWorker, pdfWorkerSrc } from "./pdfWorker";
|
||||
@ -28,6 +29,33 @@ describe("reader runtime helpers", () => {
|
||||
expect(pdfjs.GlobalWorkerOptions.workerSrc).toBe(pdfWorkerSrc);
|
||||
});
|
||||
|
||||
it("builds browser PDF document options with bundled asset URLs", () => {
|
||||
expect(pdfDocumentOptions({ url: "/books/1/file", withCredentials: true }, "browser")).toMatchObject({
|
||||
url: "/books/1/file",
|
||||
withCredentials: true,
|
||||
cMapUrl: "/pdfjs/cmaps/",
|
||||
cMapPacked: true,
|
||||
iccUrl: "/pdfjs/iccs/",
|
||||
standardFontDataUrl: "/pdfjs/standard_fonts/",
|
||||
wasmUrl: "/pdfjs/wasm/",
|
||||
useWorkerFetch: true,
|
||||
useWasm: true
|
||||
});
|
||||
});
|
||||
|
||||
it("builds Node PDF document options with local wasm decoder assets", () => {
|
||||
const data = new Uint8Array([1, 2, 3]);
|
||||
|
||||
expect(pdfDocumentOptions({ data, disableWorker: true }, "node")).toMatchObject({
|
||||
data,
|
||||
disableWorker: true,
|
||||
cMapPacked: true,
|
||||
useWorkerFetch: false,
|
||||
useWasm: true
|
||||
});
|
||||
expect(pdfDocumentOptions({ data, disableWorker: true }, "node").wasmUrl).toContain("node_modules/pdfjs-dist/wasm/");
|
||||
});
|
||||
|
||||
it("normalizes reader technical errors", () => {
|
||||
expect(readerErrorMessage(new Error("Setting up fake worker failed"), "PDF indisponible")).toBe("Setting up fake worker failed");
|
||||
expect(readerErrorMessage("", "EPUB indisponible")).toBe("EPUB indisponible");
|
||||
|
||||
Reference in New Issue
Block a user