chore (test): refactoring for utest

This commit is contained in:
MickaelK
2023-12-13 01:17:15 +11:00
parent 45efb8accb
commit bffc90ab65
2 changed files with 8 additions and 8 deletions
+1 -1
View File
@@ -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();
@@ -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);