@@ -255,6 +255,7 @@ test('supports automatic reset of error boundary when resetKeys change', () => {
255255 const handleReset = jest . fn ( )
256256 const TRY_AGAIN_ARG1 = 'TRY_AGAIN_ARG1'
257257 const TRY_AGAIN_ARG2 = 'TRY_AGAIN_ARG2'
258+ const handleResetKeysChange = jest . fn ( )
258259 function App ( ) {
259260 const [ explode , setExplode ] = React . useState ( false )
260261 return (
@@ -276,6 +277,7 @@ test('supports automatic reset of error boundary when resetKeys change', () => {
276277 setExplode ( false )
277278 handleReset ( ...args )
278279 } }
280+ onResetKeysChange = { handleResetKeysChange }
279281 resetKeys = { [ explode ] }
280282 >
281283 { explode ? < Bomb /> : null }
@@ -298,6 +300,7 @@ test('supports automatic reset of error boundary when resetKeys change', () => {
298300 expect ( handleReset ) . toHaveBeenCalledWith ( TRY_AGAIN_ARG1 , TRY_AGAIN_ARG2 )
299301 expect ( handleReset ) . toHaveBeenCalledTimes ( 1 )
300302 handleReset . mockClear ( )
303+ expect ( handleResetKeysChange ) . not . toHaveBeenCalled ( )
301304
302305 // blow it up again
303306 userEvent . click ( screen . getByText ( 'toggle explode' ) )
@@ -307,9 +310,10 @@ test('supports automatic reset of error boundary when resetKeys change', () => {
307310
308311 // recover via resetKeys change
309312 userEvent . click ( screen . getByText ( 'toggle explode' ) )
310- expect ( handleReset ) . toHaveBeenCalledWith ( [ true ] , [ false ] )
311- expect ( handleReset ) . toHaveBeenCalledTimes ( 1 )
312- handleReset . mockClear ( )
313+ expect ( handleResetKeysChange ) . toHaveBeenCalledWith ( [ true ] , [ false ] )
314+ expect ( handleResetKeysChange ) . toHaveBeenCalledTimes ( 1 )
315+ handleResetKeysChange . mockClear ( )
316+ expect ( handleReset ) . not . toHaveBeenCalled ( )
313317 expect ( screen . queryByRole ( 'alert' ) ) . not . toBeInTheDocument ( )
314318 expect ( console . error ) . not . toHaveBeenCalled ( )
315319} )
0 commit comments