@@ -58,6 +58,37 @@ describe('useWindowListener', () => {
5858 ) ;
5959 } ) ;
6060
61+ it ( 'should pass options to removeEventListener on unmount' , ( ) => {
62+ const options = { passive : true , capture : false } ;
63+ const { unmount } = renderHook ( ( ) =>
64+ useWindowListener ( 'scroll' , mockCallback , options )
65+ ) ;
66+
67+ jest . clearAllMocks ( ) ;
68+ unmount ( ) ;
69+
70+ expect ( window . removeEventListener ) . toHaveBeenCalledWith (
71+ 'scroll' ,
72+ mockCallback ,
73+ options
74+ ) ;
75+ } ) ;
76+
77+ it ( 'should pass boolean options to removeEventListener on unmount' , ( ) => {
78+ const { unmount } = renderHook ( ( ) =>
79+ useWindowListener ( 'click' , mockCallback , true )
80+ ) ;
81+
82+ jest . clearAllMocks ( ) ;
83+ unmount ( ) ;
84+
85+ expect ( window . removeEventListener ) . toHaveBeenCalledWith (
86+ 'click' ,
87+ mockCallback ,
88+ true
89+ ) ;
90+ } ) ;
91+
6192 it ( 'should remove event listener on unmount for single event' , ( ) => {
6293 const { unmount } = renderHook ( ( ) =>
6394 useWindowListener ( 'resize' , mockCallback )
@@ -68,7 +99,8 @@ describe('useWindowListener', () => {
6899
69100 expect ( window . removeEventListener ) . toHaveBeenCalledWith (
70101 'resize' ,
71- mockCallback
102+ mockCallback ,
103+ undefined
72104 ) ;
73105 } ) ;
74106
@@ -84,7 +116,8 @@ describe('useWindowListener', () => {
84116 events . forEach ( event => {
85117 expect ( window . removeEventListener ) . toHaveBeenCalledWith (
86118 event ,
87- mockCallback
119+ mockCallback ,
120+ undefined
88121 ) ;
89122 } ) ;
90123 } ) ;
@@ -100,7 +133,8 @@ describe('useWindowListener', () => {
100133
101134 expect ( window . removeEventListener ) . toHaveBeenCalledWith (
102135 'resize' ,
103- mockCallback
136+ mockCallback ,
137+ undefined
104138 ) ;
105139 expect ( window . addEventListener ) . toHaveBeenCalledWith (
106140 'scroll' ,
@@ -120,7 +154,8 @@ describe('useWindowListener', () => {
120154
121155 expect ( window . removeEventListener ) . toHaveBeenCalledWith (
122156 'resize' ,
123- mockCallback
157+ mockCallback ,
158+ undefined
124159 ) ;
125160 expect ( window . addEventListener ) . toHaveBeenCalledWith (
126161 'scroll' ,
@@ -146,7 +181,8 @@ describe('useWindowListener', () => {
146181
147182 expect ( window . removeEventListener ) . toHaveBeenCalledWith (
148183 'resize' ,
149- mockCallback
184+ mockCallback ,
185+ undefined
150186 ) ;
151187 expect ( window . addEventListener ) . toHaveBeenCalledWith (
152188 'resize' ,
@@ -166,7 +202,8 @@ describe('useWindowListener', () => {
166202
167203 expect ( window . removeEventListener ) . toHaveBeenCalledWith (
168204 'scroll' ,
169- mockCallback
205+ mockCallback ,
206+ { passive : true }
170207 ) ;
171208 expect ( window . addEventListener ) . toHaveBeenCalledWith (
172209 'scroll' ,
@@ -210,7 +247,8 @@ describe('useWindowListener', () => {
210247 // Should re-register because events array reference changed
211248 expect ( window . removeEventListener ) . toHaveBeenCalledWith (
212249 'resize' ,
213- mockCallback
250+ mockCallback ,
251+ undefined
214252 ) ;
215253 expect ( window . addEventListener ) . toHaveBeenCalledWith (
216254 'resize' ,
0 commit comments