|
1 | 1 | namespace ts {
|
2 |
| - export function checkResolvedModule(expected: ResolvedModuleFull | undefined, actual: ResolvedModuleFull): boolean { |
3 |
| - if (!expected === !actual) { |
4 |
| - if (expected) { |
5 |
| - assert.isTrue(expected.resolvedFileName === actual.resolvedFileName, `'resolvedFileName': expected '${expected.resolvedFileName}' to be equal to '${actual.resolvedFileName}'`); |
6 |
| - assert.isTrue(expected.extension === actual.extension, `'ext': expected '${expected.extension}' to be equal to '${actual.extension}'`); |
7 |
| - assert.isTrue(expected.isExternalLibraryImport === actual.isExternalLibraryImport, `'isExternalLibraryImport': expected '${expected.isExternalLibraryImport}' to be equal to '${actual.isExternalLibraryImport}'`); |
| 2 | + export function checkResolvedModule(actual: ResolvedModuleFull | undefined, expected: ResolvedModuleFull | undefined): boolean { |
| 3 | + if (!expected) { |
| 4 | + if (actual) { |
| 5 | + assert.fail(actual, expected, "expected resolved module to be undefined"); |
| 6 | + return false; |
8 | 7 | }
|
9 | 8 | return true;
|
10 | 9 | }
|
11 |
| - return false; |
| 10 | + else if (!actual) { |
| 11 | + assert.fail(actual, expected, "expected resolved module to be defined"); |
| 12 | + return false; |
| 13 | + } |
| 14 | + |
| 15 | + assert.isTrue(actual.resolvedFileName === expected.resolvedFileName, `'resolvedFileName': expected '${actual.resolvedFileName}' to be equal to '${expected.resolvedFileName}'`); |
| 16 | + assert.isTrue(actual.extension === expected.extension, `'ext': expected '${actual.extension}' to be equal to '${expected.extension}'`); |
| 17 | + assert.isTrue(actual.isExternalLibraryImport === expected.isExternalLibraryImport, `'isExternalLibraryImport': expected '${actual.isExternalLibraryImport}' to be equal to '${expected.isExternalLibraryImport}'`); |
| 18 | + return true; |
12 | 19 | }
|
13 | 20 |
|
14 | 21 | export function checkResolvedModuleWithFailedLookupLocations(actual: ResolvedModuleWithFailedLookupLocations, expectedResolvedModule: ResolvedModuleFull, expectedFailedLookupLocations: string[]): void {
|
@@ -396,8 +403,12 @@ namespace ts {
|
396 | 403 | function testPreserveSymlinks(preserveSymlinks: boolean) {
|
397 | 404 | it(`preserveSymlinks: ${preserveSymlinks}`, () => {
|
398 | 405 | const realFileName = "/linked/index.d.ts";
|
399 |
| - const symlinkFileName = "/app/node_modulex/linked/index.d.ts"; |
400 |
| - const host = createModuleResolutionHost(/*hasDirectoryExists*/ true, { name: realFileName, symlinks: [symlinkFileName] }); |
| 406 | + const symlinkFileName = "/app/node_modules/linked/index.d.ts"; |
| 407 | + const host = createModuleResolutionHost( |
| 408 | + /*hasDirectoryExists*/ true, |
| 409 | + { name: realFileName, symlinks: [symlinkFileName] }, |
| 410 | + { name: "/app/node_modules/linked/package.json", content: '{"version": "0.0.0", "main": "./index"}' }, |
| 411 | + ); |
401 | 412 | const resolution = nodeModuleNameResolver("linked", "/app/app.ts", { preserveSymlinks }, host);
|
402 | 413 | const resolvedFileName = preserveSymlinks ? symlinkFileName : realFileName;
|
403 | 414 | checkResolvedModule(resolution.resolvedModule, createResolvedModule(resolvedFileName, /*isExternalLibraryImport*/ true));
|
|
0 commit comments