@@ -968,7 +968,9 @@ describe('finance charts *special* handlers:', function() {
968968
969969 afterEach ( destroyGraphDiv ) ;
970970
971- it ( '`editable: true` handles should work' , function ( done ) {
971+ it ( '`editable: true` handlers should work' , function ( done ) {
972+
973+ var gd = createGraphDiv ( ) ;
972974
973975 function editText ( itemNumber , newText ) {
974976 var textNode = d3 . selectAll ( 'text.legendtext' )
@@ -981,11 +983,17 @@ describe('finance charts *special* handlers:', function() {
981983 editNode . textContent = newText ;
982984 editNode . dispatchEvent ( new window . FocusEvent ( 'focus' ) ) ;
983985 editNode . dispatchEvent ( new window . FocusEvent ( 'blur' ) ) ;
986+ }
984987
985- editNode . remove ( ) ;
988+ // makeEditable in svg_text_utils clears the edit <div> in
989+ // a 0-second transition, so push the resolve call at the back
990+ // of the rendering queue to make sure the edit <div> is properly
991+ // cleared after each mocked text edits.
992+ function delayedResolve ( resolve ) {
993+ setTimeout ( function ( ) { return resolve ( gd ) ; } , 0 ) ;
986994 }
987995
988- Plotly . plot ( createGraphDiv ( ) , [
996+ Plotly . plot ( gd , [
989997 Lib . extendDeep ( { } , mock0 , { type : 'ohlc' } ) ,
990998 Lib . extendDeep ( { } , mock0 , { type : 'candlestick' } )
991999 ] , { } , {
@@ -996,7 +1004,7 @@ describe('finance charts *special* handlers:', function() {
9961004 gd . once ( 'plotly_restyle' , function ( eventData ) {
9971005 expect ( eventData [ 0 ] [ 'increasing.name' ] ) . toEqual ( '0' ) ;
9981006 expect ( eventData [ 1 ] ) . toEqual ( [ 0 ] ) ;
999- resolve ( gd ) ;
1007+ delayedResolve ( resolve ) ;
10001008 } ) ;
10011009
10021010 editText ( 0 , '0' ) ;
@@ -1007,7 +1015,7 @@ describe('finance charts *special* handlers:', function() {
10071015 gd . once ( 'plotly_restyle' , function ( eventData ) {
10081016 expect ( eventData [ 0 ] [ 'decreasing.name' ] ) . toEqual ( '1' ) ;
10091017 expect ( eventData [ 1 ] ) . toEqual ( [ 0 ] ) ;
1010- resolve ( gd ) ;
1018+ delayedResolve ( resolve ) ;
10111019 } ) ;
10121020
10131021 editText ( 1 , '1' ) ;
@@ -1018,7 +1026,7 @@ describe('finance charts *special* handlers:', function() {
10181026 gd . once ( 'plotly_restyle' , function ( eventData ) {
10191027 expect ( eventData [ 0 ] [ 'decreasing.name' ] ) . toEqual ( '2' ) ;
10201028 expect ( eventData [ 1 ] ) . toEqual ( [ 1 ] ) ;
1021- resolve ( gd ) ;
1029+ delayedResolve ( resolve ) ;
10221030 } ) ;
10231031
10241032 editText ( 3 , '2' ) ;
@@ -1029,7 +1037,7 @@ describe('finance charts *special* handlers:', function() {
10291037 gd . once ( 'plotly_restyle' , function ( eventData ) {
10301038 expect ( eventData [ 0 ] [ 'increasing.name' ] ) . toEqual ( '3' ) ;
10311039 expect ( eventData [ 1 ] ) . toEqual ( [ 1 ] ) ;
1032- resolve ( gd ) ;
1040+ delayedResolve ( resolve ) ;
10331041 } ) ;
10341042
10351043 editText ( 2 , '3' ) ;
0 commit comments