aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjaubourg <j@ubourg.net>2013-01-08 10:10:18 +0100
committerjaubourg <j@ubourg.net>2013-01-08 10:10:18 +0100
commited6209e8b219fd8e797a42effee4ccecf063bb21 (patch)
treeea3db5b5c8820e4584479d5089d3929914c55483
parent57d9dcd4a0c3a56160144b7f468fff6e419fed84 (diff)
downloadjquery-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.js51
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();
}
});
});