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