mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-21 15:48:06 +02:00
Merge pull request #9838 from Snuffleupagus/invalid-path-OPS
Error, rather than warn, once a number of invalid path operators are encountered in `EvaluatorPreprocessor.read` (bug 1443140)
This commit is contained in:
commit
6fa2c779b5
4 changed files with 57 additions and 7 deletions
1
test/pdfs/bug1443140.pdf.link
Normal file
1
test/pdfs/bug1443140.pdf.link
Normal file
|
@ -0,0 +1 @@
|
|||
https://web.archive.org/web/20180324105403/https://engineering.purdue.edu/~chengkok/papers/2005/p507-li.pdf
|
|
@ -126,8 +126,7 @@
|
|||
"file": "pdfs/issue2391-1.pdf",
|
||||
"md5": "25ae9cb959612e7b343b55da63af2716",
|
||||
"rounds": 1,
|
||||
"lastPage": 1,
|
||||
"type": "load"
|
||||
"type": "eq"
|
||||
},
|
||||
{ "id": "issue2391-2",
|
||||
"file": "pdfs/issue2391-2.pdf",
|
||||
|
@ -135,6 +134,15 @@
|
|||
"rounds": 1,
|
||||
"type": "eq"
|
||||
},
|
||||
{ "id": "bug1443140",
|
||||
"file": "pdfs/bug1443140.pdf",
|
||||
"md5": "8f9347b0d5620537850b24b8385b0982",
|
||||
"rounds": 1,
|
||||
"link": true,
|
||||
"firstPage": 4,
|
||||
"lastPage": 4,
|
||||
"type": "eq"
|
||||
},
|
||||
{ "id": "issue2531",
|
||||
"file": "pdfs/issue2531.pdf",
|
||||
"md5": "c58e6642d8a6e2ddd5e07a543ef8f30d",
|
||||
|
|
|
@ -216,6 +216,34 @@ describe('evaluator', function() {
|
|||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should error if (many) path operators have too few arguments ' +
|
||||
'(bug 1443140)', function(done) {
|
||||
const NUM_INVALID_OPS = 25;
|
||||
const tempArr = new Array(NUM_INVALID_OPS + 1);
|
||||
|
||||
// Non-path operators, should be ignored.
|
||||
const invalidMoveText = tempArr.join('10 Td\n');
|
||||
const moveTextStream = new StringStream(invalidMoveText);
|
||||
runOperatorListCheck(partialEvaluator, moveTextStream,
|
||||
new ResourcesMock(), function(result) {
|
||||
expect(result.argsArray).toEqual([]);
|
||||
expect(result.fnArray).toEqual([]);
|
||||
done();
|
||||
});
|
||||
|
||||
// Path operators, should throw error.
|
||||
const invalidLineTo = tempArr.join('20 l\n');
|
||||
const lineToStream = new StringStream(invalidLineTo);
|
||||
runOperatorListCheck(partialEvaluator, lineToStream, new ResourcesMock(),
|
||||
function(error) {
|
||||
expect(error instanceof FormatError).toEqual(true);
|
||||
expect(error.message).toEqual(
|
||||
'Invalid command l: expected 2 args, but received 1 args.');
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should close opened saves', function(done) {
|
||||
var stream = new StringStream('qq');
|
||||
runOperatorListCheck(partialEvaluator, stream, new ResourcesMock(),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue