File tree Expand file tree Collapse file tree 3 files changed +59
-0
lines changed Expand file tree Collapse file tree 3 files changed +59
-0
lines changed Original file line number Diff line number Diff line change
1
+ export * from './resizeObserver' ;
Original file line number Diff line number Diff line change
1
+ import { ResizeObserver } from './resizeObserver' ;
2
+
3
+ describe ( 'ResizeObserver fallback' , ( ) => {
4
+ let mockCallback : jest . Mock ;
5
+
6
+ beforeEach ( ( ) => {
7
+ mockCallback = jest . fn ( ) ;
8
+ } ) ;
9
+
10
+ it ( 'can be observe' , ( ) => {
11
+ const observer = new ResizeObserver ( mockCallback ) ;
12
+ observer . observe ( document . createElement ( 'div' ) ) ;
13
+ expect ( mockCallback ) . toHaveBeenCalled ( ) ;
14
+ } ) ;
15
+
16
+ it ( 'should not throw when calling unobserve' , ( ) => {
17
+ const observer = new ResizeObserver ( mockCallback ) ;
18
+ const testElement = document . createElement ( 'div' ) ;
19
+ expect ( ( ) => observer . unobserve ( testElement ) ) . not . toThrow ( ) ;
20
+ } ) ;
21
+
22
+ it ( 'should not throw when calling disconnect' , ( ) => {
23
+ const observer = new ResizeObserver ( mockCallback ) ;
24
+ expect ( ( ) => observer . disconnect ( ) ) . not . toThrow ( ) ;
25
+ } ) ;
26
+ } ) ;
Original file line number Diff line number Diff line change
1
+ let ResizeObserver : {
2
+ new ( callback : ResizeObserverCallback ) : ResizeObserver ;
3
+ prototype : ResizeObserver ;
4
+ } ;
5
+
6
+ // Avoid crashing in environments where ResizeObserver is not supported
7
+ if ( typeof self !== 'undefined' && self . ResizeObserver ) {
8
+ ResizeObserver = self . ResizeObserver ;
9
+ } else {
10
+ // Define a minimal type for ResizeObserver polyfill
11
+ class ResizeObserverPolyfill {
12
+ callback ;
13
+ constructor ( callback : ResizeObserverCallback ) {
14
+ this . callback = callback ;
15
+ }
16
+
17
+ observe ( _target : Element , _options ?: ResizeObserverOptions ) : void {
18
+ this . callback ( ) ;
19
+ }
20
+
21
+ unobserve ( _target : Element ) : void {
22
+ // Do nothing
23
+ }
24
+
25
+ disconnect ( ) : void {
26
+ // Do nothing
27
+ }
28
+ }
29
+
30
+ ResizeObserver = ResizeObserverPolyfill ;
31
+ }
32
+ export { ResizeObserver } ;
You can’t perform that action at this time.
0 commit comments