]> source.dussan.org Git - jquery.git/commitdiff
Ajax: don’t test jQuery.ajax() on beforeunload in Chrome 31
authorMichał Gołębiowski <m.goleb@gmail.com>
Wed, 18 Dec 2013 14:10:42 +0000 (15:10 +0100)
committerMichał Gołębiowski <m.goleb@gmail.com>
Wed, 18 Dec 2013 14:10:42 +0000 (15:10 +0100)
Chrome 31 doesn't fire Ajax requests in beforeunload event handler.
There is no way for us to workaround it and it's been fixed in Chrome 32
so let's just blacklist Chrome 31 as long as it's in TestSwarm.
See https://code.google.com/p/chromium/issues/detail?id=321241

test/unit/ajax.js

index ad44ba68b3ac14265c6e6b6eb197d5b6e62e6a77..77648404cb90c483d044ead0ef34aef1eb440843 100644 (file)
@@ -1532,10 +1532,17 @@ module( "ajax", {
                }
        } );
 
-       testIframeWithCallback( "#14379 - jQuery.ajax() on unload", "ajax/onunload.html", function( status ) {
-               expect( 1 );
-               strictEqual( status, "success", "Request completed" );
-       });
+       // Support: Chrome 31.
+       // Chrome 31 doesn't fire Ajax requests in beforeunload event handler.
+       // There is no way for us to workaround it and it's been fixed in Chrome 32
+       // so let's just blacklist Chrome 31 as long as it's in TestSwarm.
+       // See https://code.google.com/p/chromium/issues/detail?id=321241
+       if ( navigator.userAgent.indexOf( " Chrome/31." ) === -1 ) {
+               testIframeWithCallback( "#14379 - jQuery.ajax() on unload", "ajax/onunload.html", function( status ) {
+                       expect( 1 );
+                       strictEqual( status, "success", "Request completed" );
+               });
+       }
 
 //----------- jQuery.ajaxPrefilter()