1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-20 15:18:08 +02:00

Changes to regression tests for progressive loading

This commit is contained in:
Mack Duan 2013-04-12 11:37:49 -07:00
parent ef423ef30c
commit 6b2c6fc223
9 changed files with 61 additions and 24 deletions

View file

@ -133,7 +133,8 @@ function nextTask() {
}
// When generating reference images in masterMode, disable range requests
PDFJS.disableRange = !task.rangeRequest || masterMode;
PDFJS.disableRange = task.disableRange || masterMode;
PDFJS.disableAutoFetch = !task.enableAutoFetch || masterMode;
try {
var promise = PDFJS.getDocument(absoluteUrl);
promise.then(function(doc) {

View file

@ -152,10 +152,28 @@ class TestHandlerBase(BaseHTTPRequestHandler):
try:
BaseHTTPRequestHandler.handle_one_request(self)
except socket.error, v:
# Ignoring connection reset by peer exceptions
if v[0] != errno.ECONNRESET:
if v[0] == errno.ECONNRESET:
# Ignoring connection reset by peer exceptions
print 'Detected connection reset'
elif v[0] == errno.EPIPE:
print 'Detected remote peer disconnected'
elif v[0] == 10053:
# FIXME(mack): Address this issue
print 'An established connection was aborted by the' \
' software in your host machine'
else:
raise
def finish(self,*args,**kw):
# From http://stackoverflow.com/a/14355079/1834797
try:
if not self.wfile.closed:
self.wfile.flush()
self.wfile.close()
except socket.error:
pass
self.rfile.close()
def sendFile(self, path, ext):
self.send_response(200)
self.send_header("Accept-Ranges", "bytes")
@ -173,13 +191,13 @@ class TestHandlerBase(BaseHTTPRequestHandler):
self.send_error(416)
return
chunk_len = end - start
time.sleep(chunk_len / 1000000.0)
self.send_response(206)
self.send_header("Accept-Ranges", "bytes")
self.send_header("Content-Type", MIMEs[ext])
self.send_header("Content-Length", chunk_len)
self.send_header("Content-Range", 'bytes ' + str(start) + '-' + str(end - 1) + '/' + str(file_len))
self.end_headers()
time.sleep(chunk_len / 500000.0)
with open(path, "rb") as f:
f.seek(start)
self.wfile.write(f.read(chunk_len))
@ -212,15 +230,17 @@ class TestHandlerBase(BaseHTTPRequestHandler):
range_re = re.compile(r"^bytes=(\d+)\-(\d+)?")
parsed_range = range_re.search(self.headers.getheader("Range"))
if parsed_range is None:
self.send_error(501)
return
print 'Range requested ' + parsed_range.group(1) + '-' + parsed_range.group(2)
self.send_error(501)
return
if VERBOSE:
print 'Range requested %s - %s: %s' % (
parsed_range.group(1), parsed_range.group(2))
start = int(parsed_range.group(1))
if parsed_range.group(2) is None:
self.sendFileRange(path, ext, start, None)
self.sendFileRange(path, ext, start, None)
else:
end = int(parsed_range.group(2)) + 1
self.sendFileRange(path, ext, start, end)
end = int(parsed_range.group(2)) + 1
self.sendFileRange(path, ext, start, end)
return
self.sendFile(path, ext)

View file

@ -3,7 +3,6 @@
"file": "pdfs/filled-background.pdf",
"md5": "2e3120255d9c3e79b96d2543b12d2589",
"rounds": 1,
"rangeRequest": true,
"type": "eq"
},
{ "id": "tracemonkey-eq",
@ -311,6 +310,14 @@
"rounds": 1,
"type": "eq"
},
{ "id": "usmanm-bad-auto-fetch",
"file": "pdfs/usmanm-bad.pdf",
"md5": "38afb822433aaf07fc8f54807cd4f61a",
"link": true,
"rounds": 1,
"type": "eq",
"enableAutoFetch": true
},
{ "id": "vesta-bad",
"file": "pdfs/vesta.pdf",
"md5": "0afebc109b7c17b95619ea3fab5eafe6",
@ -1059,13 +1066,6 @@
"type": "eq",
"about": "Image with indexed colorspace that has a base lab colorspace."
},
{ "id": "yo01",
"file": "pdfs/yo01.pdf",
"md5": "7d42435c20fe0d32de4ea3d7e4727ac1",
"rounds": 1,
"link": true,
"type": "eq"
},
{ "id": "20130226130259",
"file": "pdfs/20130226130259.pdf",
"md5": "c33e90a1b369c508573023d2434b950f",

View file

@ -11,7 +11,7 @@ describe('api', function() {
function waitsForPromise(promise) {
waitsFor(function() {
return promise.isResolved || promise.isRejected;
}, 4000);
}, 10000);
}
function expectAfterPromise(promise, successCallback) {
waitsForPromise(promise);