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
This commit is contained in:
Tim Schaub
2008-07-30 16:33:03 +00:00
parent bc06972aea
commit 36d5f49f0d
2 changed files with 11 additions and 5 deletions

View File

@@ -123,10 +123,12 @@ OpenLayers.Request = {
request.onreadystatechange = function() { request.onreadystatechange = function() {
if(request.readyState == OpenLayers.Request.XMLHttpRequest.DONE) { if(request.readyState == OpenLayers.Request.XMLHttpRequest.DONE) {
complete(request); complete(request);
if(success && request.status >= 200 && request.status < 300) { if(success && (!request.status ||
(request.status >= 200 && request.status < 300))) {
success(request); success(request);
} }
if(failure && (request.status < 200 || request.status >= 300)) { if(failure && (request.status &&
(request.status < 200 || request.status >= 300))) {
failure(request); failure(request);
} }
} }

View File

@@ -20,7 +20,7 @@
function test_issue(t) { function test_issue(t) {
setup(); setup();
t.plan(18); t.plan(19);
var request, config; var request, config;
var proto = OpenLayers.Request.XMLHttpRequest.prototype; var proto = OpenLayers.Request.XMLHttpRequest.prototype;
var issue = OpenLayers.Function.bind(OpenLayers.Request.issue, var issue = OpenLayers.Function.bind(OpenLayers.Request.issue,
@@ -111,11 +111,11 @@
config = { config = {
success: function(req) { 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"); "success callback called with " + req.status + " status");
}, },
failure: function(req) { 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"); "failure callback called with " + req.status + " status");
} }
}; };
@@ -138,6 +138,10 @@
request.status = 300; request.status = 300;
request.onreadystatechange(); request.onreadystatechange();
// mock up a status null (1 test)
request.status = null;
request.onreadystatechange();
proto.send = _send; proto.send = _send;
teardown(); teardown();