mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
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.
This commit is contained in:
parent
23655f0dbd
commit
b715135d11
@ -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 ) {
|
QUnit.test( "#8958: dialog can be opened while opening", function( assert ) {
|
||||||
var ready = assert.async();
|
var ready = assert.async( 3 );
|
||||||
assert.expect( 1 );
|
assert.expect( 1 );
|
||||||
|
|
||||||
var element = $( "<div>" ).dialog( {
|
var element = $( "<div>" ).dialog( {
|
||||||
@ -227,7 +227,7 @@ QUnit.test( "#8958: dialog can be opened while opening", function( assert ) {
|
|||||||
} );
|
} );
|
||||||
|
|
||||||
// Support: IE8
|
// 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.
|
// focus the body first, causing the test to hang.
|
||||||
$( "body" ).trigger( "focus" );
|
$( "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.
|
// the dialog to gain focus, thus blurring the input.
|
||||||
.on( "focus", function() {
|
.on( "focus", function() {
|
||||||
element.dialog( "open" );
|
element.dialog( "open" );
|
||||||
|
ready();
|
||||||
} )
|
} )
|
||||||
|
|
||||||
// When the input blurs, the dialog is in the process of opening. We
|
// 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.
|
// being opened.
|
||||||
.on( "blur", function() {
|
.on( "blur", function() {
|
||||||
element.dialog( "open" );
|
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" );
|
.trigger( "focus" );
|
||||||
} );
|
} );
|
||||||
|
Loading…
Reference in New Issue
Block a user