From 8ce38cac0de3f59047bd05c8474657d4b590b662 Mon Sep 17 00:00:00 2001 From: Pete Bacon Darwin Date: Wed, 6 May 2020 22:20:50 +0100 Subject: [PATCH] test(compiler-cli): ensure indexer tests are not brittle to case-sensitivity (#36859) These tests were matching file-paths against what is retrieved from the TS compiler. But the TS compiler paths have been canonicalised, so the tests were brittle on case-insensitive file-systems. PR Close #36859 --- .../src/ngtsc/indexer/test/context_spec.ts | 4 ++-- .../src/ngtsc/indexer/test/transform_spec.ts | 10 +++++----- packages/compiler-cli/src/ngtsc/indexer/test/util.ts | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/compiler-cli/src/ngtsc/indexer/test/context_spec.ts b/packages/compiler-cli/src/ngtsc/indexer/test/context_spec.ts index b95fb7502c..8ce7582a4e 100644 --- a/packages/compiler-cli/src/ngtsc/indexer/test/context_spec.ts +++ b/packages/compiler-cli/src/ngtsc/indexer/test/context_spec.ts @@ -23,7 +23,7 @@ runInEachFileSystem(() => { boundTemplate, templateMeta: { isInline: false, - file: new ParseSourceFile('
', util.getTestFilePath()), + file: new ParseSourceFile('
', declaration.getSourceFile().fileName), }, }); @@ -34,7 +34,7 @@ runInEachFileSystem(() => { boundTemplate, templateMeta: { isInline: false, - file: new ParseSourceFile('
', util.getTestFilePath()), + file: new ParseSourceFile('
', declaration.getSourceFile().fileName), }, }, ])); diff --git a/packages/compiler-cli/src/ngtsc/indexer/test/transform_spec.ts b/packages/compiler-cli/src/ngtsc/indexer/test/transform_spec.ts index 8dac5ec4b5..c788ed8eb7 100644 --- a/packages/compiler-cli/src/ngtsc/indexer/test/transform_spec.ts +++ b/packages/compiler-cli/src/ngtsc/indexer/test/transform_spec.ts @@ -25,7 +25,7 @@ function populateContext( boundTemplate, templateMeta: { isInline, - file: new ParseSourceFile(template, util.getTestFilePath()), + file: new ParseSourceFile(template, component.getSourceFile().fileName), }, }); } @@ -45,12 +45,12 @@ runInEachFileSystem(() => { expect(info).toEqual({ name: 'C', selector: 'c-selector', - file: new ParseSourceFile('class C {}', util.getTestFilePath()), + file: new ParseSourceFile('class C {}', decl.getSourceFile().fileName), template: { identifiers: getTemplateIdentifiers(util.getBoundTemplate('
{{foo}}
')), usedComponents: new Set(), isInline: false, - file: new ParseSourceFile('
{{foo}}
', util.getTestFilePath()), + file: new ParseSourceFile('
{{foo}}
', decl.getSourceFile().fileName), } }); }); @@ -69,7 +69,7 @@ runInEachFileSystem(() => { const info = analysis.get(decl); expect(info).toBeDefined(); expect(info!.template.file) - .toEqual(new ParseSourceFile('class C {}', util.getTestFilePath())); + .toEqual(new ParseSourceFile('class C {}', decl.getSourceFile().fileName)); }); it('should give external templates their own source file', () => { @@ -84,7 +84,7 @@ runInEachFileSystem(() => { const info = analysis.get(decl); expect(info).toBeDefined(); expect(info!.template.file) - .toEqual(new ParseSourceFile('
{{foo}}
', util.getTestFilePath())); + .toEqual(new ParseSourceFile('
{{foo}}
', decl.getSourceFile().fileName)); }); it('should emit used components', () => { diff --git a/packages/compiler-cli/src/ngtsc/indexer/test/util.ts b/packages/compiler-cli/src/ngtsc/indexer/test/util.ts index 67b200f39f..e6298e7843 100644 --- a/packages/compiler-cli/src/ngtsc/indexer/test/util.ts +++ b/packages/compiler-cli/src/ngtsc/indexer/test/util.ts @@ -16,7 +16,7 @@ import {getDeclaration, makeProgram} from '../../testing'; import {ComponentMeta} from '../src/context'; /** Dummy file URL */ -export function getTestFilePath(): AbsoluteFsPath { +function getTestFilePath(): AbsoluteFsPath { return absoluteFrom('/TEST_FILE.ts'); }