@@ -44,12 +44,10 @@ process.env.OAUTH_CLIENT_ID = 'FAKE_CLIENT_ID_123';
4444process . env . OAUTH_CLIENT_SECRET = 'FAKE_CLIENT_SECRET_123' ;
4545
4646/**
47- * Primer (@primer/react) Setup
47+ * Primer (@primer/react) Setup - START
4848 *
4949 * Borrowed from https://github.com/primer/react/blob/main/packages/react/src/utils/test-helpers.tsx
5050 */
51- // @ts -expect-error: prevent ReferenceError: TextEncoder is not defined
52- global . TextEncoder = TextEncoder ;
5351
5452// JSDOM doesn't mock ResizeObserver
5553global . ResizeObserver = jest . fn ( ) . mockImplementation ( ( ) => {
@@ -68,18 +66,22 @@ global.CSS = {
6866 } ) ,
6967} ;
7068
69+ // @ts -expect-error: prevent ReferenceError: TextEncoder is not defined
70+ global . TextEncoder = TextEncoder ;
71+
72+ /**
73+ * Primer (@primer/react) Setup - END
74+ */
75+
7176window . HTMLMediaElement . prototype . play = jest . fn ( ) ;
7277
73- // JSDOM doesn't implement matchMedia; needed for Primer media queries (useMedia hook)
74- if ( ! window . matchMedia ) {
75- window . matchMedia = ( query : string ) : MediaQueryList => ( {
76- matches : false ,
77- media : query ,
78- onchange : null ,
79- addListener : ( ) => { } , // deprecated
80- removeListener : ( ) => { } , // deprecated
81- addEventListener : ( ) => { } ,
82- removeEventListener : ( ) => { } ,
83- dispatchEvent : ( ) => false ,
84- } ) ;
85- }
78+ window . matchMedia = ( query : string ) : MediaQueryList => ( {
79+ matches : false ,
80+ media : query ,
81+ onchange : null ,
82+ addListener : ( ) => { } , // deprecated
83+ removeListener : ( ) => { } , // deprecated
84+ addEventListener : ( ) => { } ,
85+ removeEventListener : ( ) => { } ,
86+ dispatchEvent : ( ) => false ,
87+ } ) ;
0 commit comments