@@ -15,7 +15,7 @@ import { getQueriesForElement } from './within';
1515
1616export interface RenderOptions {
1717 wrapper ?: React . ComponentType < any > ;
18- createNodeMock ?: ( element : React . ReactElement ) => any ;
18+ createNodeMock ?: ( element : React . ReactElement ) => unknown ;
1919 unstable_validateStringsRenderedWithinText ?: boolean ;
2020}
2121
@@ -35,38 +35,37 @@ export interface RenderInternalOptions extends RenderOptions {
3535
3636export function renderInternal < T > (
3737 component : React . ReactElement < T > ,
38- {
38+ options ?: RenderInternalOptions ,
39+ ) {
40+ const {
3941 wrapper : Wrapper ,
40- createNodeMock,
41- unstable_validateStringsRenderedWithinText,
4242 detectHostComponentNames = true ,
43- } : RenderInternalOptions = { } ,
44- ) {
43+ unstable_validateStringsRenderedWithinText,
44+ ...testRendererOptions
45+ } = options || { } ;
46+
4547 if ( detectHostComponentNames ) {
4648 configureHostComponentNamesIfNeeded ( ) ;
4749 }
4850
4951 if ( unstable_validateStringsRenderedWithinText ) {
5052 return renderWithStringValidation ( component , {
5153 wrapper : Wrapper ,
52- createNodeMock ,
54+ ... testRendererOptions ,
5355 } ) ;
5456 }
5557
5658 const wrap = ( element : React . ReactElement ) => ( Wrapper ? < Wrapper > { element } </ Wrapper > : element ) ;
57-
58- const renderer = renderWithAct ( wrap ( component ) , createNodeMock ? { createNodeMock } : undefined ) ;
59-
59+ const renderer = renderWithAct ( wrap ( component ) , testRendererOptions ) ;
6060 return buildRenderResult ( renderer , wrap ) ;
6161}
6262
6363function renderWithStringValidation < T > (
6464 component : React . ReactElement < T > ,
65- {
66- wrapper : Wrapper ,
67- createNodeMock,
68- } : Omit < RenderOptions , 'unstable_validateStringsRenderedWithinText' > = { } ,
65+ options : Omit < RenderOptions , 'unstable_validateStringsRenderedWithinText' > = { } ,
6966) {
67+ const { wrapper : Wrapper , ...testRendererOptions } = options ?? { } ;
68+
7069 const handleRender : React . ProfilerProps [ 'onRender' ] = ( _ , phase ) => {
7170 if ( phase === 'update' ) {
7271 validateStringsRenderedWithinText ( screen . toJSON ( ) ) ;
@@ -79,7 +78,7 @@ function renderWithStringValidation<T>(
7978 </ Profiler >
8079 ) ;
8180
82- const renderer = renderWithAct ( wrap ( component ) , createNodeMock ? { createNodeMock } : undefined ) ;
81+ const renderer = renderWithAct ( wrap ( component ) , testRendererOptions ) ;
8382 validateStringsRenderedWithinText ( renderer . toJSON ( ) ) ;
8483
8584 return buildRenderResult ( renderer , wrap ) ;
0 commit comments