| 'use strict'; |
| const assert = require('assert'); |
| const m = require('module'); |
| |
| global.mwc = 0; |
| |
| const originalWrapper = m.wrapper; |
| const patchedWrapper = {...m.wrapper}; |
| |
| patchedWrapper[0] += 'global.mwc = (global.mwc || 0 ) + 1'; |
| |
| // Storing original version of wrapper function |
| m.wrapper = patchedWrapper; |
| |
| require('./not-main-module.js'); |
| |
| assert.strictEqual(mwc, 1); |
| |
| // Restoring original wrapper function |
| m.wrapper = originalWrapper; |
| // Cleaning require cache |
| delete require.cache[require.resolve('./not-main-module.js')]; |
| delete global.mwc; |