From: jaubourg Date: Tue, 8 Jan 2013 09:10:18 +0000 (+0100) Subject: Tweaks the logic in the 304-related unit tests so that they pass for versions of... X-Git-Tag: 2.0.0b1~23 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=ed6209e8b219fd8e797a42effee4ccecf063bb21;p=jquery.git Tweaks the logic in the 304-related unit tests so that they pass for versions of Opera that support manual 304 handling as well as for those that don't --- diff --git a/test/unit/ajax.js b/test/unit/ajax.js index 25d942e37..c87fe2a00 100644 --- a/test/unit/ajax.js +++ b/test/unit/ajax.js @@ -972,93 +972,62 @@ module( "ajax", { " (no cache)": false }, function( label, cache ) { + // Support: Opera 12.0 + // Old Opera's XHR doesn't support 304/If-Modified-Since/If-None-Match var isOpera = !!window.opera; - asyncTest( "jQuery.ajax() - If-Modified-Since support" + label, 3, function() { var url = "data/if_modified_since.php?ts=" + ifModifiedNow++; - jQuery.ajax({ url: url, ifModified: true, cache: cache, success: function( data, status ) { strictEqual( status, "success" ); - jQuery.ajax({ url: url, ifModified: true, cache: cache, success: function( data, status ) { - if ( data === "FAIL" ) { - ok( isOpera, "Opera is incapable of doing .setRequestHeader('If-Modified-Since')." ); - ok( isOpera, "Opera is incapable of doing .setRequestHeader('If-Modified-Since')." ); + if ( status === "success" ) { + ok( isOpera, "Old Opera is incapable of doing .setRequestHeader('If-Modified-Since')." ); + ok( isOpera, "Old Opera is incapable of doing .setRequestHeader('If-Modified-Since')." ); } else { strictEqual( status, "notmodified" ); ok( data == null, "response body should be empty" ); } - start(); }, - error: function() { - // 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( isOpera, "error" ); - ok( isOpera, "error" ); + complete: function() { start(); } }); - }, - error: function() { - strictEqual( 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( isOpera, "error" ); - start(); } }); }); - asyncTest( "jQuery.ajax() - Etag support" + label, 3, function() { var url = "data/etag.php?ts=" + ifModifiedNow++; - jQuery.ajax({ url: url, ifModified: true, cache: cache, success: function( data, status ) { strictEqual( status, "success" ); - jQuery.ajax({ url: url, ifModified: true, cache: cache, success: function( data, status ) { - if ( data === "FAIL" ) { - ok( isOpera, "Opera is incapable of doing .setRequestHeader('If-None-Match')." ); - ok( isOpera, "Opera is incapable of doing .setRequestHeader('If-None-Match')." ); + if ( status === "success" ) { + ok( isOpera, "Old Opera is incapable of doing .setRequestHeader('If-None-Match')." ); + ok( isOpera, "Old Opera is incapable of doing .setRequestHeader('If-None-Match')." ); } else { strictEqual( status, "notmodified" ); ok( data == null, "response body should be empty" ); } - start(); }, - error: function() { - // 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( isOpera, "error" ); - ok( isOpera, "error" ); + complete: function() { start(); } }); - }, - error: function() { - // 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( isOpera, "error" ); - start(); } }); });