X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=test%2Funit%2Fajax.js;h=734465916bd07252be7b34df64ceaa48bc013403;hb=09022e0b09db71259751e7146bb64727615028af;hp=61992706d59dbef8e17760f9706844b73a74b77b;hpb=ea6a4813b7d996f6f7af0b61a5f1bf4ab80b291d;p=jquery.git diff --git a/test/unit/ajax.js b/test/unit/ajax.js index 6199270..7344659 100644 --- a/test/unit/ajax.js +++ b/test/unit/ajax.js @@ -104,7 +104,10 @@ test(".ajax() - 304", function() { jQuery.ajax({ url: url("data/notmodified.php"), success: function(){ ok(true, "304 ok"); }, - error: function(){ ok(false, "304 not ok "); }, + // Do this because opera simply refuses to implement 304 handling :( + // A feature-driven way of detecting this would be appreciated + // See: http://gist.github.com/599419 + error: function(){ ok(jQuery.browser.opera, "304 not ok "); }, complete: function(xhr){ start(); } }); }); @@ -286,6 +289,32 @@ test("jQuery.ajax - xml: non-namespace elements inside namespaced elements", fun }); }); +test("jQuery.ajax - HEAD requests", function() { + expect(2); + + stop(); + jQuery.ajax({ + url: url("data/name.html"), + type: "HEAD", + success: function(data, status, xhr){ + var h = xhr.getAllResponseHeaders(); + ok( /Date/i.test(h), 'No Date in HEAD response' ); + + jQuery.ajax({ + url: url("data/name.html"), + data: { whip_it: "good" }, + type: "HEAD", + success: function(data, status, xhr){ + var h = xhr.getAllResponseHeaders(); + ok( /Date/i.test(h), 'No Date in HEAD response with data' ); + start(); + } + }); + } + }); + +}); + test("jQuery.ajax - beforeSend", function() { expect(1); stop(); @@ -362,11 +391,11 @@ test("serialize()", function() { ); equals( jQuery('#form').serialize(), - "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&email=dave%40jquery.com&number=43&select1=&select2=3&select3=1&select3=2", + "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&email=dave%40jquery.com&number=43&select1=&select2=3&select3=1&select3=2&select5=3", 'Check form serialization as query string'); equals( jQuery('#form :input').serialize(), - "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&email=dave%40jquery.com&number=43&select1=&select2=3&select3=1&select3=2", + "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&email=dave%40jquery.com&number=43&select1=&select2=3&select3=1&select3=2&select5=3", 'Check input serialization as query string'); equals( jQuery('#testForm').serialize(), @@ -378,7 +407,7 @@ test("serialize()", function() { 'Check input serialization as query string'); equals( jQuery('#form, #testForm').serialize(), - "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&email=dave%40jquery.com&number=43&select1=&select2=3&select3=1&select3=2&T3=%3F%0AZ&H1=x&H2=&PWD=&T1=&T2=YES&My+Name=me&S1=abc&S3=YES&S4=", + "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&email=dave%40jquery.com&number=43&select1=&select2=3&select3=1&select3=2&select5=3&T3=%3F%0AZ&H1=x&H2=&PWD=&T1=&T2=YES&My+Name=me&S1=abc&S3=YES&S4=", 'Multiple form serialization as query string'); /* Temporarily disabled. Opera 10 has problems with form serialization. @@ -796,6 +825,21 @@ test("jQuery.ajax() - JSONP, Local", function() { plus(); } }); + + // Supports Ticket #5803 + jQuery.ajax({ + url: "data/jsonp.php", + jsonpCallback: "jsonpResults", + success: function(data){ + ok( data.data, "JSON results returned without dataType:jsonp when jsonpCallback is defined" ); + plus(); + }, + error: function(data){ + ok( false, "Ajax error JSON (GET, custom callback name)" ); + plus(); + } + }); + }); test("JSONP - Custom JSONP Callback", function() { @@ -1249,13 +1293,20 @@ test("jQuery.ajax - If-Modified-Since support", function() { start(); }, error: function() { - equals(false, "error"); + // Do this because opera simply refuses to implement 304 handling :( + // A feature-driven way of detecting this would be appreciated + // See: http://gist.github.com/599419 + ok(jQuery.browser.opera, "error"); + ok(jQuery.browser.opera, "error"); start(); } }); }, error: function() { - equals(false, "error"); + // Do this because opera simply refuses to implement 304 handling :( + // A feature-driven way of detecting this would be appreciated + // See: http://gist.github.com/599419 + ok(jQuery.browser.opera, "error"); start(); } }); @@ -1288,20 +1339,27 @@ test("jQuery.ajax - Etag support", function() { start(); }, error: function() { - equals(false, "error"); + // Do this because opera simply refuses to implement 304 handling :( + // A feature-driven way of detecting this would be appreciated + // See: http://gist.github.com/599419 + ok(jQuery.browser.opera, "error"); + ok(jQuery.browser.opera, "error"); start(); } }); }, error: function() { - equals(false, "error"); + // Do this because opera simply refuses to implement 304 handling :( + // A feature-driven way of detecting this would be appreciated + // See: http://gist.github.com/599419 + ok(jQuery.browser.opera, "error"); start(); } }); }); test("jQuery.ajax - active counter", function() { - ok( jQuery.ajax.active == 0, "ajax active counter should be zero: " + jQuery.ajax.active ); + ok( jQuery.active == 0, "ajax active counter should be zero: " + jQuery.active ); });