@@ -10,7 +10,7 @@ import debugShallow from './helpers/debug-shallow';
10
10
import { configureHostComponentNamesIfNeeded } from './helpers/host-component-names' ;
11
11
import { validateStringsRenderedWithinText } from './helpers/string-validation' ;
12
12
import { renderWithAct } from './render-act' ;
13
- import { setRenderResult , screen } from './screen' ;
13
+ import { setRenderResult } from './screen' ;
14
14
import { getQueriesForElement } from './within' ;
15
15
16
16
export interface RenderOptions {
@@ -64,11 +64,12 @@ function renderWithStringValidation<T>(
64
64
component : React . ReactElement < T > ,
65
65
options : Omit < RenderOptions , 'unstable_validateStringsRenderedWithinText' > = { } ,
66
66
) {
67
+ let renderer : ReactTestRenderer ;
67
68
const { wrapper : Wrapper , ...testRendererOptions } = options ?? { } ;
68
69
69
- const handleRender : React . ProfilerProps [ 'onRender' ] = ( _ , phase ) => {
70
- if ( phase === 'update' ) {
71
- validateStringsRenderedWithinText ( screen . toJSON ( ) ) ;
70
+ const handleRender : React . ProfilerOnRenderCallback = ( _ , phase ) => {
71
+ if ( renderer && phase === 'update' ) {
72
+ validateStringsRenderedWithinText ( renderer . toJSON ( ) ) ;
72
73
}
73
74
} ;
74
75
@@ -78,7 +79,8 @@ function renderWithStringValidation<T>(
78
79
</ Profiler >
79
80
) ;
80
81
81
- const renderer = renderWithAct ( wrap ( component ) , testRendererOptions ) ;
82
+ renderer = renderWithAct ( wrap ( component ) , testRendererOptions ) ;
83
+
82
84
validateStringsRenderedWithinText ( renderer . toJSON ( ) ) ;
83
85
84
86
return buildRenderResult ( renderer , wrap ) ;
0 commit comments