File tree 2 files changed +27
-5
lines changed
2 files changed +27
-5
lines changed Original file line number Diff line number Diff line change @@ -123,16 +123,27 @@ export const safeQuerySelectorAll = <T extends HTMLElement = HTMLElement>(
123
123
return elements ;
124
124
} ;
125
125
126
+ let _resizeObserverCallbackFn : ResizeObserverCallback | null ;
127
+
128
+ export const getResizeObserverCallback = ( ) => _resizeObserverCallbackFn ;
129
+
126
130
export const setupMockResizeObserver = ( ) => {
127
131
const mockObserve = jest . fn ( ) ;
128
132
const mockDisconnect = jest . fn ( ) ;
129
133
const mockUnobserve = jest . fn ( ) ;
130
134
131
- const ResizeObserverMock = jest . fn ( ( ) => ( {
132
- observe : mockObserve ,
133
- disconnect : mockDisconnect ,
134
- unobserve : jest . fn ( ) ,
135
- } ) ) ;
135
+ const ResizeObserverMock = jest . fn ( ( fn ) => {
136
+ _resizeObserverCallbackFn = fn ;
137
+
138
+ return {
139
+ observe : mockObserve ,
140
+ disconnect : ( ) => {
141
+ _resizeObserverCallbackFn = null ;
142
+ mockDisconnect ( ) ;
143
+ } ,
144
+ unobserve : jest . fn ( ) ,
145
+ } ;
146
+ } ) ;
136
147
137
148
global . ResizeObserver = ResizeObserverMock ;
138
149
Original file line number Diff line number Diff line change @@ -6,6 +6,7 @@ import DatePicker from "../index";
6
6
7
7
import {
8
8
getKey ,
9
+ getResizeObserverCallback ,
9
10
SafeElementWrapper ,
10
11
safeQuerySelector ,
11
12
safeQuerySelectorAll ,
@@ -49,6 +50,14 @@ describe("TimePicker", () => {
49
50
) ;
50
51
await waitFor ( ( ) => {
51
52
expect ( mockObserve ) . toHaveBeenCalledTimes ( 1 ) ;
53
+
54
+ const resizeObserverCallback = getResizeObserverCallback ( ) ;
55
+ const mockObserveElement = mockObserve . mock . calls [ 0 ] [ 0 ] ;
56
+ expect ( typeof resizeObserverCallback ) . toBe ( "function" ) ;
57
+
58
+ if ( resizeObserverCallback ) {
59
+ resizeObserverCallback ( [ ] , mockObserveElement ) ;
60
+ }
52
61
} ) ;
53
62
} ) ;
54
63
@@ -65,6 +74,8 @@ describe("TimePicker", () => {
65
74
component . unmount ( ) ;
66
75
await waitFor ( ( ) => {
67
76
expect ( mockDisconnect ) . toHaveBeenCalledTimes ( 1 ) ;
77
+ const resizeObserverCallback = getResizeObserverCallback ( ) ;
78
+ expect ( resizeObserverCallback ) . toBe ( null ) ;
68
79
} ) ;
69
80
} ) ;
70
81
} ) ;
You can’t perform that action at this time.
0 commit comments