X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fajax%2FajaxTest.js;h=48010a255326aba78263c45d2d428c707615c451;hb=3e3240f7ed52c035f3f68d50836f089bd2d03409;hp=98f7cfcdd918fdf469f24b811c7369fa9a285819;hpb=dc6f9cfc9cd0e2393b8f3087d8fcfa8e03260d4c;p=jquery.git diff --git a/src/ajax/ajaxTest.js b/src/ajax/ajaxTest.js index 98f7cfc..48010a2 100644 --- a/src/ajax/ajaxTest.js +++ b/src/ajax/ajaxTest.js @@ -55,47 +55,55 @@ test("load(String, Object, Function) - check scripts", function() { }); test("test global handlers - success", function() { - expect(6); + expect(8); stop(); - var counter = { complete: 0, success: 0, error: 0 }, + var counter = { complete: 0, success: 0, error: 0, send: 0 }, success = function() { counter.success++ }, error = function() { counter.error++ }, - complete = function() { counter.complete++ }; + complete = function() { counter.complete++ }, + send = function() { counter.send++ }; - $('#foo').ajaxStart(complete).ajaxStop(complete).ajaxComplete(complete).ajaxError(error).ajaxSuccess(success); + $('#foo').ajaxStart(complete).ajaxStop(complete).ajaxSend(send).ajaxComplete(complete).ajaxError(error).ajaxSuccess(success); // start with successful test - $.ajax({url: "data/name.php", success: success, error: error, complete: function() { + $.ajax({url: "data/name.php", beforeSend: send, success: success, error: error, complete: function() { ok( counter.error == 0, 'Check succesful request' ); ok( counter.success == 2, 'Check succesful request' ); ok( counter.complete == 3, 'Check succesful request' ); - counter.error = counter.success = counter.complete = 0; + ok( counter.send == 2, 'Check succesful request' ); + counter.error = counter.success = counter.complete = counter.send = 0; $.ajaxTimeout(500); - $.ajax({url: "data/name.php?wait=5", success: success, error: error, complete: function() { + $.ajax({url: "data/name.php?wait=5", beforeSend: send, success: success, error: error, complete: function() { ok( counter.error == 2, 'Check failed request' ); ok( counter.success == 0, 'Check failed request' ); ok( counter.complete == 3, 'Check failed request' ); + ok( counter.send == 2, 'Check failed request' ); start(); }}); }}); }); test("test global handlers - failure", function() { - expect(6); + expect(8); stop(); - var counter = { complete: 0, success: 0, error: 0 }, + var counter = { complete: 0, success: 0, error: 0, send: 0 }, success = function() { counter.success++ }, - error = function() { counter.error++ }; + error = function() { counter.error++ }, + complete = function() { counter.complete++ }, + send = function() { counter.send++ }; $.ajaxTimeout(0); - $.ajax({url: "data/name.php", global: false, success: success, error: error, complete: function() { + $('#foo').ajaxStart(complete).ajaxStop(complete).ajaxSend(send).ajaxComplete(complete).ajaxError(error).ajaxSuccess(success); + $.ajax({url: "data/name.php", global: false, beforeSend: send, success: success, error: error, complete: function() { ok( counter.error == 0, 'Check sucesful request without globals' ); ok( counter.success == 1, 'Check sucesful request without globals' ); ok( counter.complete == 0, 'Check sucesful request without globals' ); - counter.error = counter.success = counter.complete = 0; + ok( counter.send == 1, 'Check sucesful request without globals' ); + counter.error = counter.success = counter.complete = counter.send = 0; $.ajaxTimeout(500); - $.ajax({url: "data/name.php?wait=5", global: false, success: success, error: error, complete: function() { + $.ajax({url: "data/name.php?wait=5", global: false, beforeSend: send, success: success, error: error, complete: function() { ok( counter.error == 1, 'Check failed request without globals' ); ok( counter.success == 0, 'Check failed request without globals' ); ok( counter.complete == 0, 'Check failed request without globals' ); + ok( counter.send == 1, 'Check failed request without globals' ); start(); }}); }}); @@ -277,4 +285,21 @@ test("$.ajax - xml: non-namespace elements inside namespaced elements", function start(); } }); +}); + +test("$.ajax - beforeSend", function() { + expect(1); + stop(); + var customHeader = "value"; + $.ajax({ + url: "data/name.php", + data: {'req': true}, + beforeSend: function(xml) { + xml.setRequestHeader('X-Custom-Header', customHeader); + }, + success: function(data) { + ok( data == customHeader, "check return value, should be the custom header sent" ); + start(); + } + }); }); \ No newline at end of file