test("jQuery.ajax() - textStatus and errorThrown values", function() {
- var nb = 3;
+ var nb = 2;
expect( 2 * nb );
stop();
}
}
+ /*
+ Safari 3.x returns "OK" instead of "Not Found"
+ Safari 4.x doesn't have this issue so the test should be re-instated once
+ we drop support for 3.x
+
jQuery.ajax({
url: url("data/nonExistingURL"),
error: function( _ , textStatus , errorThrown ){
startN();
}
});
+ */
jQuery.ajax({
url: url("data/name.php?wait=5"),
});
+test(".ajax() - protocol-less urls", function() {
+ expect(1);
+
+ jQuery.ajax({
+ url: "//somedomain.com",
+ beforeSend: function( xhr, settings ) {
+ equals(settings.url, location.protocol + "//somedomain.com", "Make sure that the protocol is added.");
+ return false;
+ }
+ });
+});
+
test(".ajax() - hash", function() {
expect(3);
});
test("jQuery.param()", function() {
- expect(22);
+ expect(23);
equals( !jQuery.ajaxSettings.traditional, true, "traditional flag, falsy by default" );
params = { param1: null };
equals( jQuery.param(params,false), "param1=null", "Make sure that null params aren't traversed." );
+
+ params = {'test': {'length': 3, 'foo': 'bar'} };
+ equals( jQuery.param( params, false ), "test%5Blength%5D=3&test%5Bfoo%5D=bar", "Sub-object with a length property" );
});
test("synchronous request", function() {
});
test("jQuery.getScript(String, Function) - with callback", function() {
- expect(2);
+ expect(3);
stop();
- jQuery.getScript(url("data/test.js"), function() {
+ jQuery.getScript(url("data/test.js"), function( data, _, jXHR ) {
equals( foobar, "bar", 'Check if script was evaluated' );
+ strictEqual( data, jXHR.responseText, "Same-domain script requests returns the source of the script (#8082)" );
setTimeout(start, 100);
});
});
jQuery.each( [ "Same Domain", "Cross Domain" ] , function( crossDomain , label ) {
test("jQuery.ajax() - JSONP, " + label, function() {
- expect(17);
+ expect(16);
var count = 0;
- function plus(){ if ( ++count == 17 ) start(); }
+ function plus(){ if ( ++count == 16 ) start(); }
stop();
url: "data/jsonp.php",
dataType: "jsonp",
crossDomain: crossDomain,
- data: {
- callback: "?"
- },
- success: function(data){
- ok( data.data, "JSON results returned (GET, processed data callback)" );
- plus();
- },
- error: function(data){
- ok( false, "Ajax error JSON (GET, processed data callback)" );
- plus();
- }
- });
-
- jQuery.ajax({
- url: "data/jsonp.php",
- dataType: "jsonp",
- crossDomain: crossDomain,
jsonp: "callback",
success: function(data){
ok( data.data, "JSON results returned (GET, data obj callback)" );
});
});
-test("jQuery.post - data", function() {
- expect(2);
+test("jQuery.post - data", 3, function() {
stop();
- jQuery.post(url("data/name.php"), {xml: "5-2", length: 3}, function(xml){
- jQuery('math', xml).each(function() {
- equals( jQuery('calculation', this).text(), '5-2', 'Check for XML' );
- equals( jQuery('result', this).text(), '3', 'Check for XML' );
- });
- start();
- });
+ jQuery.when(
+ jQuery.post( url( "data/name.php" ), { xml: "5-2", length: 3 }, function( xml ) {
+ jQuery( 'math', xml ).each( function() {
+ equals( jQuery( 'calculation', this ).text(), '5-2', 'Check for XML' );
+ equals( jQuery( 'result', this ).text(), '3', 'Check for XML' );
+ })
+ }),
+
+ jQuery.ajax({
+ url: url('data/echoData.php'),
+ type: "POST",
+ data: {
+ 'test': {
+ 'length': 7,
+ 'foo': 'bar'
+ }
+ },
+ success: function( data ) {
+ strictEqual( data, 'test%5Blength%5D=7&test%5Bfoo%5D=bar', 'Check if a sub-object with a length param is serialized correctly');
+ }
+ })
+ ).then( start, start );
+
});
test("jQuery.post(String, Hash, Function) - simple with xml", function() {
jQuery.ajax( url("data/json.php") , {
converters: {
- "json myjson": function( data ) {
+ "json myJson": function( data ) {
ok( true , "converter called" );
return data;
}
},
- dataType: "myjson",
+ dataType: "myJson",
success: function() {
ok( true , "Transitive conversion worked" );
strictEqual( this.dataTypes[0] , "text" , "response was retrieved as text" );
jQuery.ajax( url("data/json.php") , {
converters: {
- "json myjson": function( data ) {
+ "json myJson": function( data ) {
ok( true , "converter called (*)" );
return data;
}
},
contents: false, /* headers are wrong so we ignore them */
- dataType: "* myjson",
+ dataType: "* myJson",
success: function() {
ok( true , "Transitive conversion worked (*)" );
strictEqual( this.dataTypes[0] , "text" , "response was retrieved as text (*)" );