|
9 | 9 | import * as fs from 'fs'; |
10 | 10 | import * as path from 'path'; |
11 | 11 | import {ModuleMap} from 'jest-haste-map'; |
12 | | -import Resolver from '../'; |
| 12 | +import Resolver = require('../'); |
13 | 13 | // @ts-ignore: js file |
14 | 14 | import userResolver from '../__mocks__/userResolver'; |
15 | 15 | import nodeModulesPaths from '../nodeModulesPaths'; |
@@ -83,7 +83,7 @@ describe('findNodeModule', () => { |
83 | 83 | }); |
84 | 84 |
|
85 | 85 | describe('resolveModule', () => { |
86 | | - let moduleMap: typeof ModuleMap; |
| 86 | + let moduleMap: ModuleMap; |
87 | 87 | beforeEach(() => { |
88 | 88 | moduleMap = ModuleMap.create('/'); |
89 | 89 | }); |
@@ -156,6 +156,18 @@ describe('resolveModule', () => { |
156 | 156 | }); |
157 | 157 | expect(resolved).toBe(require.resolve('../__mocks__/mockJsDependency.js')); |
158 | 158 | }); |
| 159 | + |
| 160 | + it('does not confuse directories with files', () => { |
| 161 | + const resolver = new Resolver(moduleMap, { |
| 162 | + extensions: ['.js'], |
| 163 | + } as ResolverConfig); |
| 164 | + const mocksDirectory = path.resolve(__dirname, '../__mocks__'); |
| 165 | + const resolved = resolver.resolveModule( |
| 166 | + path.join(mocksDirectory, 'foo/foo.js'), |
| 167 | + './', |
| 168 | + ); |
| 169 | + expect(resolved).toBe(path.join(mocksDirectory, 'foo/index.js')); |
| 170 | + }); |
159 | 171 | }); |
160 | 172 |
|
161 | 173 | describe('getMockModule', () => { |
@@ -195,7 +207,7 @@ describe('nodeModulesPaths', () => { |
195 | 207 |
|
196 | 208 | describe('Resolver.getModulePaths() -> nodeModulesPaths()', () => { |
197 | 209 | const _path = path; |
198 | | - let moduleMap: typeof ModuleMap; |
| 210 | + let moduleMap: ModuleMap; |
199 | 211 |
|
200 | 212 | beforeEach(() => { |
201 | 213 | jest.resetModules(); |
|
0 commit comments