From 982ea98c4477a5f2841254895fb34896ec9bf55e Mon Sep 17 00:00:00 2001 From: notmasteryet Date: Mon, 9 Jan 2012 20:08:22 -0600 Subject: [PATCH 1/2] replacing non-existent page content with empty one --- src/core.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/core.js b/src/core.js index 765a239b7..a9c5b15a2 100644 --- a/src/core.js +++ b/src/core.js @@ -196,6 +196,9 @@ var Page = (function PageClosure() { for (i = 0; i < n; ++i) content[i] = xref.fetchIfRef(content[i]); content = new StreamsSequenceStream(content); + } else if (!content) { + // replacing non-existent page content with empty one + content = new Stream(new Uint8Array(0)); } var pe = this.pe = new PartialEvaluator( From 00664f5f0cb82ee72d7c3a73a0207deda354c8d0 Mon Sep 17 00:00:00 2001 From: notmasteryet Date: Mon, 9 Jan 2012 20:37:39 -0600 Subject: [PATCH 2/2] add liveprogramming as load test --- test/driver.js | 12 ++++++++++-- test/pdfs/liveprogramming.pdf.link | 1 + test/test_manifest.json | 8 ++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 test/pdfs/liveprogramming.pdf.link diff --git a/test/driver.js b/test/driver.js index 85d25658a..5a3263bda 100644 --- a/test/driver.js +++ b/test/driver.js @@ -78,6 +78,14 @@ function cleanup() { } } +function exceptionToString(e) { + if (typeof e !== 'object') + return String(e); + if (!('message' in e)) + return JSON.stringify(e); + return e.message + ('stack' in e ? ' at ' + e.stack.split('\n')[0] : ''); +} + function nextTask() { cleanup(); @@ -95,7 +103,7 @@ function nextTask() { try { task.pdfDoc = new PDFJS.PDFDoc(data); } catch (e) { - failure = 'load PDF doc : ' + e.toString(); + failure = 'load PDF doc : ' + exceptionToString(e); } task.pageNum = task.firstPage || 1; nextPage(task, failure); @@ -185,7 +193,7 @@ function nextPage(task, loadError) { textLayerBuilder ); } catch (e) { - failure = 'page setup : ' + e.toString(); + failure = 'page setup : ' + exceptionToString(e); } } diff --git a/test/pdfs/liveprogramming.pdf.link b/test/pdfs/liveprogramming.pdf.link new file mode 100644 index 000000000..390da08ed --- /dev/null +++ b/test/pdfs/liveprogramming.pdf.link @@ -0,0 +1 @@ +http://blog.lassus.se/files/liveprogramming.pdf diff --git a/test/test_manifest.json b/test/test_manifest.json index 7954aa094..628fcb52c 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -395,5 +395,13 @@ "rounds": 1, "link": true, "type": "eq" + }, + { "id": "liveprogramming", + "file": "pdfs/liveprogramming.pdf", + "md5": "7bd4dad1188232ef597d36fd72c33e52", + "rounds": 1, + "pageLimit": 3, + "link": true, + "type": "load" } ]