From 6ec34829ba2666d60100f0b853b91922fe693ca8 Mon Sep 17 00:00:00 2001 From: Anton Mikhailov Date: Fri, 10 Oct 2025 00:32:17 +0400 Subject: [PATCH 1/4] fix: use Symbol from environment global --- packages/jest-mock/src/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/jest-mock/src/index.ts b/packages/jest-mock/src/index.ts index b9582dbf8734..5d056fbc5050 100644 --- a/packages/jest-mock/src/index.ts +++ b/packages/jest-mock/src/index.ts @@ -800,8 +800,8 @@ export class ModuleMocker { }; f.withImplementation = withImplementation.bind(this); - if (Symbol.dispose) { - f[Symbol.dispose] = f.mockRestore; + if (this._environmentGlobal.Symbol.dispose) { + f[this._environmentGlobal.Symbol.dispose] = f.mockRestore; } function withImplementation(fn: T, callback: () => void): void; From f5763f9a3acd34f780638a7c17e92523838e1b61 Mon Sep 17 00:00:00 2001 From: Anton Mikhailov Date: Mon, 13 Oct 2025 19:19:46 +0000 Subject: [PATCH 2/4] feat: add dispose test --- packages/jest-mock/src/__tests__/index.test.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/jest-mock/src/__tests__/index.test.ts b/packages/jest-mock/src/__tests__/index.test.ts index 0b03678c4040..34df279e79f1 100644 --- a/packages/jest-mock/src/__tests__/index.test.ts +++ b/packages/jest-mock/src/__tests__/index.test.ts @@ -1260,6 +1260,16 @@ describe('moduleMocker', () => { expect(mock.mock).not.toHaveProperty('lastCall'); }); + test('mockReset should be called on dispose', () => { + { + using mock = jest.fn(); + mock('first'); + mock('last', 'call'); + } + expect(mock.mock.calls).toEqual([]); + expect(mock.mock).not.toHaveProperty('lastCall'); + }); + test('mockName gets reset by mockReset', () => { const fn = jest.fn(); expect(fn.getMockName()).toBe('jest.fn()'); From c145371a6a6b9f3976cea3becb99e06702549c53 Mon Sep 17 00:00:00 2001 From: Mikhailov Anton Date: Mon, 13 Oct 2025 23:29:14 +0400 Subject: [PATCH 3/4] fix: test --- packages/jest-mock/src/__tests__/index.test.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/jest-mock/src/__tests__/index.test.ts b/packages/jest-mock/src/__tests__/index.test.ts index 34df279e79f1..f8d807e131ac 100644 --- a/packages/jest-mock/src/__tests__/index.test.ts +++ b/packages/jest-mock/src/__tests__/index.test.ts @@ -1261,8 +1261,9 @@ describe('moduleMocker', () => { }); test('mockReset should be called on dispose', () => { + const mock = jest.fn(); { - using mock = jest.fn(); + using _mock = mock; mock('first'); mock('last', 'call'); } From 0231e55ae16b9d3b7c2505fcb23e6b611ad82771 Mon Sep 17 00:00:00 2001 From: Mikhailov Anton Date: Mon, 13 Oct 2025 23:38:51 +0400 Subject: [PATCH 4/4] fix: do not use `using` syntax --- packages/jest-mock/src/__tests__/index.test.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/jest-mock/src/__tests__/index.test.ts b/packages/jest-mock/src/__tests__/index.test.ts index f8d807e131ac..3d534545dff9 100644 --- a/packages/jest-mock/src/__tests__/index.test.ts +++ b/packages/jest-mock/src/__tests__/index.test.ts @@ -1262,11 +1262,9 @@ describe('moduleMocker', () => { test('mockReset should be called on dispose', () => { const mock = jest.fn(); - { - using _mock = mock; - mock('first'); - mock('last', 'call'); - } + mock('first'); + mock('last', 'call'); + mock[Symbol.dispose](); expect(mock.mock.calls).toEqual([]); expect(mock.mock).not.toHaveProperty('lastCall'); });