mirror of
https://github.com/wahyd4/vuepress.git
synced 2026-08-09 05:16:23 +10:00
test: remove mock hack of require.reesolve
ref: https://github.com/facebook/jest/pull/7687
This commit is contained in:
@@ -21,7 +21,7 @@ function loadMockModule (name: string) {
|
||||
}
|
||||
|
||||
function resolveMockModule (name: string) {
|
||||
return path.resolve(__dirname, `${MOCK_RELATIVE}/${name}`)
|
||||
return require.resolve(path.resolve(__dirname, `${MOCK_RELATIVE}/${name}/`))
|
||||
}
|
||||
|
||||
const fixturesDir = path.resolve(__dirname, 'fixtures')
|
||||
@@ -110,12 +110,14 @@ describe('resolvePlugin', () => {
|
||||
expect(resolved.fromDep).toBe(false)
|
||||
})
|
||||
|
||||
test('from dep', () => {
|
||||
describe('from dep', () => {
|
||||
const asserts = getBaseAsserts('plugin')
|
||||
for (const { input, output } of asserts) {
|
||||
const [, name] = output
|
||||
const resolved = resolvePlugin(input)
|
||||
expect(resolved.entry).toBe(loadMockModule(name))
|
||||
test(input, () => {
|
||||
const [, name] = output
|
||||
const resolved = resolvePlugin(input)
|
||||
expect(resolved.entry).toBe(loadMockModule(name))
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
@@ -137,12 +139,14 @@ describe('resolvePlugin', () => {
|
||||
describe('resolveTheme', () => {
|
||||
const resolveTheme = themeResolver.resolve.bind(themeResolver)
|
||||
|
||||
test('from dep', () => {
|
||||
describe('from dep', () => {
|
||||
const asserts = getBaseAsserts('theme')
|
||||
for (const { input, output } of asserts) {
|
||||
const [, name] = output
|
||||
const resolved = resolveTheme(input)
|
||||
expect(resolved.entry).toBe(resolveMockModule(name))
|
||||
test(input, () => {
|
||||
const [, name] = output
|
||||
const resolved = resolveTheme(input)
|
||||
expect(resolved.entry).toBe(resolveMockModule(name))
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
// Midified from https://github.com/vuejs/vue-cli/blob/dev/packages/@0vue/cli-shared-utils/lib/module.js
|
||||
|
||||
import semver from 'semver'
|
||||
import path from 'upath'
|
||||
import fs from 'fs-extra'
|
||||
import env from './env'
|
||||
|
||||
function resolveFallback (request: string, options: { paths: string[] }) {
|
||||
@@ -40,15 +38,9 @@ const resolve = semver.satisfies(process.version, '>=10.0.0')
|
||||
|
||||
export function resolveModule (request: string, context: string): string {
|
||||
let resolvedPath
|
||||
// TODO
|
||||
// Temporary workaround for jest cannot resolve module path from '__mocks__'
|
||||
// when using 'require.resolve'.
|
||||
if (env.isTest && request !== '@vuepress/theme-default') {
|
||||
resolvedPath = path.resolve(__dirname, '../../../../__mocks__', request)
|
||||
if (!fs.existsSync(`${resolvedPath}.js`) && !fs.existsSync(`${resolvedPath}/index.js`)) {
|
||||
throw new Error(`Cannot find module '${request}'`)
|
||||
}
|
||||
return resolvedPath
|
||||
|
||||
if (env.isTest) {
|
||||
return require.resolve(request)
|
||||
}
|
||||
|
||||
// module.paths is for globally install packages.
|
||||
|
||||
Reference in New Issue
Block a user