diff --git a/tests/Request.html b/tests/Request.html index 6fac6eff9b..acdd8951d8 100644 --- a/tests/Request.html +++ b/tests/Request.html @@ -372,19 +372,41 @@ } function test_abort(t) { + t.plan(0); - var fail = false; - OpenLayers.Request.XMLHttpRequest.onsend = function(args) { - fail = true; - } + + var sendCalled; + + // set up + + var _open = OpenLayers.Request.XMLHttpRequest.prototype.open; + OpenLayers.Request.XMLHttpRequest.prototype.open = function() { + this.readyState = OpenLayers.Request.XMLHttpRequest.OPENED; + }; + + var _setRequestHeader = OpenLayers.Request.XMLHttpRequest.prototype.setRequestHeader; + OpenLayers.Request.XMLHttpRequest.prototype.setRequestHeader = function() {}; + + var _send = OpenLayers.Request.XMLHttpRequest.prototype.send; + OpenLayers.Request.XMLHttpRequest.prototype.send = function() { + sendCalled = true; + }; + + // test + + sendCalled = false; + OpenLayers.Request.issue().abort(); + t.delay_call(0.5, function() { - if (fail === true) { + if (sendCalled) { t.fail("Send should not be called because request is aborted"); } - OpenLayers.Request.XMLHttpRequest.onsend = null; + + // tear down + OpenLayers.Request.XMLHttpRequest.prototype.open = _open; + OpenLayers.Request.XMLHttpRequest.prototype.setRequestHeader = _setRequestHeader; + OpenLayers.Request.XMLHttpRequest.prototype.send = _send; }); - var protocol = new OpenLayers.Protocol.HTTP(); - protocol.abort(protocol.read()); }