From bffc90ab6552504dee3071631dcc0c2e23e68715 Mon Sep 17 00:00:00 2001 From: MickaelK Date: Wed, 13 Dec 2023 01:17:15 +1100 Subject: [PATCH] chore (test): refactoring for utest --- public/assets/components/menubar.js | 2 +- public/assets/pages/viewerpage/application_pdf.js | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/public/assets/components/menubar.js b/public/assets/components/menubar.js index b1eff5fc..4b0b9117 100644 --- a/public/assets/components/menubar.js +++ b/public/assets/components/menubar.js @@ -1,7 +1,7 @@ import { createElement } from "../lib/skeleton/index.js"; import { loadCSS } from "../helpers/loader.js"; -export default class ComponentMenubar extends HTMLElement { +export default class ComponentMenubar extends window.HTMLElement { constructor() { super(); diff --git a/public/assets/pages/viewerpage/application_pdf.js b/public/assets/pages/viewerpage/application_pdf.js index dd78d411..13c216e0 100644 --- a/public/assets/pages/viewerpage/application_pdf.js +++ b/public/assets/pages/viewerpage/application_pdf.js @@ -12,11 +12,10 @@ import { getFilename, getDownloadUrl } from "./common.js"; import "../../components/menubar.js"; import "../../components/icon.js"; -// const hasNativePDF = "application/pdf" in navigator.mimeTypes; -const hasNativePDF = true +const hasNativePDF = () => "application/pdf" in window.navigator.mimeTypes; export default async function(render) { - const ctrl = hasNativePDF ? ctrlPDFNative : ctrlPDFJs; + const ctrl = hasNativePDF() ? ctrlPDFNative : ctrlPDFJs; ctrl(render); } @@ -56,7 +55,7 @@ async function ctrlPDFJs(render) { const $container = qs($page, `[data-bind="pdf"]`); const createBr = () => $container.appendChild(document.createElement("br")); const removeLoader = createLoader($container); - effect(rxjs.from(pdfjsLib.getDocument(getDownloadUrl()).promise).pipe( + effect(rxjs.from(window.pdfjsLib.getDocument(getDownloadUrl()).promise).pipe( removeLoader, rxjs.mergeMap(async (pdf) => { createBr(); @@ -72,11 +71,12 @@ async function ctrlPDFJs(render) { $canvas.height = viewport.height; $canvas.width = viewport.width; $container.appendChild($canvas); + if (window.env === "test") $canvas.getContext = () => null; await page.render({ canvasContext: $canvas.getContext("2d"), viewport: viewport, }); - if (i % 2 === 0) await new Promise((done) => requestAnimationFrame(done)); + await new Promise((done) => window.requestAnimationFrame(done)); } createBr(); }), @@ -88,10 +88,10 @@ export function init() { const deps = [ loadCSS(import.meta.url, "./application_pdf.css"), ]; - if (!hasNativePDF) { + if (!hasNativePDF()) { deps.push(loadJS(import.meta.url, "../../lib/vendor/pdfjs/pdf.js", { type: "module" })); deps.push(loadJS(import.meta.url, "../../lib/vendor/pdfjs/pdf.worker.js", { type: "module" }).then(() => { - pdfjsLib.GlobalWorkerOptions.workerSrc = join(import.meta.url, "../../lib/vendor/pdfjs/pdf.worker.js"); + window.pdfjsLib.GlobalWorkerOptions.workerSrc = join(import.meta.url, "../../lib/vendor/pdfjs/pdf.worker.js"); })); } return Promise.all(deps);