mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-04 21:53:42 -06:00
Enable tests for the case sensitive and non case sensitive path resolution during soucemap path calculation
This commit is contained in:
parent
00e5b15a05
commit
fe8f736207
@ -2096,9 +2096,6 @@ module FourSlash {
|
||||
xmlData.push(xml);
|
||||
}
|
||||
|
||||
// Cache these between executions so we don't have to re-parse them for every test
|
||||
var fourslashSourceFile: ts.SourceFile = undefined;
|
||||
|
||||
export function runFourSlashTestContent(content: string, fileName: string): TestXmlData {
|
||||
// Parse out the files and their metadata
|
||||
var testData = parseTestData(content, fileName);
|
||||
@ -2106,21 +2103,16 @@ module FourSlash {
|
||||
currentTestState = new TestState(testData);
|
||||
|
||||
var result = '';
|
||||
var fourslashFilename = 'fourslash.ts';
|
||||
var tsFn = 'tests/cases/fourslash/' + fourslashFilename;
|
||||
fourslashSourceFile = fourslashSourceFile || ts.createSourceFile(tsFn, Harness.IO.readFile(tsFn), ts.ScriptTarget.ES5, /*version*/ "0", /*isOpen*/ false);
|
||||
|
||||
var files: { [filename: string]: ts.SourceFile; } = {};
|
||||
files[Harness.Compiler.getCanonicalFileName(fourslashFilename)] = fourslashSourceFile;
|
||||
files[Harness.Compiler.getCanonicalFileName(fileName)] = ts.createSourceFile(fileName, content, ts.ScriptTarget.ES5, /*version*/ "0", /*isOpen*/ false);
|
||||
files[Harness.Compiler.getCanonicalFileName(Harness.Compiler.defaultLibFileName)] = Harness.Compiler.defaultLibSourceFile;
|
||||
|
||||
var host = Harness.Compiler.createCompilerHost(files, (fn, contents) => result = contents);
|
||||
var program = ts.createProgram([fourslashFilename, fileName], { out: "fourslashTestOutput.js" }, host);
|
||||
var host = Harness.Compiler.createCompilerHost([{ unitName: Harness.Compiler.fourslashFilename, content: undefined },
|
||||
{ unitName: fileName, content: content }],
|
||||
(fn, contents) => result = contents,
|
||||
ts.ScriptTarget.ES5,
|
||||
sys.useCaseSensitiveFileNames);
|
||||
var program = ts.createProgram([Harness.Compiler.fourslashFilename, fileName], { out: "fourslashTestOutput.js" }, host);
|
||||
var checker = ts.createTypeChecker(program, /*fullTypeCheckMode*/ true);
|
||||
checker.checkProgram();
|
||||
|
||||
var errs = checker.getDiagnostics(files[fileName]);
|
||||
var errs = checker.getDiagnostics(program.getSourceFile(fileName));
|
||||
if (errs.length > 0) {
|
||||
throw new Error('Error compiling ' + fileName + ': ' + errs.map(e => e.messageText).join('\r\n'));
|
||||
}
|
||||
|
||||
@ -534,18 +534,47 @@ module Harness {
|
||||
export var defaultLibFileName = 'lib.d.ts';
|
||||
export var defaultLibSourceFile = ts.createSourceFile(defaultLibFileName, IO.readFile(libFolder + 'lib.core.d.ts'), /*languageVersion*/ ts.ScriptTarget.ES5, /*version:*/ "0");
|
||||
|
||||
// Cache these between executions so we don't have to re-parse them for every test
|
||||
export var fourslashFilename = 'fourslash.ts';
|
||||
export var fourslashSourceFile: ts.SourceFile;
|
||||
|
||||
export function getCanonicalFileName(fileName: string): string {
|
||||
return sys.useCaseSensitiveFileNames ? fileName : fileName.toLowerCase();
|
||||
}
|
||||
|
||||
export function createCompilerHost(filemap: { [filename: string]: ts.SourceFile; }, writeFile: (fn: string, contents: string, writeByteOrderMark:boolean) => void): ts.CompilerHost {
|
||||
export function createCompilerHost(inputFiles: { unitName: string; content: string; }[],
|
||||
writeFile: (fn: string, contents: string, writeByteOrderMark: boolean) => void,
|
||||
scriptTarget: ts.ScriptTarget,
|
||||
useCaseSensitiveFileNames: boolean): ts.CompilerHost {
|
||||
|
||||
// Local get canonical file name function, that depends on passed in parameter for useCaseSensitiveFileNames
|
||||
function getCanonicalFileName(fileName: string): string {
|
||||
return useCaseSensitiveFileNames ? fileName : fileName.toLowerCase();
|
||||
}
|
||||
|
||||
var filemap: { [filename: string]: ts.SourceFile; } = {};
|
||||
// Register input files
|
||||
function register(file: { unitName: string; content: string; }) {
|
||||
if (file.content !== undefined) {
|
||||
var filename = Path.switchToForwardSlashes(file.unitName);
|
||||
filemap[getCanonicalFileName(filename)] = ts.createSourceFile(filename, file.content, scriptTarget, /*version:*/ "0");
|
||||
}
|
||||
};
|
||||
inputFiles.forEach(register);
|
||||
|
||||
return {
|
||||
getCurrentDirectory: sys.getCurrentDirectory,
|
||||
getCancellationToken: (): any => undefined,
|
||||
getSourceFile: (fn, languageVersion) => {
|
||||
if (Object.prototype.hasOwnProperty.call(filemap, getCanonicalFileName(fn))) {
|
||||
return filemap[getCanonicalFileName(fn)];
|
||||
} else {
|
||||
}
|
||||
else if (fn === fourslashFilename) {
|
||||
var tsFn = 'tests/cases/fourslash/' + fourslashFilename;
|
||||
fourslashSourceFile = fourslashSourceFile || ts.createSourceFile(tsFn, Harness.IO.readFile(tsFn), scriptTarget, /*version*/ "0", /*isOpen*/ false);
|
||||
return fourslashSourceFile;
|
||||
}
|
||||
else {
|
||||
var lib = defaultLibFileName;
|
||||
if (fn === defaultLibFileName) {
|
||||
return defaultLibSourceFile;
|
||||
@ -557,7 +586,7 @@ module Harness {
|
||||
getDefaultLibFilename: () => defaultLibFileName,
|
||||
writeFile: writeFile,
|
||||
getCanonicalFileName: getCanonicalFileName,
|
||||
useCaseSensitiveFileNames: () => sys.useCaseSensitiveFileNames,
|
||||
useCaseSensitiveFileNames: () => useCaseSensitiveFileNames,
|
||||
getNewLine: ()=> sys.newLine
|
||||
};
|
||||
}
|
||||
@ -614,7 +643,7 @@ module Harness {
|
||||
}
|
||||
|
||||
public compileFiles(inputFiles: { unitName: string; content: string }[],
|
||||
otherFiles: { unitName: string; content?: string }[],
|
||||
otherFiles: { unitName: string; content: string }[],
|
||||
onComplete: (result: CompilerResult, checker: ts.TypeChecker) => void,
|
||||
settingsCallback?: (settings: ts.CompilerOptions) => void,
|
||||
options?: ts.CompilerOptions) {
|
||||
@ -628,6 +657,7 @@ module Harness {
|
||||
settingsCallback(null);
|
||||
}
|
||||
|
||||
var useCaseSensitiveFileNames = sys.useCaseSensitiveFileNames;
|
||||
this.settings.forEach(setting => {
|
||||
switch (setting.flag.toLowerCase()) {
|
||||
// "filename", "comments", "declaration", "module", "nolib", "sourcemap", "target", "out", "outDir", "noimplicitany", "noresolve"
|
||||
@ -706,10 +736,13 @@ module Harness {
|
||||
options.removeComments = setting.value === 'false';
|
||||
break;
|
||||
|
||||
case 'usecasesensitivefilenames':
|
||||
useCaseSensitiveFileNames = setting.value === 'true';
|
||||
break;
|
||||
|
||||
case 'mapsourcefiles':
|
||||
case 'maproot':
|
||||
case 'generatedeclarationfiles':
|
||||
case 'usecasesensitivefileresolution':
|
||||
case 'gatherDiagnostics':
|
||||
case 'codepage':
|
||||
case 'createFileLog':
|
||||
@ -748,7 +781,10 @@ module Harness {
|
||||
var fileOutputs: GeneratedFile[] = [];
|
||||
|
||||
var programFiles = inputFiles.map(file => file.unitName);
|
||||
var program = ts.createProgram(programFiles, options, createCompilerHost(filemap, (fn, contents, writeByteOrderMark) => fileOutputs.push({ fileName: fn, code: contents, writeByteOrderMark: writeByteOrderMark })));
|
||||
var program = ts.createProgram(programFiles, options, createCompilerHost(inputFiles.concat(otherFiles),
|
||||
(fn, contents, writeByteOrderMark) => fileOutputs.push({ fileName: fn, code: contents, writeByteOrderMark: writeByteOrderMark }),
|
||||
options.target,
|
||||
useCaseSensitiveFileNames));
|
||||
|
||||
var hadParseErrors = program.getDiagnostics().length > 0;
|
||||
|
||||
@ -1034,7 +1070,7 @@ module Harness {
|
||||
var optionRegex = /^[\/]{2}\s*@(\w+)\s*:\s*(\S*)/gm; // multiple matches on multiple lines
|
||||
|
||||
// List of allowed metadata names
|
||||
var fileMetadataNames = ["filename", "comments", "declaration", "module", "nolib", "sourcemap", "target", "out", "outDir", "noimplicitany", "noresolve", "newline", "newlines", "emitbom", "errortruncation"];
|
||||
var fileMetadataNames = ["filename", "comments", "declaration", "module", "nolib", "sourcemap", "target", "out", "outDir", "noimplicitany", "noresolve", "newline", "newlines", "emitbom", "errortruncation", "usecasesensitivefilenames"];
|
||||
|
||||
function extractCompilerSettings(content: string): CompilerSetting[] {
|
||||
|
||||
|
||||
@ -0,0 +1,26 @@
|
||||
//// [tests/cases/compiler/sourceMapWithCaseSensitiveFileNames.ts] ////
|
||||
|
||||
//// [app.ts]
|
||||
// Note in the out result we are using same folder name only different in casing
|
||||
// Since this is case sensitive, the folders are different and hence the relative paths in sourcemap shouldn't be just app.ts or app2.ts
|
||||
class c {
|
||||
}
|
||||
|
||||
//// [app2.ts]
|
||||
class d {
|
||||
}
|
||||
|
||||
//// [fooResult.js]
|
||||
// Note in the out result we are using same folder name only different in casing
|
||||
// Since this is case sensitive, the folders are different and hence the relative paths in sourcemap shouldn't be just app.ts or app2.ts
|
||||
var c = (function () {
|
||||
function c() {
|
||||
}
|
||||
return c;
|
||||
})();
|
||||
var d = (function () {
|
||||
function d() {
|
||||
}
|
||||
return d;
|
||||
})();
|
||||
//# sourceMappingURL=fooResult.js.map
|
||||
@ -0,0 +1,2 @@
|
||||
//// [fooResult.js.map]
|
||||
{"version":3,"file":"fooResult.js","sourceRoot":"","sources":["../testFiles/app.ts","../testFiles/app2.ts"],"names":["c","c.constructor","d","d.constructor"],"mappings":"AAEA,AAFA,gFAAgF;AAChF,wIAAwI;IAClI,CAAC;IAAPA,SAAMA,CAACA;IACPC,CAACA;IAADD,QAACA;AAADA,CAACA,AADD,IACC;ACHD,IAAM,CAAC;IAAPE,SAAMA,CAACA;IACPC,CAACA;IAADD,QAACA;AAADA,CAACA,AADD,IACC"}
|
||||
@ -0,0 +1,150 @@
|
||||
===================================================================
|
||||
JsFile: fooResult.js
|
||||
mapUrl: fooResult.js.map
|
||||
sourceRoot:
|
||||
sources: ../testFiles/app.ts,../testFiles/app2.ts
|
||||
===================================================================
|
||||
-------------------------------------------------------------------
|
||||
emittedFile:tests/cases/compiler/testfiles/fooResult.js
|
||||
sourceFile:../testFiles/app.ts
|
||||
-------------------------------------------------------------------
|
||||
>>>// Note in the out result we are using same folder name only different in casing
|
||||
1 >
|
||||
2 >
|
||||
3 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
||||
1 >// Note in the out result we are using same folder name only different in casing
|
||||
>// Since this is case sensitive, the folders are different and hence the relative paths in sourcemap shouldn't be just app.ts or app2.ts
|
||||
>
|
||||
2 >
|
||||
3 >// Note in the out result we are using same folder name only different in casing
|
||||
1 >Emitted(1, 1) Source(3, 1) + SourceIndex(0)
|
||||
2 >Emitted(1, 1) Source(1, 1) + SourceIndex(0)
|
||||
3 >Emitted(1, 81) Source(1, 81) + SourceIndex(0)
|
||||
---
|
||||
>>>// Since this is case sensitive, the folders are different and hence the relative paths in sourcemap shouldn't be just app.ts or app2.ts
|
||||
1->
|
||||
2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
1->
|
||||
>
|
||||
2 >// Since this is case sensitive, the folders are different and hence the relative paths in sourcemap shouldn't be just app.ts or app2.ts
|
||||
1->Emitted(2, 1) Source(2, 1) + SourceIndex(0)
|
||||
2 >Emitted(2, 137) Source(2, 137) + SourceIndex(0)
|
||||
---
|
||||
>>>var c = (function () {
|
||||
1 >^^^^
|
||||
2 > ^
|
||||
3 > ^^^^^^^^^^^^^^->
|
||||
1 >
|
||||
>class
|
||||
2 > c
|
||||
1 >Emitted(3, 5) Source(3, 7) + SourceIndex(0)
|
||||
2 >Emitted(3, 6) Source(3, 8) + SourceIndex(0)
|
||||
---
|
||||
>>> function c() {
|
||||
1->^^^^
|
||||
2 > ^^^^^^^^^
|
||||
3 > ^
|
||||
1->
|
||||
2 > class
|
||||
3 > c
|
||||
1->Emitted(4, 5) Source(3, 1) + SourceIndex(0) name (c)
|
||||
2 >Emitted(4, 14) Source(3, 7) + SourceIndex(0) name (c)
|
||||
3 >Emitted(4, 15) Source(3, 8) + SourceIndex(0) name (c)
|
||||
---
|
||||
>>> }
|
||||
1 >^^^^
|
||||
2 > ^
|
||||
3 > ^^^^^^^^^->
|
||||
1 > {
|
||||
>
|
||||
2 > }
|
||||
1 >Emitted(5, 5) Source(4, 1) + SourceIndex(0) name (c.constructor)
|
||||
2 >Emitted(5, 6) Source(4, 2) + SourceIndex(0) name (c.constructor)
|
||||
---
|
||||
>>> return c;
|
||||
1->^^^^
|
||||
2 > ^^^^^^^^
|
||||
1->
|
||||
2 > }
|
||||
1->Emitted(6, 5) Source(4, 1) + SourceIndex(0) name (c)
|
||||
2 >Emitted(6, 13) Source(4, 2) + SourceIndex(0) name (c)
|
||||
---
|
||||
>>>})();
|
||||
1 >
|
||||
2 >^
|
||||
3 >
|
||||
4 > ^^^^
|
||||
5 > ^^^^^^^^^^^^^^^^^^->
|
||||
1 >
|
||||
2 >}
|
||||
3 >
|
||||
4 > class c {
|
||||
> }
|
||||
1 >Emitted(7, 1) Source(4, 1) + SourceIndex(0) name (c)
|
||||
2 >Emitted(7, 2) Source(4, 2) + SourceIndex(0) name (c)
|
||||
3 >Emitted(7, 2) Source(3, 1) + SourceIndex(0)
|
||||
4 >Emitted(7, 6) Source(4, 2) + SourceIndex(0)
|
||||
---
|
||||
-------------------------------------------------------------------
|
||||
emittedFile:tests/cases/compiler/testfiles/fooResult.js
|
||||
sourceFile:../testFiles/app2.ts
|
||||
-------------------------------------------------------------------
|
||||
>>>var d = (function () {
|
||||
1->
|
||||
2 >^^^^
|
||||
3 > ^
|
||||
4 > ^^^^^^^^^^^^^^->
|
||||
1->
|
||||
2 >class
|
||||
3 > d
|
||||
1->Emitted(8, 1) Source(1, 1) + SourceIndex(1)
|
||||
2 >Emitted(8, 5) Source(1, 7) + SourceIndex(1)
|
||||
3 >Emitted(8, 6) Source(1, 8) + SourceIndex(1)
|
||||
---
|
||||
>>> function d() {
|
||||
1->^^^^
|
||||
2 > ^^^^^^^^^
|
||||
3 > ^
|
||||
1->
|
||||
2 > class
|
||||
3 > d
|
||||
1->Emitted(9, 5) Source(1, 1) + SourceIndex(1) name (d)
|
||||
2 >Emitted(9, 14) Source(1, 7) + SourceIndex(1) name (d)
|
||||
3 >Emitted(9, 15) Source(1, 8) + SourceIndex(1) name (d)
|
||||
---
|
||||
>>> }
|
||||
1 >^^^^
|
||||
2 > ^
|
||||
3 > ^^^^^^^^^->
|
||||
1 > {
|
||||
>
|
||||
2 > }
|
||||
1 >Emitted(10, 5) Source(2, 1) + SourceIndex(1) name (d.constructor)
|
||||
2 >Emitted(10, 6) Source(2, 2) + SourceIndex(1) name (d.constructor)
|
||||
---
|
||||
>>> return d;
|
||||
1->^^^^
|
||||
2 > ^^^^^^^^
|
||||
1->
|
||||
2 > }
|
||||
1->Emitted(11, 5) Source(2, 1) + SourceIndex(1) name (d)
|
||||
2 >Emitted(11, 13) Source(2, 2) + SourceIndex(1) name (d)
|
||||
---
|
||||
>>>})();
|
||||
1 >
|
||||
2 >^
|
||||
3 >
|
||||
4 > ^^^^
|
||||
5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
||||
1 >
|
||||
2 >}
|
||||
3 >
|
||||
4 > class d {
|
||||
> }
|
||||
1 >Emitted(12, 1) Source(2, 1) + SourceIndex(1) name (d)
|
||||
2 >Emitted(12, 2) Source(2, 2) + SourceIndex(1) name (d)
|
||||
3 >Emitted(12, 2) Source(1, 1) + SourceIndex(1)
|
||||
4 >Emitted(12, 6) Source(2, 2) + SourceIndex(1)
|
||||
---
|
||||
>>>//# sourceMappingURL=fooResult.js.map
|
||||
@ -0,0 +1,11 @@
|
||||
=== tests/cases/compiler/testFiles/app.ts ===
|
||||
// Note in the out result we are using same folder name only different in casing
|
||||
// Since this is case sensitive, the folders are different and hence the relative paths in sourcemap shouldn't be just app.ts or app2.ts
|
||||
class c {
|
||||
>c : c
|
||||
}
|
||||
|
||||
=== tests/cases/compiler/testFiles/app2.ts ===
|
||||
class d {
|
||||
>d : d
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
//// [tests/cases/compiler/sourceMapWithNonCaseSensitiveFileNames.ts] ////
|
||||
|
||||
//// [app.ts]
|
||||
// Note in the out result we are using same folder name only different in casing
|
||||
// Since this is non case sensitive, the relative paths should be just app.ts and app2.ts in the sourcemap
|
||||
class c {
|
||||
}
|
||||
|
||||
//// [app2.ts]
|
||||
class d {
|
||||
}
|
||||
|
||||
//// [fooResult.js]
|
||||
// Note in the out result we are using same folder name only different in casing
|
||||
// Since this is non case sensitive, the relative paths should be just app.ts and app2.ts in the sourcemap
|
||||
var c = (function () {
|
||||
function c() {
|
||||
}
|
||||
return c;
|
||||
})();
|
||||
var d = (function () {
|
||||
function d() {
|
||||
}
|
||||
return d;
|
||||
})();
|
||||
//# sourceMappingURL=fooResult.js.map
|
||||
@ -0,0 +1,2 @@
|
||||
//// [fooResult.js.map]
|
||||
{"version":3,"file":"fooResult.js","sourceRoot":"","sources":["../testFiles/app.ts","../testFiles/app2.ts"],"names":["c","c.constructor","d","d.constructor"],"mappings":"AAEA,AAFA,gFAAgF;AAChF,0GAA0G;IACpG,CAAC;IAAPA,SAAMA,CAACA;IACPC,CAACA;IAADD,QAACA;AAADA,CAACA,AADD,IACC;ACHD,IAAM,CAAC;IAAPE,SAAMA,CAACA;IACPC,CAACA;IAADD,QAACA;AAADA,CAACA,AADD,IACC"}
|
||||
@ -0,0 +1,150 @@
|
||||
===================================================================
|
||||
JsFile: fooResult.js
|
||||
mapUrl: fooResult.js.map
|
||||
sourceRoot:
|
||||
sources: ../testFiles/app.ts,../testFiles/app2.ts
|
||||
===================================================================
|
||||
-------------------------------------------------------------------
|
||||
emittedFile:tests/cases/compiler/testfiles/fooResult.js
|
||||
sourceFile:../testFiles/app.ts
|
||||
-------------------------------------------------------------------
|
||||
>>>// Note in the out result we are using same folder name only different in casing
|
||||
1 >
|
||||
2 >
|
||||
3 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
||||
1 >// Note in the out result we are using same folder name only different in casing
|
||||
>// Since this is non case sensitive, the relative paths should be just app.ts and app2.ts in the sourcemap
|
||||
>
|
||||
2 >
|
||||
3 >// Note in the out result we are using same folder name only different in casing
|
||||
1 >Emitted(1, 1) Source(3, 1) + SourceIndex(0)
|
||||
2 >Emitted(1, 1) Source(1, 1) + SourceIndex(0)
|
||||
3 >Emitted(1, 81) Source(1, 81) + SourceIndex(0)
|
||||
---
|
||||
>>>// Since this is non case sensitive, the relative paths should be just app.ts and app2.ts in the sourcemap
|
||||
1->
|
||||
2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
1->
|
||||
>
|
||||
2 >// Since this is non case sensitive, the relative paths should be just app.ts and app2.ts in the sourcemap
|
||||
1->Emitted(2, 1) Source(2, 1) + SourceIndex(0)
|
||||
2 >Emitted(2, 107) Source(2, 107) + SourceIndex(0)
|
||||
---
|
||||
>>>var c = (function () {
|
||||
1 >^^^^
|
||||
2 > ^
|
||||
3 > ^^^^^^^^^^^^^^->
|
||||
1 >
|
||||
>class
|
||||
2 > c
|
||||
1 >Emitted(3, 5) Source(3, 7) + SourceIndex(0)
|
||||
2 >Emitted(3, 6) Source(3, 8) + SourceIndex(0)
|
||||
---
|
||||
>>> function c() {
|
||||
1->^^^^
|
||||
2 > ^^^^^^^^^
|
||||
3 > ^
|
||||
1->
|
||||
2 > class
|
||||
3 > c
|
||||
1->Emitted(4, 5) Source(3, 1) + SourceIndex(0) name (c)
|
||||
2 >Emitted(4, 14) Source(3, 7) + SourceIndex(0) name (c)
|
||||
3 >Emitted(4, 15) Source(3, 8) + SourceIndex(0) name (c)
|
||||
---
|
||||
>>> }
|
||||
1 >^^^^
|
||||
2 > ^
|
||||
3 > ^^^^^^^^^->
|
||||
1 > {
|
||||
>
|
||||
2 > }
|
||||
1 >Emitted(5, 5) Source(4, 1) + SourceIndex(0) name (c.constructor)
|
||||
2 >Emitted(5, 6) Source(4, 2) + SourceIndex(0) name (c.constructor)
|
||||
---
|
||||
>>> return c;
|
||||
1->^^^^
|
||||
2 > ^^^^^^^^
|
||||
1->
|
||||
2 > }
|
||||
1->Emitted(6, 5) Source(4, 1) + SourceIndex(0) name (c)
|
||||
2 >Emitted(6, 13) Source(4, 2) + SourceIndex(0) name (c)
|
||||
---
|
||||
>>>})();
|
||||
1 >
|
||||
2 >^
|
||||
3 >
|
||||
4 > ^^^^
|
||||
5 > ^^^^^^^^^^^^^^^^^^->
|
||||
1 >
|
||||
2 >}
|
||||
3 >
|
||||
4 > class c {
|
||||
> }
|
||||
1 >Emitted(7, 1) Source(4, 1) + SourceIndex(0) name (c)
|
||||
2 >Emitted(7, 2) Source(4, 2) + SourceIndex(0) name (c)
|
||||
3 >Emitted(7, 2) Source(3, 1) + SourceIndex(0)
|
||||
4 >Emitted(7, 6) Source(4, 2) + SourceIndex(0)
|
||||
---
|
||||
-------------------------------------------------------------------
|
||||
emittedFile:tests/cases/compiler/testfiles/fooResult.js
|
||||
sourceFile:../testFiles/app2.ts
|
||||
-------------------------------------------------------------------
|
||||
>>>var d = (function () {
|
||||
1->
|
||||
2 >^^^^
|
||||
3 > ^
|
||||
4 > ^^^^^^^^^^^^^^->
|
||||
1->
|
||||
2 >class
|
||||
3 > d
|
||||
1->Emitted(8, 1) Source(1, 1) + SourceIndex(1)
|
||||
2 >Emitted(8, 5) Source(1, 7) + SourceIndex(1)
|
||||
3 >Emitted(8, 6) Source(1, 8) + SourceIndex(1)
|
||||
---
|
||||
>>> function d() {
|
||||
1->^^^^
|
||||
2 > ^^^^^^^^^
|
||||
3 > ^
|
||||
1->
|
||||
2 > class
|
||||
3 > d
|
||||
1->Emitted(9, 5) Source(1, 1) + SourceIndex(1) name (d)
|
||||
2 >Emitted(9, 14) Source(1, 7) + SourceIndex(1) name (d)
|
||||
3 >Emitted(9, 15) Source(1, 8) + SourceIndex(1) name (d)
|
||||
---
|
||||
>>> }
|
||||
1 >^^^^
|
||||
2 > ^
|
||||
3 > ^^^^^^^^^->
|
||||
1 > {
|
||||
>
|
||||
2 > }
|
||||
1 >Emitted(10, 5) Source(2, 1) + SourceIndex(1) name (d.constructor)
|
||||
2 >Emitted(10, 6) Source(2, 2) + SourceIndex(1) name (d.constructor)
|
||||
---
|
||||
>>> return d;
|
||||
1->^^^^
|
||||
2 > ^^^^^^^^
|
||||
1->
|
||||
2 > }
|
||||
1->Emitted(11, 5) Source(2, 1) + SourceIndex(1) name (d)
|
||||
2 >Emitted(11, 13) Source(2, 2) + SourceIndex(1) name (d)
|
||||
---
|
||||
>>>})();
|
||||
1 >
|
||||
2 >^
|
||||
3 >
|
||||
4 > ^^^^
|
||||
5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
||||
1 >
|
||||
2 >}
|
||||
3 >
|
||||
4 > class d {
|
||||
> }
|
||||
1 >Emitted(12, 1) Source(2, 1) + SourceIndex(1) name (d)
|
||||
2 >Emitted(12, 2) Source(2, 2) + SourceIndex(1) name (d)
|
||||
3 >Emitted(12, 2) Source(1, 1) + SourceIndex(1)
|
||||
4 >Emitted(12, 6) Source(2, 2) + SourceIndex(1)
|
||||
---
|
||||
>>>//# sourceMappingURL=fooResult.js.map
|
||||
@ -0,0 +1,11 @@
|
||||
=== tests/cases/compiler/testFiles/app.ts ===
|
||||
// Note in the out result we are using same folder name only different in casing
|
||||
// Since this is non case sensitive, the relative paths should be just app.ts and app2.ts in the sourcemap
|
||||
class c {
|
||||
>c : c
|
||||
}
|
||||
|
||||
=== tests/cases/compiler/testFiles/app2.ts ===
|
||||
class d {
|
||||
>d : d
|
||||
}
|
||||
12
tests/cases/compiler/sourceMapWithCaseSensitiveFileNames.ts
Normal file
12
tests/cases/compiler/sourceMapWithCaseSensitiveFileNames.ts
Normal file
@ -0,0 +1,12 @@
|
||||
// @out: tests/cases/compiler/testfiles/fooResult.js
|
||||
// @sourcemap: true
|
||||
// @useCaseSensitiveFileNames: true
|
||||
// @Filename: testFiles/app.ts
|
||||
// Note in the out result we are using same folder name only different in casing
|
||||
// Since this is case sensitive, the folders are different and hence the relative paths in sourcemap shouldn't be just app.ts or app2.ts
|
||||
class c {
|
||||
}
|
||||
|
||||
// @Filename: testFiles/app2.ts
|
||||
class d {
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
// @out: tests/cases/compiler/testfiles/fooResult.js
|
||||
// @sourcemap: true
|
||||
// @useCaseSensitiveFileNames: false
|
||||
// @Filename: testFiles/app.ts
|
||||
// Note in the out result we are using same folder name only different in casing
|
||||
// Since this is non case sensitive, the relative paths should be just app.ts and app2.ts in the sourcemap
|
||||
class c {
|
||||
}
|
||||
|
||||
// @Filename: testFiles/app2.ts
|
||||
class d {
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user