Updates Jasmine version.
This commit is contained in:
parent
df7afcf004
commit
0a700fa29d
25 changed files with 876 additions and 3803 deletions
|
@ -1,5 +1,5 @@
|
|||
/* globals expect, it, describe, PartialEvaluator, StringStream, OPS,
|
||||
OperatorList, waitsFor, runs, Dict, Name, Stream, WorkerTask */
|
||||
OperatorList, Dict, Name, Stream, WorkerTask */
|
||||
|
||||
'use strict';
|
||||
|
||||
|
@ -29,24 +29,17 @@ describe('evaluator', function() {
|
|||
|
||||
function PdfManagerMock() { }
|
||||
|
||||
function runOperatorListCheck(evaluator, stream, resources, check) {
|
||||
var done = false;
|
||||
runs(function () {
|
||||
var result = new OperatorList();
|
||||
var task = new WorkerTask('OperatorListCheck');
|
||||
evaluator.getOperatorList(stream, task, resources, result).then(
|
||||
function () {
|
||||
check(result);
|
||||
done = true;
|
||||
});
|
||||
});
|
||||
waitsFor(function () {
|
||||
return done;
|
||||
function runOperatorListCheck(evaluator, stream, resources, callback) {
|
||||
var result = new OperatorList();
|
||||
var task = new WorkerTask('OperatorListCheck');
|
||||
evaluator.getOperatorList(stream, task, resources, result).then(
|
||||
function () {
|
||||
callback(result);
|
||||
});
|
||||
}
|
||||
|
||||
describe('splitCombinedOperations', function() {
|
||||
it('should reject unknown operations', function() {
|
||||
it('should reject unknown operations', function(done) {
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
|
@ -58,10 +51,11 @@ describe('evaluator', function() {
|
|||
expect(result.fnArray.length).toEqual(1);
|
||||
expect(result.fnArray[0]).toEqual(OPS.fill);
|
||||
expect(result.argsArray[0]).toEqual(null);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should handle one operations', function() {
|
||||
it('should handle one operations', function(done) {
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
|
@ -71,10 +65,11 @@ describe('evaluator', function() {
|
|||
expect(!!result.fnArray && !!result.argsArray).toEqual(true);
|
||||
expect(result.fnArray.length).toEqual(1);
|
||||
expect(result.fnArray[0]).toEqual(OPS.restore);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should handle two glued operations', function() {
|
||||
it('should handle two glued operations', function(done) {
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
|
@ -86,10 +81,11 @@ describe('evaluator', function() {
|
|||
expect(result.fnArray.length).toEqual(2);
|
||||
expect(result.fnArray[0]).toEqual(OPS.paintXObject);
|
||||
expect(result.fnArray[1]).toEqual(OPS.restore);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should handle tree glued operations', function() {
|
||||
it('should handle tree glued operations', function(done) {
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
|
@ -101,10 +97,11 @@ describe('evaluator', function() {
|
|||
expect(result.fnArray[0]).toEqual(OPS.fill);
|
||||
expect(result.fnArray[1]).toEqual(OPS.fill);
|
||||
expect(result.fnArray[2]).toEqual(OPS.fill);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should handle three glued operations #2', function() {
|
||||
it('should handle three glued operations #2', function(done) {
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
|
@ -117,10 +114,11 @@ describe('evaluator', function() {
|
|||
expect(result.fnArray[0]).toEqual(OPS.eoFillStroke);
|
||||
expect(result.fnArray[1]).toEqual(OPS.fillStroke);
|
||||
expect(result.fnArray[2]).toEqual(OPS.eoFill);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should handle glued operations and operands', function() {
|
||||
it('should handle glued operations and operands', function(done) {
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
|
@ -134,10 +132,11 @@ describe('evaluator', function() {
|
|||
expect(result.argsArray.length).toEqual(2);
|
||||
expect(result.argsArray[1].length).toEqual(1);
|
||||
expect(result.argsArray[1][0]).toEqual(5);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should handle glued operations and literals', function() {
|
||||
it('should handle glued operations and literals', function(done) {
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
|
@ -155,12 +154,13 @@ describe('evaluator', function() {
|
|||
expect(result.argsArray[1].length).toEqual(1);
|
||||
expect(result.argsArray[1][0]).toEqual(false);
|
||||
expect(result.argsArray[2]).toEqual(null);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('validateNumberOfArgs', function() {
|
||||
it('should execute if correct number of arguments', function() {
|
||||
it('should execute if correct number of arguments', function(done) {
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
|
@ -170,9 +170,10 @@ describe('evaluator', function() {
|
|||
expect(result.argsArray[0][0]).toEqual(5);
|
||||
expect(result.argsArray[0][1]).toEqual(1);
|
||||
expect(result.fnArray[0]).toEqual(OPS.setCharWidth);
|
||||
done();
|
||||
});
|
||||
});
|
||||
it('should execute if too many arguments', function() {
|
||||
it('should execute if too many arguments', function(done) {
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
|
@ -182,9 +183,10 @@ describe('evaluator', function() {
|
|||
expect(result.argsArray[0][0]).toEqual(1);
|
||||
expect(result.argsArray[0][1]).toEqual(4);
|
||||
expect(result.fnArray[0]).toEqual(OPS.setCharWidth);
|
||||
done();
|
||||
});
|
||||
});
|
||||
it('should execute if nested commands', function() {
|
||||
it('should execute if nested commands', function(done) {
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
|
@ -199,9 +201,10 @@ describe('evaluator', function() {
|
|||
expect(result.argsArray[0].length).toEqual(1);
|
||||
expect(result.argsArray[1].length).toEqual(1);
|
||||
expect(result.argsArray[2].length).toEqual(2);
|
||||
done();
|
||||
});
|
||||
});
|
||||
it('should skip if too few arguments', function() {
|
||||
it('should skip if too few arguments', function(done) {
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
|
@ -210,9 +213,10 @@ describe('evaluator', function() {
|
|||
function (result) {
|
||||
expect(result.argsArray).toEqual([]);
|
||||
expect(result.fnArray).toEqual([]);
|
||||
done();
|
||||
});
|
||||
});
|
||||
it('should close opened saves', function() {
|
||||
it('should close opened saves', function(done) {
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
|
@ -225,9 +229,10 @@ describe('evaluator', function() {
|
|||
expect(result.fnArray[1]).toEqual(OPS.save);
|
||||
expect(result.fnArray[2]).toEqual(OPS.restore);
|
||||
expect(result.fnArray[3]).toEqual(OPS.restore);
|
||||
done();
|
||||
});
|
||||
});
|
||||
it('should skip paintXObject if name is missing', function() {
|
||||
it('should skip paintXObject if name is missing', function(done) {
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
|
@ -236,9 +241,10 @@ describe('evaluator', function() {
|
|||
function (result) {
|
||||
expect(result.argsArray).toEqual([]);
|
||||
expect(result.fnArray).toEqual([]);
|
||||
done();
|
||||
});
|
||||
});
|
||||
it('should skip paintXObject if subtype is PS', function() {
|
||||
it('should skip paintXObject if subtype is PS', function(done) {
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
|
@ -256,51 +262,41 @@ describe('evaluator', function() {
|
|||
runOperatorListCheck(evaluator, stream, resources, function (result) {
|
||||
expect(result.argsArray).toEqual([]);
|
||||
expect(result.fnArray).toEqual([]);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('thread control', function() {
|
||||
it('should abort operator list parsing', function () {
|
||||
it('should abort operator list parsing', function (done) {
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
var stream = new StringStream('qqQQ');
|
||||
var resources = new ResourcesMock();
|
||||
var done = false;
|
||||
runs(function () {
|
||||
var result = new OperatorList();
|
||||
var task = new WorkerTask('OperatorListAbort');
|
||||
task.terminate();
|
||||
evaluator.getOperatorList(stream, task, resources, result).catch(
|
||||
function () {
|
||||
done = true;
|
||||
expect(!!result.fnArray && !!result.argsArray).toEqual(true);
|
||||
expect(result.fnArray.length).toEqual(0);
|
||||
});
|
||||
});
|
||||
waitsFor(function () {
|
||||
return done;
|
||||
});
|
||||
var result = new OperatorList();
|
||||
var task = new WorkerTask('OperatorListAbort');
|
||||
task.terminate();
|
||||
evaluator.getOperatorList(stream, task, resources, result).catch(
|
||||
function () {
|
||||
expect(!!result.fnArray && !!result.argsArray).toEqual(true);
|
||||
expect(result.fnArray.length).toEqual(0);
|
||||
done();
|
||||
});
|
||||
});
|
||||
it('should abort text parsing parsing', function () {
|
||||
it('should abort text parsing parsing', function (done) {
|
||||
var resources = new ResourcesMock();
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
var stream = new StringStream('qqQQ');
|
||||
var done = false;
|
||||
runs(function () {
|
||||
var task = new WorkerTask('TextContentAbort');
|
||||
task.terminate();
|
||||
evaluator.getTextContent(stream, task, resources).catch(
|
||||
function () {
|
||||
done = true;
|
||||
});
|
||||
});
|
||||
waitsFor(function () {
|
||||
return done;
|
||||
});
|
||||
var task = new WorkerTask('TextContentAbort');
|
||||
task.terminate();
|
||||
evaluator.getTextContent(stream, task, resources).catch(
|
||||
function () {
|
||||
expect(true).toEqual(true);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue