Address more of brendan's comments
This commit is contained in:
parent
27fe18e8c6
commit
2ce00279be
@ -14,7 +14,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
/* globals assert, MissingDataException, isInt, NetworkManager, PDFJS,
|
||||
/* globals assert, MissingDataException, isInt, NetworkManager, Promise,
|
||||
isEmptyObj */
|
||||
|
||||
'use strict';
|
||||
@ -233,7 +233,7 @@ var ChunkedStreamManager = (function ChunkedStreamManagerClosure() {
|
||||
this.requestsByChunk = {};
|
||||
this.callbacksByRequest = {};
|
||||
|
||||
this.loadedStream = new PDFJS.Promise();
|
||||
this.loadedStream = new Promise();
|
||||
}
|
||||
|
||||
ChunkedStreamManager.prototype = {
|
||||
|
24
src/core.js
24
src/core.js
@ -18,7 +18,7 @@
|
||||
isArrayBuffer, isDict, isName, isStream, isString, Lexer,
|
||||
Linearization, NullStream, PartialEvaluator, shadow, Stream,
|
||||
StreamsSequenceStream, stringToPDFString, TODO, Util, warn, XRef,
|
||||
MissingDataException, PDFJS */
|
||||
MissingDataException, Promise */
|
||||
|
||||
'use strict';
|
||||
|
||||
@ -149,21 +149,22 @@ var Page = (function PageClosure() {
|
||||
},
|
||||
getOperatorList: function Page_getOperatorList(handler) {
|
||||
var self = this;
|
||||
var promise = new PDFJS.Promise();
|
||||
var promise = new Promise();
|
||||
|
||||
var pageListPromise = new PDFJS.Promise();
|
||||
var annotationListPromise = new PDFJS.Promise();
|
||||
var pageListPromise = new Promise();
|
||||
var annotationListPromise = new Promise();
|
||||
|
||||
var pdfManager = this.pdfManager;
|
||||
var contentStreamPromise = pdfManager.ensure(this, 'getContentStream',
|
||||
[]);
|
||||
var resourcesPromise = pdfManager.ensure(this, 'resources');
|
||||
var dataPromises = PDFJS.Promise.all(
|
||||
var dataPromises = Promise.all(
|
||||
[contentStreamPromise, resourcesPromise]);
|
||||
dataPromises.then(function(data) {
|
||||
var contentStream = data[0];
|
||||
var resources = data[1];
|
||||
var pe = self.pe = new PartialEvaluator(
|
||||
pdfManager,
|
||||
self.xref, handler, self.pageIndex,
|
||||
'p' + self.pageIndex + '_');
|
||||
|
||||
@ -180,7 +181,7 @@ var Page = (function PageClosure() {
|
||||
pdfManager.ensure(this, 'getAnnotationsForDraw', []).then(
|
||||
function(annotations) {
|
||||
var annotationEvaluator = new PartialEvaluator(
|
||||
self.xref, handler, self.pageIndex,
|
||||
pdfManager, self.xref, handler, self.pageIndex,
|
||||
'p' + self.pageIndex + '_annotation');
|
||||
|
||||
pdfManager.ensure(annotationEvaluator, 'getAnnotationsOperatorList',
|
||||
@ -194,7 +195,7 @@ var Page = (function PageClosure() {
|
||||
}
|
||||
);
|
||||
|
||||
PDFJS.Promise.all([pageListPromise, annotationListPromise]).then(
|
||||
Promise.all([pageListPromise, annotationListPromise]).then(
|
||||
function(datas) {
|
||||
var pageData = datas[0];
|
||||
var pageQueue = pageData.queue;
|
||||
@ -221,12 +222,12 @@ var Page = (function PageClosure() {
|
||||
|
||||
var self = this;
|
||||
|
||||
var textContentPromise = new PDFJS.Promise();
|
||||
var textContentPromise = new Promise();
|
||||
|
||||
var pdfManager = this.pdfManager;
|
||||
var contentStreamPromise = pdfManager.ensure(this, 'getContentStream',
|
||||
[]);
|
||||
var resourcesPromise = new PDFJS.Promise();
|
||||
var resourcesPromise = new Promise();
|
||||
pdfManager.ensure(this, 'resources').then(function(resources) {
|
||||
pdfManager.ensure(self.xref, 'fetchIfRef', [resources]).then(
|
||||
function(resources) {
|
||||
@ -235,12 +236,13 @@ var Page = (function PageClosure() {
|
||||
);
|
||||
});
|
||||
|
||||
var dataPromises = PDFJS.Promise.all([contentStreamPromise,
|
||||
resourcesPromise]);
|
||||
var dataPromises = Promise.all([contentStreamPromise,
|
||||
resourcesPromise]);
|
||||
dataPromises.then(function(data) {
|
||||
var contentStream = data[0];
|
||||
var resources = data[1];
|
||||
var pe = new PartialEvaluator(
|
||||
pdfManager,
|
||||
self.xref, handler, self.pageIndex,
|
||||
'p' + self.pageIndex + '_');
|
||||
|
||||
|
@ -19,15 +19,17 @@
|
||||
IDENTITY_MATRIX, info, isArray, isCmd, isDict, isEOF, isName, isNum,
|
||||
isStream, isString, JpegStream, Lexer, Metrics, Name, Parser,
|
||||
Pattern, PDFImage, PDFJS, serifFonts, stdFontMap, symbolsFonts,
|
||||
TilingPattern, TODO, warn, Util, MissingDataException, globalScope */
|
||||
TilingPattern, TODO, warn, Util, MissingDataException, Promise */
|
||||
|
||||
'use strict';
|
||||
|
||||
var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||
function PartialEvaluator(xref, handler, pageIndex, uniquePrefix) {
|
||||
function PartialEvaluator(pdfManager, xref, handler, pageIndex,
|
||||
uniquePrefix) {
|
||||
this.state = new EvalState();
|
||||
this.stateStack = [];
|
||||
|
||||
this.pdfManager = pdfManager;
|
||||
this.xref = xref;
|
||||
this.handler = handler;
|
||||
this.pageIndex = pageIndex;
|
||||
@ -165,7 +167,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||
buildFormXObject: function PartialEvaluator_buildFormXObject(resources,
|
||||
xobj, smask) {
|
||||
var self = this;
|
||||
var promise = new PDFJS.Promise();
|
||||
var promise = new Promise();
|
||||
var fnArray = [];
|
||||
var argsArray = [];
|
||||
|
||||
@ -302,7 +304,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||
fn, args, resources, pattern, patternDict) {
|
||||
var self = this;
|
||||
// Create an IR of the pattern code.
|
||||
var promise = new PDFJS.Promise();
|
||||
var promise = new Promise();
|
||||
var opListPromise = this.getOperatorList(pattern,
|
||||
patternDict.get('Resources') || resources);
|
||||
opListPromise.then(function(data) {
|
||||
@ -324,7 +326,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||
handleSetFont: function PartialEvaluator_handleSetFont(
|
||||
resources, fontArgs, font) {
|
||||
|
||||
var promise = new PDFJS.Promise();
|
||||
var promise = new Promise();
|
||||
// TODO(mack): Not needed?
|
||||
var fontName;
|
||||
if (fontArgs) {
|
||||
@ -413,7 +415,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||
gStateObj.push([key, value]);
|
||||
break;
|
||||
case 'Font':
|
||||
var promise = new PDFJS.Promise();
|
||||
var promise = new Promise();
|
||||
self.handleSetFont(resources, null, value[0]).then(function(data) {
|
||||
var gState = ['Font', data.loadedName, value[1]];
|
||||
promise.resolve({
|
||||
@ -478,8 +480,8 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||
}
|
||||
}
|
||||
|
||||
var promise = new PDFJS.Promise();
|
||||
PDFJS.Promise.all(promises).then(function(datas) {
|
||||
var promise = new Promise();
|
||||
Promise.all(promises).then(function(datas) {
|
||||
for (var i = 0, n = datas.length; i < n; ++i) {
|
||||
var data = datas[i];
|
||||
var index = indices[i];
|
||||
@ -500,7 +502,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||
|
||||
loadFont: function PartialEvaluator_loadFont(fontName, font, xref,
|
||||
resources) {
|
||||
var promise = new PDFJS.Promise();
|
||||
var promise = new Promise();
|
||||
|
||||
var fontRes = resources.get('Font');
|
||||
|
||||
@ -551,7 +553,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||
opListPromises.push(
|
||||
this.getOperatorList(glyphStream, fontResources));
|
||||
}
|
||||
PDFJS.Promise.all(opListPromises).then(function(datas) {
|
||||
Promise.all(opListPromises).then(function(datas) {
|
||||
var charProcOperatorList = {};
|
||||
var dependencies = {};
|
||||
for (var i = 0, n = charProcKeys.length; i < n; ++i) {
|
||||
@ -606,7 +608,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||
// dictionary
|
||||
var parser = new Parser(new Lexer(stream, OP_MAP), false, xref);
|
||||
|
||||
var promise = new PDFJS.Promise();
|
||||
var promise = new Promise();
|
||||
function parseCommands() {
|
||||
try {
|
||||
parser.restoreState();
|
||||
@ -770,7 +772,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||
subQueuePromises.push(argsArray[i][0]);
|
||||
}
|
||||
}
|
||||
PDFJS.Promise.all(subQueuePromises).then(function(datas) {
|
||||
Promise.all(subQueuePromises).then(function(datas) {
|
||||
// TODO(mack): Optimize by using repositioning elements
|
||||
// in original queue rather than creating new queue
|
||||
|
||||
@ -817,10 +819,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||
throw e;
|
||||
}
|
||||
|
||||
var streamManager = globalScope.pdfManager.streamManager;
|
||||
streamManager.requestRange(e.begin, e.end, function() {
|
||||
parseCommands();
|
||||
});
|
||||
self.pdfManager.requestRange(e.begin, e.end).then(parseCommands);
|
||||
}
|
||||
}
|
||||
parser.saveState();
|
||||
@ -832,7 +831,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||
getAnnotationsOperatorList:
|
||||
function PartialEvaluator_getAnnotationsOperatorList(annotations,
|
||||
dependency) {
|
||||
var promise = new PDFJS.Promise();
|
||||
var promise = new Promise();
|
||||
|
||||
// 12.5.5: Algorithm: Appearance streams
|
||||
function getTransformMatrix(rect, bbox, matrix) {
|
||||
@ -878,13 +877,13 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||
annotation.resources);
|
||||
opListPromises.push(opListPromise);
|
||||
} else {
|
||||
var opListPromise = new PDFJS.Promise();
|
||||
var opListPromise = new Promise();
|
||||
opListPromise.resolve(createOperatorList());
|
||||
opListPromises.push(opListPromise);
|
||||
}
|
||||
}
|
||||
|
||||
PDFJS.Promise.all(opListPromises).then(function(datas) {
|
||||
Promise.all(opListPromises).then(function(datas) {
|
||||
var fnArray = [];
|
||||
var argsArray = [];
|
||||
var dependencies = {};
|
||||
@ -923,10 +922,10 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||
var MULTI_SPACE_FACTOR = 1.5;
|
||||
var self = this;
|
||||
|
||||
var statePromise = new PDFJS.Promise();
|
||||
var statePromise = new Promise();
|
||||
|
||||
function handleSetFont(fontName, fontRef, resources) {
|
||||
var promise = new PDFJS.Promise();
|
||||
var promise = new Promise();
|
||||
self.loadFont(fontName, fontRef, self.xref, resources).then(
|
||||
function(data) {
|
||||
promise.resolve(data.font.translated);
|
||||
@ -969,7 +968,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||
//.translated;
|
||||
break;
|
||||
case 'TJ':
|
||||
var chunkPromise = new PDFJS.Promise();
|
||||
var chunkPromise = new Promise();
|
||||
chunkPromises.push(chunkPromise);
|
||||
fontPromise.then(function(items, font) {
|
||||
var chunk = '';
|
||||
@ -994,7 +993,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||
}.bind(null, args[0]));
|
||||
break;
|
||||
case 'Tj':
|
||||
var chunkPromise = new PDFJS.Promise();
|
||||
var chunkPromise = new Promise();
|
||||
chunkPromises.push(chunkPromise);
|
||||
fontPromise.then(function(charCodes, font) {
|
||||
var chunk = fontCharsToUnicode(charCodes, font);
|
||||
@ -1006,7 +1005,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||
// For search, adding a extra white space for line breaks
|
||||
// would be better here, but that causes too much spaces in
|
||||
// the text-selection divs.
|
||||
var chunkPromise = new PDFJS.Promise();
|
||||
var chunkPromise = new Promise();
|
||||
chunkPromises.push(chunkPromise);
|
||||
fontPromise.then(function(charCodes, font) {
|
||||
var chunk = fontCharsToUnicode(charCodes, font);
|
||||
@ -1016,7 +1015,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||
break;
|
||||
case '"':
|
||||
// Note comment in "'"
|
||||
var chunkPromise = new PDFJS.Promise();
|
||||
var chunkPromise = new Promise();
|
||||
chunkPromises.push(chunkPromise);
|
||||
fontPromise.then(function(charCodes, font) {
|
||||
var chunk = fontCharsToUnicode(charCodes, font);
|
||||
@ -1081,7 +1080,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||
}
|
||||
} // while
|
||||
|
||||
PDFJS.Promise.all(chunkPromises).then(function(datas) {
|
||||
Promise.all(chunkPromises).then(function(datas) {
|
||||
var bidiTexts = [];
|
||||
for (var i = 0, n = datas.length; i < n; ++i) {
|
||||
var bidiText = datas[i];
|
||||
@ -1100,10 +1099,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||
throw e;
|
||||
}
|
||||
|
||||
var streamManager = globalScope.pdfManager.streamManager;
|
||||
streamManager.requestRange(e.begin, e.end, function() {
|
||||
parseCommands();
|
||||
});
|
||||
self.pdfManager.requestRange(e.begin, e.end).then(parseCommands);
|
||||
}
|
||||
}
|
||||
parser.saveState();
|
||||
|
@ -17,8 +17,8 @@
|
||||
/* globals assertWellFormed, bytesToString, CipherTransformFactory, error, info,
|
||||
InvalidPDFException, isArray, isCmd, isDict, isInt, isName, isRef,
|
||||
isStream, JpegStream, Lexer, log, Page, Parser, Promise, shadow,
|
||||
stringToPDFString, stringToUTF8String, warn, isString, assert, PDFJS,
|
||||
MissingDataException, XRefParseException, Stream */
|
||||
stringToPDFString, stringToUTF8String, warn, isString, assert,
|
||||
Promise, MissingDataException, XRefParseException, Stream */
|
||||
|
||||
'use strict';
|
||||
|
||||
@ -339,7 +339,7 @@ var Catalog = (function CatalogClosure() {
|
||||
|
||||
getPage: function Catalog_getPage(pageIndex) {
|
||||
if (!(pageIndex in this.pagePromises)) {
|
||||
this.pagePromises[pageIndex] = new PDFJS.Promise();
|
||||
this.pagePromises[pageIndex] = new Promise();
|
||||
}
|
||||
return this.pagePromises[pageIndex];
|
||||
},
|
||||
@ -367,7 +367,7 @@ var Catalog = (function CatalogClosure() {
|
||||
var page = new Page(this.pdfManager, this.xref, pageIndex, kid,
|
||||
kidRef);
|
||||
if (!(pageIndex in this.pagePromises)) {
|
||||
this.pagePromises[pageIndex] = new PDFJS.Promise();
|
||||
this.pagePromises[pageIndex] = new Promise();
|
||||
}
|
||||
this.pagePromises[pageIndex].resolve(page);
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
/* globals NotImplementedException, MissingDataException, PDFJS, Stream,
|
||||
/* globals NotImplementedException, MissingDataException, Promise, Stream,
|
||||
PDFDocument, ChunkedStream, ChunkedStreamManager */
|
||||
|
||||
'use strict';
|
||||
@ -50,6 +50,10 @@ var BasePdfManager = (function BasePdfManagerClosure() {
|
||||
return new NotImplementedException();
|
||||
},
|
||||
|
||||
requestRange: function BasePdfManager_ensure(begin, end) {
|
||||
return new NotImplementedException();
|
||||
},
|
||||
|
||||
requestLoadedStream: function BasePdfManager_requestLoadedStream() {
|
||||
return new NotImplementedException();
|
||||
}
|
||||
@ -62,7 +66,7 @@ var LocalPdfManager = (function LocalPdfManagerClosure() {
|
||||
function LocalPdfManager(data, password) {
|
||||
var stream = new Stream(data);
|
||||
this.pdfModel = new PDFDocument(this, stream, password);
|
||||
this.loadedStream = new PDFJS.Promise();
|
||||
this.loadedStream = new Promise();
|
||||
this.loadedStream.resolve(stream);
|
||||
}
|
||||
|
||||
@ -71,7 +75,7 @@ var LocalPdfManager = (function LocalPdfManagerClosure() {
|
||||
|
||||
LocalPdfManager.prototype.ensure =
|
||||
function LocalPdfManager_ensure(obj, prop, args) {
|
||||
var promise = new PDFJS.Promise();
|
||||
var promise = new Promise();
|
||||
try {
|
||||
var value = obj[prop];
|
||||
var result;
|
||||
@ -88,6 +92,13 @@ var LocalPdfManager = (function LocalPdfManagerClosure() {
|
||||
return promise;
|
||||
};
|
||||
|
||||
LocalPdfManager.prototype.requestRange =
|
||||
function LocalPdfManager_requestRange(begin, end) {
|
||||
var promise = new Promise();
|
||||
promise.resolve();
|
||||
return promise;
|
||||
};
|
||||
|
||||
LocalPdfManager.prototype.requestLoadedStream =
|
||||
function LocalPdfManager_requestLoadedStream() {
|
||||
};
|
||||
@ -126,7 +137,7 @@ var NetworkPdfManager = (function NetworkPdfManagerClosure() {
|
||||
|
||||
NetworkPdfManager.prototype.ensure =
|
||||
function NetworkPdfManager_ensure(obj, prop, args) {
|
||||
var promise = new PDFJS.Promise();
|
||||
var promise = new Promise();
|
||||
this.ensureHelper(promise, obj, prop, args);
|
||||
return promise;
|
||||
};
|
||||
@ -155,6 +166,15 @@ var NetworkPdfManager = (function NetworkPdfManagerClosure() {
|
||||
}
|
||||
};
|
||||
|
||||
NetworkPdfManager.prototype.requestRange =
|
||||
function NetworkPdfManager_requestRange(begin, end) {
|
||||
var promise = new Promise();
|
||||
this.streamManager.requestRange(begin, end, function() {
|
||||
promise.resolve();
|
||||
});
|
||||
return promise;
|
||||
};
|
||||
|
||||
NetworkPdfManager.prototype.requestLoadedStream =
|
||||
function NetworkPdfManager_requestLoadedStream() {
|
||||
this.streamManager.requestAllChunks();
|
||||
|
@ -112,7 +112,7 @@ var WorkerMessageHandler = {
|
||||
var pdfManager;
|
||||
|
||||
function loadDocument(recoveryMode) {
|
||||
var loadDocumentPromise = new PDFJS.Promise();
|
||||
var loadDocumentPromise = new Promise();
|
||||
|
||||
var parseSuccess = function parseSuccess() {
|
||||
var numPagesPromise = pdfManager.ensureModel('numPages');
|
||||
@ -122,7 +122,7 @@ var WorkerMessageHandler = {
|
||||
var metadataPromise = pdfManager.ensureCatalog('metadata');
|
||||
var encryptedPromise = pdfManager.ensureXRef('encrypt');
|
||||
var javaScriptPromise = pdfManager.ensureCatalog('javaScript');
|
||||
PDFJS.Promise.all([numPagesPromise, fingerprintPromise, outlinePromise,
|
||||
Promise.all([numPagesPromise, fingerprintPromise, outlinePromise,
|
||||
infoPromise, metadataPromise, encryptedPromise,
|
||||
javaScriptPromise]).then(
|
||||
function onDocReady(results) {
|
||||
@ -155,7 +155,7 @@ var WorkerMessageHandler = {
|
||||
}
|
||||
|
||||
function getPdfManager(data) {
|
||||
var pdfManagerPromise = new PDFJS.Promise();
|
||||
var pdfManagerPromise = new Promise();
|
||||
|
||||
var source = data.source;
|
||||
var disableRange = data.disableRange;
|
||||
@ -285,7 +285,6 @@ var WorkerMessageHandler = {
|
||||
};
|
||||
|
||||
getPdfManager(data).then(function() {
|
||||
globalScope.pdfManager = pdfManager;
|
||||
loadDocument(false).then(onSuccess, function(ex) {
|
||||
// Try again with recoveryMode == true
|
||||
if (!(ex instanceof XRefParseException)) {
|
||||
@ -308,7 +307,7 @@ var WorkerMessageHandler = {
|
||||
var refPromise = pdfManager.ensure(page, 'ref');
|
||||
var viewPromise = pdfManager.ensure(page, 'view');
|
||||
|
||||
PDFJS.Promise.all([rotatePromise, refPromise, viewPromise]).then(
|
||||
Promise.all([rotatePromise, refPromise, viewPromise]).then(
|
||||
function(results) {
|
||||
var page = {
|
||||
pageIndex: data.pageIndex,
|
||||
|
@ -28,9 +28,12 @@ describe('evaluator', function() {
|
||||
}
|
||||
};
|
||||
|
||||
function PdfManagerMock() { }
|
||||
|
||||
describe('splitCombinedOperations', function() {
|
||||
it('should reject unknown operations', function() {
|
||||
var evaluator = new PartialEvaluator(new XrefMock(), new HandlerMock(),
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
var stream = new StringStream('qTT');
|
||||
var promise = evaluator.getOperatorList(stream, new ResourcesMock());
|
||||
@ -44,7 +47,8 @@ describe('evaluator', function() {
|
||||
});
|
||||
|
||||
it('should handle one operations', function() {
|
||||
var evaluator = new PartialEvaluator(new XrefMock(), new HandlerMock(),
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
var stream = new StringStream('Q');
|
||||
var promise = evaluator.getOperatorList(stream, new ResourcesMock());
|
||||
@ -57,7 +61,8 @@ describe('evaluator', function() {
|
||||
});
|
||||
|
||||
it('should handle two glued operations', function() {
|
||||
var evaluator = new PartialEvaluator(new XrefMock(), new HandlerMock(),
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
var resources = new ResourcesMock();
|
||||
resources.Res1 = {};
|
||||
@ -73,7 +78,8 @@ describe('evaluator', function() {
|
||||
});
|
||||
|
||||
it('should handle tree glued operations', function() {
|
||||
var evaluator = new PartialEvaluator(new XrefMock(), new HandlerMock(),
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
var stream = new StringStream('qqq');
|
||||
var promise = evaluator.getOperatorList(stream, new ResourcesMock());
|
||||
@ -88,7 +94,8 @@ describe('evaluator', function() {
|
||||
});
|
||||
|
||||
it('should handle three glued operations #2', function() {
|
||||
var evaluator = new PartialEvaluator(new XrefMock(), new HandlerMock(),
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
var resources = new ResourcesMock();
|
||||
resources.Res1 = {};
|
||||
@ -105,7 +112,8 @@ describe('evaluator', function() {
|
||||
});
|
||||
|
||||
it('should handle glued operations and operands', function() {
|
||||
var evaluator = new PartialEvaluator(new XrefMock(), new HandlerMock(),
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
var stream = new StringStream('q5 Ts');
|
||||
var promise = evaluator.getOperatorList(stream, new ResourcesMock());
|
||||
@ -122,7 +130,8 @@ describe('evaluator', function() {
|
||||
});
|
||||
|
||||
it('should handle glued operations and literals', function() {
|
||||
var evaluator = new PartialEvaluator(new XrefMock(), new HandlerMock(),
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
var stream = new StringStream('trueifalserinullq');
|
||||
var promise = evaluator.getOperatorList(stream, new ResourcesMock());
|
||||
@ -145,7 +154,8 @@ describe('evaluator', function() {
|
||||
|
||||
describe('validateNumberOfArgs', function() {
|
||||
it('should execute if correct number of arguments', function() {
|
||||
var evaluator = new PartialEvaluator(new XrefMock(), new HandlerMock(),
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
var stream = new StringStream('5 1 d0');
|
||||
console.log('here!');
|
||||
@ -158,7 +168,8 @@ describe('evaluator', function() {
|
||||
});
|
||||
});
|
||||
it('should execute if too many arguments', function() {
|
||||
var evaluator = new PartialEvaluator(new XrefMock(), new HandlerMock(),
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
var stream = new StringStream('5 1 4 d0');
|
||||
var promise = evaluator.getOperatorList(stream, new ResourcesMock());
|
||||
@ -171,7 +182,8 @@ describe('evaluator', function() {
|
||||
});
|
||||
});
|
||||
it('should skip if too few arguments', function() {
|
||||
var evaluator = new PartialEvaluator(new XrefMock(), new HandlerMock(),
|
||||
var evaluator = new PartialEvaluator(new PdfManagerMock(),
|
||||
new XrefMock(), new HandlerMock(),
|
||||
'prefix');
|
||||
var stream = new StringStream('5 d0');
|
||||
var promise = evaluator.getOperatorList(stream, new ResourcesMock());
|
||||
|
Loading…
Reference in New Issue
Block a user