X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fajax%2FajaxTest.js;h=f530c1ce6ff0fb6a10aba83185daa9fb5aa9ae45;hb=8937e088b6f06a0dbef36348aef5d7c10f3af340;hp=0a740aa9b584997191b12dc5b7735c5cbe230e6e;hpb=2bdd208e4100f0b28b595b93eb07f18f63aa8ce5;p=jquery.git diff --git a/src/ajax/ajaxTest.js b/src/ajax/ajaxTest.js index 0a740aa..f530c1c 100644 --- a/src/ajax/ajaxTest.js +++ b/src/ajax/ajaxTest.js @@ -22,6 +22,34 @@ test("param", function() { ok( $.param(params) == "foo[bar]=baz&foo[beep]=42&foo[quux]=All%20your%20base%20are%20belong%20to%20us", "even more arrays" ); }); +test("pass-through request object", function() { + expect(7); + stop(true); + var count = 0; + var success = function() { + if(count++ == 6) + start(); + } + var url = "data/name.php"; + ok( $.get(url, success), "get" ); + ok( $.getIfModified(url, success), "getIfModified" ); + ok( $.post(url, success), "post" ); + ok( $.getScript("data/test.js", success), "script" ); + ok( $.getJSON("data/json.php", success), "json" ); + ok( $.ajax({url: url, success: success}), "generic" ); +}); + +test("synchronous request", function() { + ok( /^{ "data"/.test( $.ajax({url: "data/json.php", async: false}).responseText ), "check returned text" ); +}); + +test("synchronous request with callbacks", function() { + expect(2); + var result; + $.ajax({url: "data/json.php", async: false, success: function(data) { ok(true, "sucess callback executed"); result = data; } }); + ok( /^{ "data"/.test( result ), "check returned text" ); +}); + test("load(String, Object, Function) - simple: inject text into DOM", function() { expect(2); stop(); @@ -33,7 +61,7 @@ test("load(String, Object, Function) - simple: inject text into DOM", function() test("load(String, Object, Function) - inject without callback", function() { expect(1); - stop(); // check if load can be called with only url + stop(true); // check if load can be called with only url $('#first').load("data/name.php"); }); @@ -55,47 +83,56 @@ 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() { + var x = counter; 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(); }}); }}); @@ -135,7 +172,7 @@ test("$.getScript(String, Function) - with callback", function() { test("$.getScript(String, Function) - no callback", function() { expect(1); - stop(); + stop(true); $.getScript("data/test.js"); }); @@ -199,6 +236,8 @@ test("$.ajaxTimeout(Number) - with global timeout", function() { error: pass, success: fail }); + // reset timeout + $.ajaxTimeout(0); }); test("$.ajaxTimeout(Number) with localtimeout", function() { @@ -279,19 +318,32 @@ test("$.ajax - xml: non-namespace elements inside namespaced elements", function }); }); -test("$.ajax - preprocess", function() { +test("$.ajax - beforeSend", function() { expect(1); stop(); - var customHeader = "value-for-custom-header"; + var check = false; $.ajax({ url: "data/name.php", data: {'req': true}, - before: function(xml) { - xml.setRequestHeader('customHeader', customHeader) + beforeSend: function(xml) { + check = true }, success: function(data) { - ok( data == customHeader, "check return value, should be the custom header sent" ); + ok( check, "check beforeSend was executed" ); + start(); + } + }); +}); + +test("ajaxSetup()", function() { + expect(1); + stop(); + $.ajaxSetup({ + url: "data/name.php?name=foo", + success: function(msg){ + ok( msg == 'bar', 'Check for GET' ); start(); } }); -}); \ No newline at end of file + $.ajax(); +});