File tree Expand file tree Collapse file tree
packages/jest-environment-jsdom/src Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -19,6 +19,7 @@ class JSDOMEnvironment {
1919 document : ?Object ;
2020 fakeTimers : ?FakeTimers < number > ;
2121 global : ?Global ;
22+ errorEventListener : ?Function ;
2223 moduleMocker : ?ModuleMocker ;
2324
2425 constructor ( config : ProjectConfig ) : void {
@@ -43,6 +44,13 @@ class JSDOMEnvironment {
4344 } ;
4445 }
4546
47+ this . errorEventListener = event => {
48+ if ( event . error ) {
49+ process . emit ( 'uncaughtException' , event . error ) ;
50+ }
51+ } ;
52+ global . addEventListener ( 'error' , this . errorEventListener ) ;
53+
4654 this . moduleMocker = new mock . ModuleMocker ( global ) ;
4755
4856 const timerConfig = {
@@ -63,8 +71,12 @@ class JSDOMEnvironment {
6371 this . fakeTimers . dispose ( ) ;
6472 }
6573 if ( this . global ) {
74+ if ( this . errorEventListener ) {
75+ this . global . removeEventListener ( 'error' , this . errorEventListener ) ;
76+ }
6677 this . global . close ( ) ;
6778 }
79+ this . errorEventListener = null ;
6880 this . global = null ;
6981 this . document = null ;
7082 this . fakeTimers = null ;
You can’t perform that action at this time.
0 commit comments