mirror of
https://github.com/mozilla/pdf.js.git
synced 2026-07-11 09:35:49 +02:00
Merge pull request #21541 from Snuffleupagus/signature-api-unittests
Add API unit-tests for `getSignatures` and `getSignatureData` (PR 21247 follow-up)
This commit is contained in:
commit
330cc4f2f4
@ -2109,6 +2109,90 @@ describe("api", function () {
|
|||||||
await loadingTask.destroy();
|
await loadingTask.destroy();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("gets non-existent signatures and signatureData", async function () {
|
||||||
|
const signatures = await pdfDocument.getSignatures();
|
||||||
|
expect(signatures).toBeNull();
|
||||||
|
|
||||||
|
const signatureData = await pdfDocument.getSignatureData("qwerty");
|
||||||
|
expect(signatureData).toBeNull();
|
||||||
|
});
|
||||||
|
|
||||||
|
it("gets signatures and signatureData", async function () {
|
||||||
|
const loadingTask = getDocument(buildGetDocumentParams("issue20433.pdf"));
|
||||||
|
const pdfDoc = await loadingTask.promise;
|
||||||
|
const signatures = await pdfDoc.getSignatures();
|
||||||
|
|
||||||
|
expect(signatures).toEqual([
|
||||||
|
{
|
||||||
|
id: "70R:0-435961-437515-34098",
|
||||||
|
fieldName: "Sig2",
|
||||||
|
signerName: null,
|
||||||
|
reason: null,
|
||||||
|
location: null,
|
||||||
|
contactInfo: null,
|
||||||
|
signingTime: "D:20251101152937Z",
|
||||||
|
filter: "Adobe.PPKLite",
|
||||||
|
subFilter: "ETSI.CAdES.detached",
|
||||||
|
signatureType: null,
|
||||||
|
byteRange: [0, 435961, 437515, 34098],
|
||||||
|
revisionIndex: 0,
|
||||||
|
parentId: null,
|
||||||
|
coversWholeDocument: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "49R:0-60285-74083-357914",
|
||||||
|
fieldName: "Sig1",
|
||||||
|
signerName: "Richard III",
|
||||||
|
reason: "Royal Seal of Approval",
|
||||||
|
location: null,
|
||||||
|
contactInfo: null,
|
||||||
|
signingTime: "D:20251101162754+01'00'",
|
||||||
|
filter: "Adobe.PPKLite",
|
||||||
|
subFilter: "ETSI.CAdES.detached",
|
||||||
|
signatureType: null,
|
||||||
|
byteRange: [0, 60285, 74083, 357914],
|
||||||
|
revisionIndex: 1,
|
||||||
|
parentId: "70R:0-435961-437515-34098",
|
||||||
|
coversWholeDocument: false,
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
|
||||||
|
const sigIds = signatures.map(s => s.id);
|
||||||
|
const sigData = await Promise.all(
|
||||||
|
sigIds.map(id => pdfDoc.getSignatureData(id))
|
||||||
|
);
|
||||||
|
expect(sigData.length).toEqual(2);
|
||||||
|
|
||||||
|
const expectedLengths = [
|
||||||
|
{
|
||||||
|
data0Len: 435961,
|
||||||
|
data1Len: 34098,
|
||||||
|
pkcs7Len: 776,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
data0Len: 60285,
|
||||||
|
data1Len: 357914,
|
||||||
|
pkcs7Len: 6898,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
for (const [i, s] of sigData.entries()) {
|
||||||
|
const { data, pkcs7 } = s;
|
||||||
|
const { data0Len, data1Len, pkcs7Len } = expectedLengths[i];
|
||||||
|
|
||||||
|
expect(data.length).toEqual(2);
|
||||||
|
expect(data[0]).toBeInstanceOf(Uint8Array);
|
||||||
|
expect(data[0].length).toEqual(data0Len);
|
||||||
|
expect(data[1]).toBeInstanceOf(Uint8Array);
|
||||||
|
expect(data[1].length).toEqual(data1Len);
|
||||||
|
|
||||||
|
expect(pkcs7).toBeInstanceOf(Uint8Array);
|
||||||
|
expect(pkcs7.length).toEqual(pkcs7Len);
|
||||||
|
}
|
||||||
|
|
||||||
|
await loadingTask.destroy();
|
||||||
|
});
|
||||||
|
|
||||||
it("gets non-existent calculationOrder", async function () {
|
it("gets non-existent calculationOrder", async function () {
|
||||||
const calculationOrder = await pdfDocument.getCalculationOrderIds();
|
const calculationOrder = await pdfDocument.getCalculationOrderIds();
|
||||||
expect(calculationOrder).toEqual(null);
|
expect(calculationOrder).toEqual(null);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user