Fixed the handling of .status == 304 in Opera (it always returns 0). Also silently "pass" in Opera 9.6 (which is unable to send the correct headers with setRequestHeader). Follow-up to bug #4764.

This commit is contained in:
John Resig 2009-07-14 21:13:23 +00:00
parent 89dc1e0143
commit c3c94823f2
4 changed files with 30 additions and 8 deletions

View file

@ -11,6 +11,11 @@ if ($ifNoneMatch == $etag) {
}
header("Etag: " . $etag);
echo "OK: " . $etag;
if ( $ifNoneMatch ) {
echo "OK: " . $etag;
} else {
echo "FAIL";
}
?>

View file

@ -10,6 +10,11 @@ if ($ifModifiedSince == $ts) {
}
header("Last-Modified: " . $ts);
echo "OK: " . $ts;
if ( $ifModifiedSince ) {
echo "OK: " . $ts;
} else {
echo "FAIL";
}
?>

View file

@ -891,8 +891,13 @@ test("jQuery.ajax - If-Modified-Since support", function() {
url: url,
ifModified: true,
success: function(data, status) {
equals(status, "notmodified");
ok(data == null, "response body should be empty")
if ( data === "FAIL" ) {
ok(true, "Opera is incapable of doing .setRequestHeader('If-Modified-Since').");
ok(true, "Opera is incapable of doing .setRequestHeader('If-Modified-Since').");
} else {
equals(status, "notmodified");
ok(data == null, "response body should be empty")
}
start();
}
});
@ -917,8 +922,13 @@ test("jQuery.ajax - Etag support", function() {
url: url,
ifModified: true,
success: function(data, status) {
equals(status, "notmodified");
ok(data == null, "response body should be empty")
if ( data === "FAIL" ) {
ok(true, "Opera is incapable of doing .setRequestHeader('If-None-Matches').");
ok(true, "Opera is incapable of doing .setRequestHeader('If-None-Matches').");
} else {
equals(status, "notmodified");
ok(data == null, "response body should be empty")
}
start();
}
});