UNPKG

@pdfme/pdf-lib

Version:

Create and modify PDF files with JavaScript

58 lines 2.68 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const fs_1 = __importDefault(require("fs")); const utils_1 = require("../../src/utils"); const pdfBytes = fs_1.default.readFileSync(`${__dirname}/data/simple.pdf`); const pdfBase64Bytes = fs_1.default.readFileSync(`${__dirname}/data/simple.pdf.base64`); // Jest stalls when comparing large arrays, so we'll use this instead const arraysAreEqual = (a, b) => { if (a.length !== b.length) return false; for (let idx = 0, len = a.length; idx < len; idx++) { if (a[idx] !== b[idx]) return false; } return true; }; describe(`decodeFromBase64DataUri`, () => { it(`can decode plain base64 strings`, () => { const uri = String(pdfBase64Bytes); expect(arraysAreEqual((0, utils_1.decodeFromBase64DataUri)(uri), pdfBytes)).toBe(true); }); it(`can decode complete data URIs`, () => { const uri = `data:application/pdf;base64,${pdfBase64Bytes}`; expect(arraysAreEqual((0, utils_1.decodeFromBase64DataUri)(uri), pdfBytes)).toBe(true); }); it(`can decode partial data URIs (1)`, () => { const uri = `data:application/pdf;,${pdfBase64Bytes}`; expect(arraysAreEqual((0, utils_1.decodeFromBase64DataUri)(uri), pdfBytes)).toBe(true); }); it(`can decode partial data URIs (2)`, () => { const uri = `data:;,${pdfBase64Bytes}`; expect(arraysAreEqual((0, utils_1.decodeFromBase64DataUri)(uri), pdfBytes)).toBe(true); }); it(`can decode partial data URIs (3)`, () => { const uri = `data:application/pdf;,${pdfBase64Bytes}`; expect(arraysAreEqual((0, utils_1.decodeFromBase64DataUri)(uri), pdfBytes)).toBe(true); }); it(`can decode partial data URIs (4)`, () => { const uri = `:;,${pdfBase64Bytes}`; expect(arraysAreEqual((0, utils_1.decodeFromBase64DataUri)(uri), pdfBytes)).toBe(true); }); it(`can decode partial data URIs (5)`, () => { const uri = `;,${pdfBase64Bytes}`; expect(arraysAreEqual((0, utils_1.decodeFromBase64DataUri)(uri), pdfBytes)).toBe(true); }); it(`can decode partial data URIs (6)`, () => { const uri = `,${pdfBase64Bytes}`; expect(arraysAreEqual((0, utils_1.decodeFromBase64DataUri)(uri), pdfBytes)).toBe(true); }); it(`can throws an error when it fails to parse the URI`, () => { const uri = {}; expect(() => (0, utils_1.decodeFromBase64DataUri)(uri)).toThrow(); }); }); //# sourceMappingURL=base64.spec.js.map