UNPKG

@pdfme/pdf-lib

Version:

Create and modify PDF files with JavaScript

51 lines 2.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const core_1 = require("../../../src/core"); const utils_1 = require("../../../src/utils"); describe(`PDFRef`, () => { it(`can be constructed from PDFRef.of(...)`, () => { expect(core_1.PDFRef.of(0)).toBeInstanceOf(core_1.PDFRef); expect(core_1.PDFRef.of(0, 21)).toBeInstanceOf(core_1.PDFRef); expect(core_1.PDFRef.of(94, 0)).toBeInstanceOf(core_1.PDFRef); expect(core_1.PDFRef.of(4678, 9120)).toBeInstanceOf(core_1.PDFRef); }); it(`cannot be publicly constructed`, () => { expect(() => new core_1.PDFRef({}, 'stuff')).toThrow(new core_1.PrivateConstructorError(core_1.PDFRef.name)); }); it(`returns the same instance when given the same object and generation numbers`, () => { expect(core_1.PDFRef.of(0)).toBe(core_1.PDFRef.of(0)); expect(core_1.PDFRef.of(0, 21)).toBe(core_1.PDFRef.of(0, 21)); expect(core_1.PDFRef.of(94, 0)).toBe(core_1.PDFRef.of(94, 0)); expect(core_1.PDFRef.of(4678, 9120)).toBe(core_1.PDFRef.of(4678, 9120)); }); it(`can be cloned`, () => { expect(core_1.PDFRef.of(4678, 9120).clone()).toBe(core_1.PDFRef.of(4678, 9120)); }); it(`can be converted to a string`, () => { expect(String(core_1.PDFRef.of(0))).toBe(`0 0 R`); expect(String(core_1.PDFRef.of(0, 21))).toBe(`0 21 R`); expect(String(core_1.PDFRef.of(94, 0))).toBe(`94 0 R`); expect(String(core_1.PDFRef.of(4678, 9120))).toBe(`4678 9120 R`); }); it(`can provide its size in bytes`, () => { expect(core_1.PDFRef.of(0).sizeInBytes()).toBe(5); expect(core_1.PDFRef.of(0, 21).sizeInBytes()).toBe(6); expect(core_1.PDFRef.of(94, 0).sizeInBytes()).toBe(6); expect(core_1.PDFRef.of(4678, 9120).sizeInBytes()).toBe(11); }); it(`can be serialized`, () => { const buffer1 = new Uint8Array(9).fill((0, utils_1.toCharCode)(' ')); expect(core_1.PDFRef.of(0).copyBytesInto(buffer1, 3)).toBe(5); expect(buffer1).toEqual((0, utils_1.typedArrayFor)(' 0 0 R ')); const buffer2 = new Uint8Array(9).fill((0, utils_1.toCharCode)(' ')); expect(core_1.PDFRef.of(0, 21).copyBytesInto(buffer2, 1)).toBe(6); expect(buffer2).toEqual((0, utils_1.typedArrayFor)(' 0 21 R ')); const buffer3 = new Uint8Array(9).fill((0, utils_1.toCharCode)(' ')); expect(core_1.PDFRef.of(94, 0).copyBytesInto(buffer3, 2)).toBe(6); expect(buffer3).toEqual((0, utils_1.typedArrayFor)(' 94 0 R ')); const buffer4 = new Uint8Array(13).fill((0, utils_1.toCharCode)(' ')); expect(core_1.PDFRef.of(4678, 9120).copyBytesInto(buffer4, 0)).toBe(11); expect(buffer4).toEqual((0, utils_1.typedArrayFor)('4678 9120 R ')); }); }); //# sourceMappingURL=PDFRef.spec.js.map