From c93a2e5573c86650170e9e512bc150d8ff343937 Mon Sep 17 00:00:00 2001 From: Vladimir Sheremet Date: Mon, 16 Jan 2023 13:17:52 +0100 Subject: [PATCH 1/2] revert: don't rely on environment for interopDefault --- packages/vitest/src/runtime/execute.ts | 6 ----- test/core/test/module-dom.test.ts | 33 -------------------------- test/core/test/module.test.ts | 16 ++++++++----- 3 files changed, 10 insertions(+), 45 deletions(-) delete mode 100644 test/core/test/module-dom.test.ts diff --git a/packages/vitest/src/runtime/execute.ts b/packages/vitest/src/runtime/execute.ts index e624057ee83a..5d0c39a56884 100644 --- a/packages/vitest/src/runtime/execute.ts +++ b/packages/vitest/src/runtime/execute.ts @@ -71,10 +71,4 @@ export class VitestRunner extends ViteNodeRunner { __vitest_mocker__: this.mocker, }) } - - shouldInterop(path: string, mod: any) { - if (this.options.interopDefault === false) - return false - return (this.options.interopDefault || getCurrentEnvironment() !== 'node') && super.shouldInterop(path, mod) - } } diff --git a/test/core/test/module-dom.test.ts b/test/core/test/module-dom.test.ts deleted file mode 100644 index 97d80fc762a7..000000000000 --- a/test/core/test/module-dom.test.ts +++ /dev/null @@ -1,33 +0,0 @@ -/** - * @vitest-environment jsdom - */ - -import { describe, expect, it } from 'vitest' -// @ts-expect-error is not typed with imports -import * as nestedDefaultCjs from '../src/cjs/nested-default-cjs' -// @ts-expect-error is not typed with imports -import * as nestedDefaultExternalCjs from '../src/external/nested-default-cjs' -// @ts-expect-error is not typed with imports -import * as moduleDefaultCjs from '../src/external/default-cjs' - -describe('validating nested defaults in isolation', () => { - it.each([ - nestedDefaultCjs, - nestedDefaultExternalCjs, - ])('nested default should be resolved, because environment is not node', (mod) => { - expect(mod).toHaveProperty('default') - expect(mod.default).not.toHaveProperty('default') - expect(mod.default.a).toBe('a') - expect(mod.default.b).toBe('b') - expect(mod.a).toBe('a') - expect(mod.b).toBe('b') - }) - - it('externalized "module.exports" CJS module interops default', () => { - expect(moduleDefaultCjs).toHaveProperty('default') - expect(moduleDefaultCjs.default).toHaveProperty('a') - expect(moduleDefaultCjs.default.a).toBe('a') - expect(moduleDefaultCjs).toHaveProperty('a') - expect(moduleDefaultCjs.a).toBe('a') - }) -}) diff --git a/test/core/test/module.test.ts b/test/core/test/module.test.ts index b96b1620da92..73cda7f68a5a 100644 --- a/test/core/test/module.test.ts +++ b/test/core/test/module.test.ts @@ -30,17 +30,21 @@ describe('validating nested defaults in isolation', () => { it.each([ nestedDefaultCjs, nestedDefaultExternalCjs, - ])('nested default should stay, because environment is node', (mod) => { + ])('nested default should be resolved, because environment is not node', (mod) => { expect(mod).toHaveProperty('default') - expect(mod.default).toHaveProperty('default') - expect(mod.default.default.a).toBe('a') - expect(mod.default.default.b).toBe('b') + expect(mod.default).not.toHaveProperty('default') + expect(mod.default.a).toBe('a') + expect(mod.default.b).toBe('b') + expect(mod.a).toBe('a') + expect(mod.b).toBe('b') }) - it('don\'t interop external module.exports, because environment is node', () => { + it('externalized "module.exports" CJS module interops default', () => { expect(moduleDefaultCjs).toHaveProperty('default') expect(moduleDefaultCjs.default).toHaveProperty('a') - expect(moduleDefaultCjs).not.toHaveProperty('a') + expect(moduleDefaultCjs.default.a).toBe('a') + expect(moduleDefaultCjs).toHaveProperty('a') + expect(moduleDefaultCjs.a).toBe('a') }) }) From 04e03d08f169bf49aface275447df405b6f507c6 Mon Sep 17 00:00:00 2001 From: Vladimir Sheremet Date: Mon, 16 Jan 2023 15:18:19 +0100 Subject: [PATCH 2/2] chore: cleanup --- test/core/test/module.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/core/test/module.test.ts b/test/core/test/module.test.ts index 73cda7f68a5a..c1bb7cde2ae6 100644 --- a/test/core/test/module.test.ts +++ b/test/core/test/module.test.ts @@ -30,7 +30,7 @@ describe('validating nested defaults in isolation', () => { it.each([ nestedDefaultCjs, nestedDefaultExternalCjs, - ])('nested default should be resolved, because environment is not node', (mod) => { + ])('nested default should be resolved', (mod) => { expect(mod).toHaveProperty('default') expect(mod.default).not.toHaveProperty('default') expect(mod.default.a).toBe('a')