Skip to content

Commit 1770bc8

Browse files
melikhov-devtargos
authored andcommitted
module: increase code coverage of cjs loader
Add test cases to cover uncovered wrap and wrapper getters. Refs: https://coverage.nodejs.org/coverage-99268b1e996d13a0/lib/internal/modules/cjs/loader.js.html#L153 PR-URL: #27898 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Jan Krems <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Rich Trott <[email protected]>
1 parent 0b7feca commit 1770bc8

File tree

4 files changed

+34
-1
lines changed

4 files changed

+34
-1
lines changed

test/fixtures/cjs-module-wrap.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12
const assert = require('assert');
23
const m = require('module');
34

test/fixtures/cjs-module-wrapper.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
'use strict';
2+
const assert = require('assert');
3+
const m = require('module');
4+
5+
global.mwc = 0;
6+
7+
const originalWrapper = m.wrapper;
8+
const patchedWrapper = {...m.wrapper};
9+
10+
patchedWrapper[0] += 'global.mwc = (global.mwc || 0 ) + 1';
11+
12+
// Storing original version of wrapper function
13+
m.wrapper = patchedWrapper;
14+
15+
require('./not-main-module.js');
16+
17+
assert.strictEqual(mwc, 1);
18+
19+
// Restoring original wrapper function
20+
m.wrapper = originalWrapper;
21+
// Cleaning require cache
22+
delete require.cache[require.resolve('./not-main-module.js')];
23+
delete global.mwc;

test/parallel/test-module-wrap.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ const fixtures = require('../common/fixtures');
44
const { execFileSync } = require('child_process');
55

66
const cjsModuleWrapTest = fixtures.path('cjs-module-wrap.js');
7-
const node = process.argv[0];
7+
const node = process.execPath;
88

99
execFileSync(node, [cjsModuleWrapTest], { stdio: 'pipe' });

test/parallel/test-module-wrapper.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
'use strict';
2+
require('../common');
3+
const fixtures = require('../common/fixtures');
4+
const { execFileSync } = require('child_process');
5+
6+
const cjsModuleWrapTest = fixtures.path('cjs-module-wrapper.js');
7+
const node = process.execPath;
8+
9+
execFileSync(node, [cjsModuleWrapTest], { stdio: 'pipe' });

0 commit comments

Comments
 (0)