From 36d5f49f0d33a4ed401b729d4244271dd0dd1640 Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Wed, 30 Jul 2008 16:33:03 +0000 Subject: [PATCH] The Request functions now consider a request with null status as a sucessful request. This is relevant for the file 'protocol' where xhr status is never set. r=crschmidt (closes #1638) git-svn-id: http://svn.openlayers.org/trunk/openlayers@7609 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf --- lib/OpenLayers/Request.js | 6 ++++-- tests/Request.html | 10 +++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/OpenLayers/Request.js b/lib/OpenLayers/Request.js index f348d34008..74068bc156 100644 --- a/lib/OpenLayers/Request.js +++ b/lib/OpenLayers/Request.js @@ -123,10 +123,12 @@ OpenLayers.Request = { request.onreadystatechange = function() { if(request.readyState == OpenLayers.Request.XMLHttpRequest.DONE) { complete(request); - if(success && request.status >= 200 && request.status < 300) { + if(success && (!request.status || + (request.status >= 200 && request.status < 300))) { success(request); } - if(failure && (request.status < 200 || request.status >= 300)) { + if(failure && (request.status && + (request.status < 200 || request.status >= 300))) { failure(request); } } diff --git a/tests/Request.html b/tests/Request.html index c2831e59cd..28484d2406 100644 --- a/tests/Request.html +++ b/tests/Request.html @@ -20,7 +20,7 @@ function test_issue(t) { setup(); - t.plan(18); + t.plan(19); var request, config; var proto = OpenLayers.Request.XMLHttpRequest.prototype; var issue = OpenLayers.Function.bind(OpenLayers.Request.issue, @@ -111,11 +111,11 @@ config = { success: function(req) { - t.ok(req.status >= 200 && req.status < 300, + t.ok(!req.status || (req.status >= 200 && req.status < 300), "success callback called with " + req.status + " status"); }, failure: function(req) { - t.ok(req.status < 200 || req.status >= 300, + t.ok(req.status && (req.status < 200 || req.status >= 300), "failure callback called with " + req.status + " status"); } }; @@ -137,6 +137,10 @@ // mock up status 300 (1 test) request.status = 300; request.onreadystatechange(); + + // mock up a status null (1 test) + request.status = null; + request.onreadystatechange(); proto.send = _send;