From b715135d11706443df27c4a18f3f9a5dd190c236 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Wed, 10 May 2023 13:39:56 +0200 Subject: [PATCH] Tests: Workaround a dialog test issue by a proper cleanup The `#favorite-animal` focus & blur handlers used to not be cleaned up after the test automatically, leading to issues with some jQuery versions. --- tests/unit/dialog/methods.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tests/unit/dialog/methods.js b/tests/unit/dialog/methods.js index 5d01f223d..cfdc44bb2 100644 --- a/tests/unit/dialog/methods.js +++ b/tests/unit/dialog/methods.js @@ -214,7 +214,7 @@ QUnit.test( "Ensure form elements don't reset when opening a dialog", function( } ); QUnit.test( "#8958: dialog can be opened while opening", function( assert ) { - var ready = assert.async(); + var ready = assert.async( 3 ); assert.expect( 1 ); var element = $( "
" ).dialog( { @@ -227,7 +227,7 @@ QUnit.test( "#8958: dialog can be opened while opening", function( assert ) { } ); // Support: IE8 - // For some reason the #favorite-color input doesn't get focus if we don't + // For some reason the #favorite-animal input doesn't get focus if we don't // focus the body first, causing the test to hang. $( "body" ).trigger( "focus" ); @@ -238,6 +238,7 @@ QUnit.test( "#8958: dialog can be opened while opening", function( assert ) { // the dialog to gain focus, thus blurring the input. .on( "focus", function() { element.dialog( "open" ); + ready(); } ) // When the input blurs, the dialog is in the process of opening. We @@ -246,6 +247,12 @@ QUnit.test( "#8958: dialog can be opened while opening", function( assert ) { // being opened. .on( "blur", function() { element.dialog( "open" ); + + // Detach the handlers to avoid firing them outside of this + // test logic; this may affect other tests. + $( this ).off( "focus blur" ); + + ready(); } ) .trigger( "focus" ); } ); -- 2.39.5