diff --git a/packages/jest-environment-jsdom/src/index.ts b/packages/jest-environment-jsdom/src/index.ts index 39b63efc4607..32041c337014 100644 --- a/packages/jest-environment-jsdom/src/index.ts +++ b/packages/jest-environment-jsdom/src/index.ts @@ -125,9 +125,14 @@ class JSDOMEnvironment implements JestEnvironment { if (this.errorEventListener) { this.global.removeEventListener('error', this.errorEventListener); } + this.global.close(); + // Dispose "document" to prevent "load" event from triggering. + + // Note that this.global.close() will trigger the CustomElement::disconnectedCallback + // Do not reset the document before CustomElement disconnectedCallback function has finished running, + // document should be accesible within disconnectedCallback. Object.defineProperty(this.global, 'document', {value: null}); - this.global.close(); } this.errorEventListener = null; // @ts-expect-error