diff --git a/e2e/__tests__/requireMainResetModules.test.ts b/e2e/__tests__/requireMainResetModules.test.ts index d12459c99ec4..f292d991bc4d 100644 --- a/e2e/__tests__/requireMainResetModules.test.ts +++ b/e2e/__tests__/requireMainResetModules.test.ts @@ -10,14 +10,14 @@ import runJest from '../runJest'; test("`require.main` on using `--resetModules='true'` should not be undefined", () => { const {exitCode} = runJest('require-main-reset-modules', [ `--resetModules='true'`, - 'index.test.js', + 'resetModulesFlag', ]); expect(exitCode).toBe(0); }); test('`require.main` on using `jest.resetModules()` should not be undefined', () => { const {exitCode} = runJest('require-main-reset-modules', [ - 'callJestResetModules.test.js', + 'resetModulesCall', ]); expect(exitCode).toBe(0); }); diff --git a/e2e/require-main-reset-modules/__tests__/resetModulesCallDirectly.test.js b/e2e/require-main-reset-modules/__tests__/resetModulesCallDirectly.test.js new file mode 100644 index 000000000000..8108218178c9 --- /dev/null +++ b/e2e/require-main-reset-modules/__tests__/resetModulesCallDirectly.test.js @@ -0,0 +1,23 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +beforeEach(() => { + jest.resetModules(); +}); + +afterEach(() => { + jest.resetModules(); +}); + +test('require.main is set on requiring directly', () => { + const {getMain} = require('../direct.js'); + expect(getMain()).toBeTruthy(); +}); + +test('require from main works on requiring directly', () => { + const {requireFromMain} = require('../direct.js'); + expect(requireFromMain('../package.json')).toBeTruthy(); +}); diff --git a/e2e/require-main-reset-modules/__tests__/resetModulesCallIndirectly.test.js b/e2e/require-main-reset-modules/__tests__/resetModulesCallIndirectly.test.js new file mode 100644 index 000000000000..14c9027c81a9 --- /dev/null +++ b/e2e/require-main-reset-modules/__tests__/resetModulesCallIndirectly.test.js @@ -0,0 +1,23 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +beforeEach(() => { + jest.resetModules(); +}); + +afterEach(() => { + jest.resetModules(); +}); + +test('require.main is set on requiring indirectly', () => { + const {getMain} = require('../indirect.js'); + expect(getMain()).toBeTruthy(); +}); + +test('require from main works on requiring indirectly', () => { + const {requireFromMain} = require('../indirect.js'); + expect(requireFromMain('../package.json')).toBeTruthy(); +}); diff --git a/e2e/require-main-reset-modules/__tests__/index.test.js b/e2e/require-main-reset-modules/__tests__/resetModulesFlagDirectly.test.js similarity index 79% rename from e2e/require-main-reset-modules/__tests__/index.test.js rename to e2e/require-main-reset-modules/__tests__/resetModulesFlagDirectly.test.js index 2034c089b329..68ba72f8b00c 100644 --- a/e2e/require-main-reset-modules/__tests__/index.test.js +++ b/e2e/require-main-reset-modules/__tests__/resetModulesFlagDirectly.test.js @@ -5,11 +5,11 @@ * LICENSE file in the root directory of this source tree. */ test('require.main is set', () => { - const {getMain} = require('../index.js'); + const {getMain} = require('../direct.js'); expect(getMain()).toBeTruthy(); }); test('require from main works', () => { - const {requireFromMain} = require('../index.js'); + const {requireFromMain} = require('../direct.js'); expect(requireFromMain('../package.json')).toBeTruthy(); }); diff --git a/e2e/require-main-reset-modules/__tests__/callJestResetModules.test.js b/e2e/require-main-reset-modules/__tests__/resetModulesFlagIndirectly.test.js similarity index 67% rename from e2e/require-main-reset-modules/__tests__/callJestResetModules.test.js rename to e2e/require-main-reset-modules/__tests__/resetModulesFlagIndirectly.test.js index a76b30697219..980c9158af73 100644 --- a/e2e/require-main-reset-modules/__tests__/callJestResetModules.test.js +++ b/e2e/require-main-reset-modules/__tests__/resetModulesFlagIndirectly.test.js @@ -4,20 +4,12 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ -beforeEach(() => { - jest.resetModules(); -}); - -afterEach(() => { - jest.resetModules(); -}); - test('require.main is set', () => { - const {getMain} = require('../index.js'); + const {getMain} = require('../indirect.js'); expect(getMain()).toBeTruthy(); }); test('require from main works', () => { - const {requireFromMain} = require('../index.js'); + const {requireFromMain} = require('../indirect.js'); expect(requireFromMain('../package.json')).toBeTruthy(); }); diff --git a/e2e/require-main-reset-modules/index.js b/e2e/require-main-reset-modules/direct.js similarity index 100% rename from e2e/require-main-reset-modules/index.js rename to e2e/require-main-reset-modules/direct.js diff --git a/e2e/require-main-reset-modules/indirect.js b/e2e/require-main-reset-modules/indirect.js new file mode 100644 index 000000000000..cd8a5c98d41a --- /dev/null +++ b/e2e/require-main-reset-modules/indirect.js @@ -0,0 +1,8 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +const {getMain, requireFromMain} = require('./direct'); +Object.assign(exports, {getMain, requireFromMain});