]> source.dussan.org Git - jquery.git/commitdiff
Run focus test only if document has focus
authorOleg <markelog@gmail.com>
Mon, 23 Sep 2013 16:50:31 +0000 (20:50 +0400)
committerOleg <markelog@gmail.com>
Mon, 23 Sep 2013 17:10:00 +0000 (21:10 +0400)
(cherry picked from commit 0b9a182ecde49adb508d76577e8f244da08a1e51)

test/unit/event.js

index 1509043ce66b8d9b3d91c441be9bbdebcddc2252..cbbde37a5ee1af40ec8edb4706bc7acdeb2c1731 100644 (file)
@@ -2567,35 +2567,35 @@ test( "make sure events cloned correctly", 18, function() {
        clone.find("#check1").trigger("change"); // 0 events should fire
 });
 
-asyncTest( "Check order of focusin/focusout events", 2, function() {
-       var focus, blur,
-               input = jQuery("#name");
+// This test fails in some browsers if document does not have focus
+if ( !document.hasFocus || document.hasFocus && document.hasFocus() ) {
+       test( "Check order of focusin/focusout events", 2, function() {
+               var focus, blur,
+                       input = jQuery( "#name" );
 
-       input.on("focus", function() {
-               focus = true;
+               input.on( "focus", function() {
+                       focus = true;
 
-       }).on("focusin", function() {
-               ok( !focus, "Focusin event should fire before focus does" );
+               }).on( "focusin", function() {
+                       ok( !focus, "Focusin event should fire before focus does" );
 
-       }).on("blur", function() {
-               blur = true;
+               }).on( "blur", function() {
+                       blur = true;
 
-       }).on("focusout", function() {
-               ok( !blur, "Focusout event should fire before blur does" );
-       });
+               }).on( "focusout", function() {
+                       ok( !blur, "Focusout event should fire before blur does" );
+               });
 
-       // gain focus
-       input.trigger("focus");
+               // gain focus
+               input.trigger( "focus" );
 
-       // then lose it
-       jQuery("#search").trigger("focus");
+               // then lose it
+               jQuery( "#search" ).trigger( "focus" );
 
-       // cleanup
-       setTimeout(function() {
+               // cleanup
                input.off();
-               start();
-       }, 50 );
-});
+       });
+}
 
 test( "String.prototype.namespace does not cause trigger() to throw (#13360)", function() {
        expect( 1 );