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 {
|
getCanonicalFileName(fileName: string): string {
|
||||||
return this.useCaseSensitiveFileNames ? fileName : fileName.toLowerCase();
|
return this.useCaseSensitiveFileNames() ? fileName : fileName.toLowerCase();
|
||||||
}
|
}
|
||||||
|
|
||||||
useCaseSensitiveFileNames(): boolean {
|
useCaseSensitiveFileNames(): boolean {
|
||||||
|
|
|
@ -41,5 +41,27 @@ runInEachFileSystem(() => {
|
||||||
expect(host.getSourceFile(directory, ts.ScriptTarget.ES2015)).toBe(undefined);
|
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