fix(compiler-cli): fix case-sensitivity issues in NgtscCompilerHost (#36859)
The `getCanonicalFileName()` method was not actually calling the `useCaseSensitiveFileNames()` method. So it always returned a case-sensitive canonical filename. PR Close #36859
This commit is contained in:
parent
f930e75a80
commit
0ec0ff3bce
|
@ -44,7 +44,7 @@ export class NgtscCompilerHost implements ts.CompilerHost {
|
|||
}
|
||||
|
||||
getCanonicalFileName(fileName: string): string {
|
||||
return this.useCaseSensitiveFileNames ? fileName : fileName.toLowerCase();
|
||||
return this.useCaseSensitiveFileNames() ? fileName : fileName.toLowerCase();
|
||||
}
|
||||
|
||||
useCaseSensitiveFileNames(): boolean {
|
||||
|
|
|
@ -41,5 +41,27 @@ runInEachFileSystem(() => {
|
|||
expect(host.getSourceFile(directory, ts.ScriptTarget.ES2015)).toBe(undefined);
|
||||
});
|
||||
});
|
||||
|
||||
describe('useCaseSensitiveFileNames()', () => {
|
||||
it('should return the same as `FileSystem.isCaseSensitive()', () => {
|
||||
const directory = absoluteFrom('/a/b/c');
|
||||
const fs = getFileSystem();
|
||||
fs.ensureDir(directory);
|
||||
const host = new NgtscCompilerHost(fs);
|
||||
expect(host.useCaseSensitiveFileNames()).toEqual(fs.isCaseSensitive());
|
||||
});
|
||||
});
|
||||
|
||||
describe('getCanonicalFileName()', () => {
|
||||
it('should return the original filename if FS is case-sensitive or lower case otherwise',
|
||||
() => {
|
||||
const directory = absoluteFrom('/a/b/c');
|
||||
const fs = getFileSystem();
|
||||
fs.ensureDir(directory);
|
||||
const host = new NgtscCompilerHost(fs);
|
||||
expect(host.getCanonicalFileName(('AbCd.ts')))
|
||||
.toEqual(fs.isCaseSensitive() ? 'AbCd.ts' : 'abcd.ts');
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue