diff options
author | jaubourg <j@ubourg.net> | 2013-01-08 10:10:18 +0100 |
---|---|---|
committer | jaubourg <j@ubourg.net> | 2013-01-08 10:10:18 +0100 |
commit | ed6209e8b219fd8e797a42effee4ccecf063bb21 (patch) | |
tree | ea3db5b5c8820e4584479d5089d3929914c55483 | |
parent | 57d9dcd4a0c3a56160144b7f468fff6e419fed84 (diff) | |
download | jquery-ed6209e8b219fd8e797a42effee4ccecf063bb21.tar.gz jquery-ed6209e8b219fd8e797a42effee4ccecf063bb21.zip |
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
-rw-r--r-- | test/unit/ajax.js | 51 |
1 files changed, 10 insertions, 41 deletions
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(); } }); }); |