@pdfme/pdf-lib
Version:
Create and modify PDF files with JavaScript
58 lines • 2.68 kB
JavaScript
;
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