Skip to content

Commit 5d2fc90

Browse files
committed
test: remove mock hack of require.reesolve
ref: jestjs/jest#7687
1 parent d6040f6 commit 5d2fc90

File tree

2 files changed

+16
-20
lines changed

2 files changed

+16
-20
lines changed

Diff for: packages/@vuepress/shared-utils/__tests__/moduleResolver.spec.ts

+13-9
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ function loadMockModule (name: string) {
2121
}
2222

2323
function resolveMockModule (name: string) {
24-
return path.resolve(__dirname, `${MOCK_RELATIVE}/${name}`)
24+
return require.resolve(path.resolve(__dirname, `${MOCK_RELATIVE}/${name}/`))
2525
}
2626

2727
const fixturesDir = path.resolve(__dirname, 'fixtures')
@@ -110,12 +110,14 @@ describe('resolvePlugin', () => {
110110
expect(resolved.fromDep).toBe(false)
111111
})
112112

113-
test('from dep', () => {
113+
describe('from dep', () => {
114114
const asserts = getBaseAsserts('plugin')
115115
for (const { input, output } of asserts) {
116-
const [, name] = output
117-
const resolved = resolvePlugin(input)
118-
expect(resolved.entry).toBe(loadMockModule(name))
116+
test(input, () => {
117+
const [, name] = output
118+
const resolved = resolvePlugin(input)
119+
expect(resolved.entry).toBe(loadMockModule(name))
120+
})
119121
}
120122
})
121123

@@ -137,12 +139,14 @@ describe('resolvePlugin', () => {
137139
describe('resolveTheme', () => {
138140
const resolveTheme = themeResolver.resolve.bind(themeResolver)
139141

140-
test('from dep', () => {
142+
describe('from dep', () => {
141143
const asserts = getBaseAsserts('theme')
142144
for (const { input, output } of asserts) {
143-
const [, name] = output
144-
const resolved = resolveTheme(input)
145-
expect(resolved.entry).toBe(resolveMockModule(name))
145+
test(input, () => {
146+
const [, name] = output
147+
const resolved = resolveTheme(input)
148+
expect(resolved.entry).toBe(resolveMockModule(name))
149+
})
146150
}
147151
})
148152

Diff for: packages/@vuepress/shared-utils/src/moduleLoader.ts

+3-11
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
// Midified from https://github.com/vuejs/vue-cli/blob/dev/packages/@0vue/cli-shared-utils/lib/module.js
22

33
import semver from 'semver'
4-
import path from 'upath'
5-
import fs from 'fs-extra'
64
import env from './env'
75

86
function resolveFallback (request: string, options: { paths: string[] }) {
@@ -40,15 +38,9 @@ const resolve = semver.satisfies(process.version, '>=10.0.0')
4038

4139
export function resolveModule (request: string, context: string): string {
4240
let resolvedPath
43-
// TODO
44-
// Temporary workaround for jest cannot resolve module path from '__mocks__'
45-
// when using 'require.resolve'.
46-
if (env.isTest && request !== '@vuepress/theme-default') {
47-
resolvedPath = path.resolve(__dirname, '../../../../__mocks__', request)
48-
if (!fs.existsSync(`${resolvedPath}.js`) && !fs.existsSync(`${resolvedPath}/index.js`)) {
49-
throw new Error(`Cannot find module '${request}'`)
50-
}
51-
return resolvedPath
41+
42+
if (env.isTest) {
43+
return require.resolve(request)
5244
}
5345

5446
// module.paths is for globally install packages.

0 commit comments

Comments
 (0)