]> source.dussan.org Git - jquery.git/commitdiff
Tests: Abort focus tests when the environment doesn't cooperate
authorRichard Gibson <richard.gibson@gmail.com>
Wed, 19 Jul 2017 00:49:47 +0000 (20:49 -0400)
committerRichard Gibson <richard.gibson@gmail.com>
Wed, 19 Jul 2017 00:49:47 +0000 (20:49 -0400)
Ref gh-3732

test/unit/event.js

index f1bf3bfa1a6922a3510cf03b2fb441f154d5012a..8a8a5589e32d6a015fdabfb4f9e473ef1e4945d3 100644 (file)
@@ -2811,11 +2811,20 @@ QUnit.test( "preventDefault() on focusin does not throw exception", function( as
                done = null;
        } );
 
-       // This test can be flaky in CI... try two methods to prompt a focusin event
+       // This test can be unreliable in CI... try two methods to prompt a focusin event
+       // and set an abort timeout
        input.trigger( "focus" );
        try {
                input[ 0 ].focus();
        } catch ( e ) {}
+       setTimeout( function() {
+               if ( !done ) {
+                       return;
+               }
+               assert.ok( true, "Did not intercept focusin" );
+               done();
+               done = null;
+       }, QUnit.config.testTimeout / 2 || 1000 );
 } );
 
 QUnit.test( "Donor event interference", function( assert ) {