+test("test global handlers - success", function() {
+ expect( isLocal ? 4 : 8 );
+ stop();
+
+ var counter = { complete: 0, success: 0, error: 0, send: 0 },
+ success = function() { counter.success++ },
+ error = function() { counter.error++ },
+ complete = function() { counter.complete++ },
+ send = function() { counter.send++ };
+
+ $('#foo').ajaxStart(complete).ajaxStop(complete).ajaxSend(send).ajaxComplete(complete).ajaxError(error).ajaxSuccess(success);
+
+ // start with successful test
+ $.ajax({url: url("data/name.html"), beforeSend: send, success: success, error: error, complete: function() {
+ equals( counter.error, 0, 'Check succesful request, error callback' );
+ equals( counter.success, 2, 'Check succesful request, success callback' );
+ equals( counter.complete, 3, 'Check succesful request, complete callback' );
+ equals( counter.send, 2, 'Check succesful request, send callback' );
+
+ if ( !isLocal ) {
+ counter.error = counter.success = counter.complete = counter.send = 0;
+ $.ajaxTimeout(500);
+
+ $.ajax({url: url("data/name.php?wait=5"), beforeSend: send, success: success, error: error, complete: function() {
+ equals( counter.error, 2, 'Check failed request, error callback' );
+ equals( counter.success, 0, 'Check failed request, success callback' );
+ equals( counter.complete, 3, 'Check failed request, failed callback' );
+ equals( counter.send, 2, 'Check failed request, send callback' );
+ start();
+ }});
+ } else
+ start();
+ }});
+});
+
+test("test global handlers - failure", function() {
+ expect( isLocal ? 4 : 8 );
+ stop();
+
+ var counter = { complete: 0, success: 0, error: 0, send: 0 },
+ success = function() { counter.success++ },
+ error = function() { counter.error++ },
+ complete = function() { counter.complete++ },
+ send = function() { counter.send++ };
+
+ $.ajaxTimeout(0);
+
+ $('#foo').ajaxStart(complete).ajaxStop(complete).ajaxSend(send).ajaxComplete(complete).ajaxError(error).ajaxSuccess(success);
+
+ $.ajax({url: 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' );
+ ok( counter.send == 1, 'Check sucesful request without globals' );
+
+ if ( !isLocal ) {
+ counter.error = counter.success = counter.complete = counter.send = 0;
+ $.ajaxTimeout(500);
+
+ $.ajax({url: 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();
+ }});
+ } else
+ start();
+ }});
+});
+
+test("$.ajax - beforeSend", function() {
+ expect(1);
+ stop();
+
+ var check = false;
+
+ $.ajaxSetup({ timeout: 0 });
+
+ $.ajax({
+ url: url("data/name.html"),
+ beforeSend: function(xml) {
+ check = true;
+ },
+ success: function(data) {
+ ok( check, "check beforeSend was executed" );
+ start();
+ }
+ });
+});
+
+test("$.ajax - dataType html", function() {
+ expect(5);
+ stop();
+
+ foobar = null;
+ testFoo = undefined;
+
+ var verifyEvaluation = function() {
+ ok( testFoo == "foo", 'Check if script was evaluated for datatype html' );
+ ok( foobar == "bar", 'Check if script src was evaluated for datatype html' );
+ start();
+ };
+
+ $.ajax({
+ dataType: "html",
+ url: url("data/test.html"),
+ success: function(data) {
+ $("#ap").html(data);
+ ok( data.match(/^html text/), 'Check content for datatype html' );
+ setTimeout(verifyEvaluation, 600);
+ }
+ });
+});
+
+if ( !isLocal ) {
+