Skip to content

Commit 4a40ce8

Browse files
committed
implement listReplacedModules
1 parent 7d0010a commit 4a40ce8

File tree

6 files changed

+66
-1
lines changed

6 files changed

+66
-1
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
"test": "run-s test:unit test:safe test:esm test:no-loader-esm test:example",
4545
"test:unit": "teenytest --helper test/helper.js \"test/unit/**/*.test.{js,ts}\"",
4646
"test:safe": "teenytest --helper test/helper.js \"test/safe/**/*.test.{js,ts}\"",
47-
"test:esm": "cross-env NODE_OPTIONS=\"--loader=quibble\" TS_NODE_IGNORE=\"node_modules,notypescript\" ./test/safe-esm/teenytest-proxy.js --helper test/helper.js test/safe-esm/replace.test.js",
47+
"test:esm": "cross-env NODE_OPTIONS=\"--loader=quibble\" TS_NODE_IGNORE=\"node_modules,notypescript\" ./test/safe-esm/teenytest-proxy.js --helper test/helper.js test/safe-esm/replace.test.js test/safe-esm/list.test.js",
4848
"test:esm-auto-loader": "node test/esm-lib/supports-auto-load.js not || TS_NODE_IGNORE=\"node_modules,notypescript\" ./test/safe-esm/teenytest-proxy.js --helper test/helper.js test/safe-esm/replace.test.js",
4949
"test:no-loader-esm": "node test/esm-lib/supports-auto-load.js || cross-env TS_NODE_IGNORE=\"node_modules,notypescript\" teenytest test/helper.js './test/safe-esm/*.no-loader-test.{mjs,js}'",
5050
"test:ci": "npm run compile && run-p style test && echo \"All done!\"",

src/index.js

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import when from './when'
77
import verify from './verify'
88
import matchers from './matchers'
99
import replace, { replaceEsm } from './replace'
10+
import listReplacedModules from './list'
1011
import explain from './explain'
1112
import reset from './reset'
1213
import config from './config'
@@ -26,6 +27,7 @@ module.exports = {
2627
matchers,
2728
replace,
2829
replaceEsm,
30+
listReplacedModules,
2931
explain,
3032
reset,
3133
config,

src/list.js

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { listMockedModules } from 'quibble'
2+
3+
export default function listReplacedModules () {
4+
return listMockedModules()
5+
}

test/safe-esm/list.test.js

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
const { pathToFileURL } = require('url')
2+
const quibble = require('quibble')
3+
4+
module.exports = {
5+
async 'listing mocked modules' () {
6+
assert._isEqual(td.listReplacedModules(), [])
7+
8+
await td.replaceEsm('./fixtures/honk.mjs')
9+
10+
assert._isEqual(td.listReplacedModules(), [
11+
pathToFileURL(quibble.absolutify('./fixtures/honk.mjs', __filename)).href
12+
])
13+
14+
await td.replaceEsm('./fixtures/turn.mjs')
15+
16+
assert._isEqual(td.listReplacedModules(), [
17+
pathToFileURL(quibble.absolutify('./fixtures/honk.mjs', __filename)).href,
18+
pathToFileURL(quibble.absolutify('./fixtures/turn.mjs', __filename)).href
19+
])
20+
},
21+
async 'listing replaced modules after a reset' () {
22+
await td.replaceEsm('./fixtures/honk.mjs')
23+
24+
td.reset()
25+
26+
assert._isEqual(td.listReplacedModules(), [])
27+
}
28+
}

test/safe/list.test.js

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
const { pathToFileURL } = require('url')
2+
const quibble = require('quibble')
3+
4+
module.exports = {
5+
'listing mocked modules' () {
6+
assert._isEqual(td.listReplacedModules(), [])
7+
8+
td.replace('./fixtures/honk')
9+
10+
assert._isEqual(td.listReplacedModules(), [
11+
pathToFileURL(quibble.absolutify('./fixtures/honk.js', __filename)).href
12+
])
13+
14+
td.replace('./fixtures/turn')
15+
16+
assert._isEqual(td.listReplacedModules(), [
17+
pathToFileURL(quibble.absolutify('./fixtures/honk.js', __filename)).href,
18+
pathToFileURL(quibble.absolutify('./fixtures/turn.js', __filename)).href
19+
])
20+
},
21+
'listing replaced modules after a reset' () {
22+
td.replace('./fixtures/honk')
23+
24+
td.reset()
25+
26+
assert._isEqual(td.listReplacedModules(), [])
27+
}
28+
}

test/unit/index.test.js

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ module.exports = () => {
77
const constructor = td.replace('../../src/constructor').default
88
const instance = td.replace('../../src/instance').default
99
const { default: replace, replaceEsm } = td.replace('../../src/replace')
10+
const listReplacedModules = td.replace('../../src/list').default
1011
const imitate = td.replace('../../src/imitate').default
1112
// Stubbing & Verifying
1213
const when = td.replace('../../src/when').default
@@ -30,6 +31,7 @@ module.exports = () => {
3031
instance,
3132
replace,
3233
replaceEsm,
34+
listReplacedModules,
3335
imitate,
3436
when,
3537
verify,

0 commit comments

Comments
 (0)