@@ -52,26 +52,29 @@ function mockViewport(desc: ViewportDescription): MockViewport {
5252 state . listenerHandlers . splice ( index , 1 ) ;
5353 } ;
5454
55- window . matchMedia = jest . fn ( ) . mockImplementation ( query => ( {
56- get matches ( ) {
57- return mediaQuery . match ( query , state . currentDesc ) ;
58- } ,
59- media : query ,
60- onchange : null ,
61- addListener, // deprecated
62- removeListener, // deprecated
63- addEventListener : ( eventType : string , handler : Handler ) => {
64- if ( eventType === 'change' ) {
65- addListener ( handler ) ;
66- }
67- } ,
68- removeEventListener : ( eventType : string , handler : Handler ) => {
69- if ( eventType === 'change' ) {
70- removeListener ( handler ) ;
71- }
72- } ,
73- dispatchEvent : jest . fn ( ) ,
74- } ) ) ;
55+ Object . defineProperty ( window , 'matchMedia' , {
56+ writable : true ,
57+ value : jest . fn ( ) . mockImplementation ( query => ( {
58+ get matches ( ) {
59+ return mediaQuery . match ( query , state . currentDesc ) ;
60+ } ,
61+ media : query ,
62+ onchange : null ,
63+ addListener, // deprecated
64+ removeListener, // deprecated
65+ addEventListener : ( eventType : string , handler : Handler ) => {
66+ if ( eventType === 'change' ) {
67+ addListener ( handler ) ;
68+ }
69+ } ,
70+ removeEventListener : ( eventType : string , handler : Handler ) => {
71+ if ( eventType === 'change' ) {
72+ removeListener ( handler ) ;
73+ }
74+ } ,
75+ dispatchEvent : jest . fn ( ) ,
76+ } ) ) ,
77+ } ) ;
7578
7679 return {
7780 cleanup : ( ) => {
0 commit comments