1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-26 01:58:06 +02:00

Implement unit and reference testing for FileAttachment annotations

This commit is contained in:
Tim van der Meij 2016-02-14 21:27:53 +01:00
parent 6a33dfd13a
commit 10902fd882
4 changed files with 54 additions and 1 deletions

View file

@ -1,9 +1,25 @@
/* globals expect, it, describe, Dict, Name, Annotation, AnnotationBorderStyle,
AnnotationBorderStyleType, AnnotationFlag */
AnnotationBorderStyleType, AnnotationFlag, PDFJS, combineUrl,
waitsFor, beforeEach, afterEach, stringToBytes */
'use strict';
describe('Annotation layer', function() {
function waitsForPromiseResolved(promise, successCallback) {
var resolved = false;
promise.then(function(val) {
resolved = true;
successCallback(val);
},
function(error) {
// Shouldn't get here.
expect(error).toEqual('the promise should not have been rejected');
});
waitsFor(function() {
return resolved;
}, 20000);
}
describe('Annotation', function() {
it('should set and get flags', function() {
var dict = new Dict();
@ -172,4 +188,33 @@ describe('Annotation layer', function() {
expect(borderStyle.verticalCornerRadius).toEqual(0);
});
});
describe('FileAttachmentAnnotation', function() {
var loadingTask;
var annotations;
beforeEach(function() {
var pdfUrl = combineUrl(window.location.href,
'../pdfs/annotation-fileattachment.pdf');
loadingTask = PDFJS.getDocument(pdfUrl);
waitsForPromiseResolved(loadingTask.promise, function(pdfDocument) {
waitsForPromiseResolved(pdfDocument.getPage(1), function(pdfPage) {
waitsForPromiseResolved(pdfPage.getAnnotations(),
function (pdfAnnotations) {
annotations = pdfAnnotations;
});
});
});
});
afterEach(function() {
loadingTask.destroy();
});
it('should correctly parse a file attachment', function() {
var annotation = annotations[0];
expect(annotation.file.filename).toEqual('Test.txt');
expect(annotation.file.content).toEqual(stringToBytes('Test attachment'));
});
});
});