diff --git a/src/harness/compilerRunner.ts b/src/harness/compilerRunner.ts
index 8ba8f287184f5..53a30e28b16df 100644
--- a/src/harness/compilerRunner.ts
+++ b/src/harness/compilerRunner.ts
@@ -49,6 +49,7 @@ class CompilerBaselineRunner extends RunnerBase {
var createNewInstance = false;
var lastUnit = units[units.length - 1];
+ var rootDir = lastUnit.originalFilePath.indexOf('conformance') === -1 ? 'tests/cases/compiler/' : lastUnit.originalFilePath.substring(0, lastUnit.originalFilePath.lastIndexOf('/')) + '/';
var result: Harness.Compiler.CompilerResult;
var options: ts.CompilerOptions;
@@ -58,6 +59,10 @@ class CompilerBaselineRunner extends RunnerBase {
var otherFiles: { unitName: string; content: string }[];
var harnessCompiler: Harness.Compiler.HarnessCompiler;
+ var declToBeCompiled: { unitName: string; content: string }[] = [];
+ var declOtherFiles: { unitName: string; content: string }[] = [];
+ var declResult: Harness.Compiler.CompilerResult;
+
var createNewInstance = false;
before(() => {
@@ -67,7 +72,6 @@ class CompilerBaselineRunner extends RunnerBase {
// otherwise, assume all files are just meant to be in the same compilation session without explicit references to one another.
toBeCompiled = [];
otherFiles = [];
- var rootDir = lastUnit.originalFilePath.indexOf('conformance') === -1 ? 'tests/cases/compiler/' : lastUnit.originalFilePath.substring(0, lastUnit.originalFilePath.lastIndexOf('/')) + '/';
if (/require\(/.test(lastUnit.content) || /reference\spath/.test(lastUnit.content)) {
toBeCompiled.push({ unitName: rootDir + lastUnit.name, content: lastUnit.content });
units.forEach(unit => {
@@ -114,94 +118,106 @@ class CompilerBaselineRunner extends RunnerBase {
}
});
- // check errors
- it('Correct errors for ' + fileName, () => {
- if (this.errors) {
- Harness.Baseline.runBaseline('Correct errors for ' + fileName, justName.replace(/\.ts$/, '.errors.txt'), (): string => {
- if (result.errors.length === 0) return null;
+ function getErrorBaseline(toBeCompiled: { unitName: string; content: string }[],
+ otherFiles: { unitName: string; content: string }[],
+ result: Harness.Compiler.CompilerResult
+ ) {
+
+ var outputLines: string[] = [];
+ // Count up all the errors we find so we don't miss any
+ var totalErrorsReported = 0;
+
+ function outputErrorText(error: Harness.Compiler.MinimalDiagnostic) {
+ var errLines = RunnerBase.removeFullPaths(error.message)
+ .split('\n')
+ .map(s => s.length > 0 && s.charAt(s.length - 1) === '\r' ? s.substr(0, s.length - 1) : s)
+ .filter(s => s.length > 0)
+ .map(s => '!!! ' + s);
+ errLines.forEach(e => outputLines.push(e));
+
+ totalErrorsReported++;
+ }
- var outputLines: string[] = [];
- // Count up all the errors we find so we don't miss any
- var totalErrorsReported = 0;
-
- // 'merge' the lines of each input file with any errors associated with it
- toBeCompiled.concat(otherFiles).forEach(inputFile => {
- // Filter down to the errors in the file
- // TODO/REVIEW: this doesn't work quite right in the browser if a multi file test has files whose names are just the right length relative to one another
- var fileErrors = result.errors.filter(e => {
- var errFn = e.filename;
- return errFn && errFn.indexOf(inputFile.unitName) === errFn.length - inputFile.unitName.length;
- });
+ // Report glovbal errors:
+ var globalErrors = result.errors.filter(err => !err.filename);
+ globalErrors.forEach(err => outputErrorText(err));
- // Add this to the number of errors we've seen so far
- totalErrorsReported += fileErrors.length;
-
- // Header
- outputLines.push('==== ' + inputFile.unitName + ' (' + fileErrors.length + ' errors) ====');
-
- // Make sure we emit something for every error
- var markedErrorCount = 0;
- // For each line, emit the line followed by any error squiggles matching this line
- // Note: IE JS engine incorrectly handles consecutive delimiters here when using RegExp split, so
- // we have to string-based splitting instead and try to figure out the delimiting chars
-
- // var fileLineMap = TypeScript.LineMap1.fromString(inputFile.content);
- var lines = inputFile.content.split('\n');
- var currentLineStart = 0;
- lines.forEach((line, lineIndex) => {
- if (line.length > 0 && line.charAt(line.length - 1) === '\r') {
- line = line.substr(0, line.length - 1);
- }
+ // 'merge' the lines of each input file with any errors associated with it
+ toBeCompiled.concat(otherFiles).forEach(inputFile => {
+ // Filter down to the errors in the file
+ var fileErrors = result.errors.filter(e => {
+ var errFn = e.filename;
+ return errFn && errFn === inputFile.unitName;
+ });
- var thisLineStart = currentLineStart; //fileLineMap.getLineStartPosition(lineIndex);
- var nextLineStart: number;
- // On the last line of the file, fake the next line start number so that we handle errors on the last character of the file correctly
- if (lineIndex === lines.length - 1) {
- nextLineStart = inputFile.content.length;
- } else {
- nextLineStart = currentLineStart + line.length + 1; //fileLineMap.getLineStartPosition(lineIndex + 1);
- }
- // Emit this line from the original file
- outputLines.push(' ' + line);
- fileErrors.forEach(err => {
- // Does any error start or continue on to this line? Emit squiggles
- if ((err.end >= thisLineStart) && ((err.start < nextLineStart) || (lineIndex === lines.length - 1))) {
- // How many characters from the start of this line the error starts at (could be positive or negative)
- var relativeOffset = err.start - thisLineStart;
- // How many characters of the error are on this line (might be longer than this line in reality)
- var length = (err.end - err.start) - Math.max(0, thisLineStart - err.start);
- // Calculate the start of the squiggle
- var squiggleStart = Math.max(0, relativeOffset);
- // TODO/REVIEW: this doesn't work quite right in the browser if a multi file test has files whose names are just the right length relative to one another
- outputLines.push(' ' + line.substr(0, squiggleStart).replace(/[^\s]/g, ' ') + new Array(Math.min(length, line.length - squiggleStart) + 1).join('~'));
-
- // If the error ended here, or we're at the end of the file, emit its message
- if ((lineIndex === lines.length - 1) || nextLineStart > err.end) {
- // Just like above, we need to do a split on a string instead of on a regex
- // because the JS engine does regexes wrong
-
- var errLines = RunnerBase.removeFullPaths(err.message)
- .split('\n')
- .map(s => s.length > 0 && s.charAt(s.length - 1) === '\r' ? s.substr(0, s.length - 1) : s)
- .filter(s => s.length > 0)
- .map(s => '!!! ' + s);
- errLines.forEach(e => outputLines.push(e));
- markedErrorCount++;
- }
- }
- });
- currentLineStart += line.length + 1; // +1 for the \n character
- });
- // Verify we didn't miss any errors in this file
- assert.equal(markedErrorCount, fileErrors.length, 'count of errors in ' + inputFile.unitName);
+ // Header
+ outputLines.push('==== ' + inputFile.unitName + ' (' + fileErrors.length + ' errors) ====');
+
+ // Make sure we emit something for every error
+ var markedErrorCount = 0;
+ // For each line, emit the line followed by any error squiggles matching this line
+ // Note: IE JS engine incorrectly handles consecutive delimiters here when using RegExp split, so
+ // we have to string-based splitting instead and try to figure out the delimiting chars
+
+ var lineStarts = ts.getLineStarts(inputFile.content);
+ var lines = inputFile.content.split('\n');
+ lines.forEach((line, lineIndex) => {
+ if (line.length > 0 && line.charAt(line.length - 1) === '\r') {
+ line = line.substr(0, line.length - 1);
+ }
+
+ var thisLineStart = lineStarts[lineIndex];
+ var nextLineStart: number;
+ // On the last line of the file, fake the next line start number so that we handle errors on the last character of the file correctly
+ if (lineIndex === lines.length - 1) {
+ nextLineStart = inputFile.content.length;
+ } else {
+ nextLineStart = lineStarts[lineIndex + 1];
+ }
+ // Emit this line from the original file
+ outputLines.push(' ' + line);
+ fileErrors.forEach(err => {
+ // Does any error start or continue on to this line? Emit squiggles
+ if ((err.end >= thisLineStart) && ((err.start < nextLineStart) || (lineIndex === lines.length - 1))) {
+ // How many characters from the start of this line the error starts at (could be positive or negative)
+ var relativeOffset = err.start - thisLineStart;
+ // How many characters of the error are on this line (might be longer than this line in reality)
+ var length = (err.end - err.start) - Math.max(0, thisLineStart - err.start);
+ // Calculate the start of the squiggle
+ var squiggleStart = Math.max(0, relativeOffset);
+ // TODO/REVIEW: this doesn't work quite right in the browser if a multi file test has files whose names are just the right length relative to one another
+ outputLines.push(' ' + line.substr(0, squiggleStart).replace(/[^\s]/g, ' ') + new Array(Math.min(length, line.length - squiggleStart) + 1).join('~'));
+
+ // If the error ended here, or we're at the end of the file, emit its message
+ if ((lineIndex === lines.length - 1) || nextLineStart > err.end) {
+ // Just like above, we need to do a split on a string instead of on a regex
+ // because the JS engine does regexes wrong
+
+ outputErrorText(err);
+ markedErrorCount++;
+ }
+ }
});
+ });
+
+ // Verify we didn't miss any errors in this file
+ assert.equal(markedErrorCount, fileErrors.length, 'count of errors in ' + inputFile.unitName);
+ });
- // Verify we didn't miss any errors in total
- // NEWTODO: Re-enable this -- somehow got broken
- // assert.equal(totalErrorsReported, result.errors.length, 'total number of errors');
+ // Verify we didn't miss any errors in total
+ assert.equal(totalErrorsReported, result.errors.length, 'total number of errors');
- return outputLines.join('\r\n');
+ return outputLines.join('\r\n');
+ }
+
+ // check errors
+ it('Correct errors for ' + fileName, () => {
+ if (this.errors) {
+ Harness.Baseline.runBaseline('Correct errors for ' + fileName, justName.replace(/\.ts$/, '.errors.txt'), (): string => {
+ if (result.errors.length === 0) return null;
+
+ return getErrorBaseline(toBeCompiled, otherFiles, result);
});
}
});
@@ -215,49 +231,35 @@ class CompilerBaselineRunner extends RunnerBase {
}
});
- /*
- it(".d.ts compiles without error", () => {
- // if the .d.ts is non-empty, confirm it compiles correctly as well
- if (this.decl && result.declFilesCode.length > 0 && result.errors.length === 0) {
-
- var declErrors: string[] = undefined;
-
- var declOtherFiles: { unitName: string; content: string }[] = [];
-
- // use other files if it is dts
- for (var i = 0; i < otherFiles.length; i++) {
- if (TypeScript.isDTSFile(otherFiles[i].unitName)) {
- declOtherFiles.push(otherFiles[i]);
- }
- }
-
- for (var i = 0; i < result.declFilesCode.length; i++) {
- var declCode = result.declFilesCode[i];
- // don't want to use the fullpath for the unitName or the file won't be resolved correctly
- // TODO: wrong path for conformance tests?
+ // Compile .d.ts files
+ it('Correct compiler generated.d.ts for ' + fileName, () => {
+ if (options.declaration && result.errors.length === 0 && result.declFilesCode.length !== result.files.length) {
+ throw new Error('There were no errors and declFiles generated did not match number of js files generated');
+ }
- var declFile = { unitName: 'tests/cases/compiler/' + Harness.getFileName(declCode.fileName), content: declCode.code };
- if (i != result.declFilesCode.length - 1) {
- declOtherFiles.push(declFile);
+ // if the .d.ts is non-empty, confirm it compiles correctly as well
+ if (options.declaration && result.errors.length === 0 && result.declFilesCode.length > 0) {
+ function getDtsFile(file: { unitName: string; content: string }) {
+ if (Harness.Compiler.isDTS(file.unitName)) {
+ return file;
+ } else {
+ var declFile = ts.forEach(result.declFilesCode,
+ declFile => declFile.fileName === (file.unitName.substr(0, file.unitName.length - ".ts".length) + ".d.ts")
+ ? declFile : undefined);
+ return { unitName: rootDir + Harness.Path.getFileName(declFile.fileName), content: declFile.code };
}
}
- harnessCompiler.compileFiles(
- [declFile],
- declOtherFiles,
- (result) => {
- declErrors = result.errors.map(err => err.message + "\r\n");
- },
- function (settings) {
+ ts.forEach(toBeCompiled, file => { declToBeCompiled.push(getDtsFile(file)); });
+ ts.forEach(otherFiles, file => { declOtherFiles.push(getDtsFile(file)); });
+ harnessCompiler.compileFiles(declToBeCompiled, declOtherFiles, function (compileResult) {
+ declResult = compileResult;
+ }, function (settings) {
harnessCompiler.setCompilerSettings(tcSettings);
- });
-
- if (declErrors && declErrors.length) {
- throw new Error('.d.ts file output of ' + fileName + ' did not compile. Errors: ' + declErrors.map(err => JSON.stringify(err)).join('\r\n'));
- }
+ });
}
});
- */
+
it('Correct JS output for ' + fileName, () => {
if (!ts.fileExtensionIs(lastUnit.name, '.d.ts') && this.emit) {
@@ -293,6 +295,12 @@ class CompilerBaselineRunner extends RunnerBase {
}
}
+ if (declResult && declResult.errors.length) {
+ jsCode += '\r\n\r\n//// [DtsFileErrors]\r\n';
+ jsCode += '\r\n\r\n';
+ jsCode += getErrorBaseline(declToBeCompiled, declOtherFiles, declResult);
+ }
+
if (jsCode.length > 0) {
return tsCode + '\r\n\r\n' + jsCode;
} else {
diff --git a/src/harness/harness.ts b/src/harness/harness.ts
index 80ac9d2d5895e..c35ba97df3ad4 100644
--- a/src/harness/harness.ts
+++ b/src/harness/harness.ts
@@ -806,10 +806,22 @@ module Harness {
code: string;
}
- export function stringEndsWith(str: string, end: string) {
+ function stringEndsWith(str: string, end: string) {
return str.substr(str.length - end.length) === end;
}
+ export function isDTS(fileName: string) {
+ return stringEndsWith(fileName, '.d.ts');
+ }
+
+ export function isJS(fileName: string) {
+ return stringEndsWith(fileName, '.js');
+ }
+
+ export function isJSMap(fileName: string) {
+ return stringEndsWith(fileName, '.js.map');
+ }
+
/** Contains the code and errors of a compilation and some helper methods to check its status. */
export class CompilerResult {
public files: GeneratedFile[] = [];
@@ -824,13 +836,13 @@ module Harness {
fileResults.forEach(emittedFile => {
var fileObj = { fileName: emittedFile.fileName, code: emittedFile.file };
- if (stringEndsWith(emittedFile.fileName, '.d.ts')) {
+ if (isDTS(emittedFile.fileName)) {
// .d.ts file, add to declFiles emit
this.declFilesCode.push(fileObj);
- } else if (stringEndsWith(emittedFile.fileName, '.js')) {
+ } else if (isJS(emittedFile.fileName)) {
// .js file, add to files
this.files.push(fileObj);
- } else if (stringEndsWith(emittedFile.fileName, '.js.map')) {
+ } else if (isJSMap(emittedFile.fileName)) {
this.sourceMaps.push(fileObj);
} else {
throw new Error('Unrecognized file extension for file ' + emittedFile.fileName);
diff --git a/src/harness/projectsRunner.ts b/src/harness/projectsRunner.ts
index a3e86195cbfa0..f7d2ec22cd26f 100644
--- a/src/harness/projectsRunner.ts
+++ b/src/harness/projectsRunner.ts
@@ -175,18 +175,18 @@ class ProjectRunner extends RunnerBase {
// we need to instead create files that can live in the project reference folder
// but make sure extension of these files matches with the filename the compiler asked to write
diskRelativeName = "diskFile" + nonSubfolderDiskFiles++ +
- (Harness.Compiler.stringEndsWith(filename, ".d.ts") ? ".d.ts" :
- Harness.Compiler.stringEndsWith(filename, ".js") ? ".js" : ".js.map");
+ (Harness.Compiler.isDTS(filename) ? ".d.ts" :
+ Harness.Compiler.isJS(filename) ? ".js" : ".js.map");
}
- if (Harness.Compiler.stringEndsWith(filename, ".js")) {
+ if (Harness.Compiler.isJS(filename)) {
// Make sure if there is URl we have it cleaned up
var indexOfSourceMapUrl = data.lastIndexOf("//# sourceMappingURL=");
if (indexOfSourceMapUrl != -1) {
data = data.substring(0, indexOfSourceMapUrl + 21) + cleanProjectUrl(data.substring(indexOfSourceMapUrl + 21));
}
}
- else if (Harness.Compiler.stringEndsWith(filename, ".js.map")) {
+ else if (Harness.Compiler.isJSMap(filename)) {
// Make sure sources list is cleaned
var sourceMapData = JSON.parse(data);
for (var i = 0; i < sourceMapData.sources.length; i++) {
@@ -332,7 +332,7 @@ class ProjectRunner extends RunnerBase {
it('SourceMapRecord for (' + moduleNameToString(compilerResult.moduleKind) + '): ' + testCaseFileName, () => {
Harness.Baseline.runBaseline('SourceMapRecord for (' + moduleNameToString(compilerResult.moduleKind) + '): ' + testCaseFileName, getBaselineFolder(compilerResult.moduleKind) + testCaseJustName + '.sourcemap.txt', () => {
return Harness.SourceMapRecoder.getSourceMapRecord(compilerResult.sourceMapData, compilerResult.program,
- ts.filter(compilerResult.outputFiles, outputFile => Harness.Compiler.stringEndsWith(outputFile.emittedFileName, ".js")));
+ ts.filter(compilerResult.outputFiles, outputFile => Harness.Compiler.isJS(outputFile.emittedFileName)));
});
});
}
diff --git a/tests/baselines/reference/declFileAmbientExternalModuleWithSingleExportedModule.js b/tests/baselines/reference/declFileAmbientExternalModuleWithSingleExportedModule.js
index 3c4ddf366f101..11740adf2c920 100644
--- a/tests/baselines/reference/declFileAmbientExternalModuleWithSingleExportedModule.js
+++ b/tests/baselines/reference/declFileAmbientExternalModuleWithSingleExportedModule.js
@@ -33,3 +33,22 @@ declare module "SubModule" {
//// [declFileAmbientExternalModuleWithSingleExportedModule_1.d.ts]
///
export declare var x: SubModule.m.m3.c;
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/declFileAmbientExternalModuleWithSingleExportedModule_1.d.ts (1 errors) ====
+ ///
+ export declare var x: SubModule.m.m3.c;
+ ~~~~~~~~~~~~~~~~
+!!! Cannot find name 'SubModule'.
+
+==== tests/cases/compiler/declFileAmbientExternalModuleWithSingleExportedModule_0.d.ts (0 errors) ====
+ declare module "SubModule" {
+ module m {
+ module m3 {
+ }
+ }
+ }
+
\ No newline at end of file
diff --git a/tests/baselines/reference/declFileExportAssignmentOfGenericInterface.js b/tests/baselines/reference/declFileExportAssignmentOfGenericInterface.js
index 5f353ffd9879d..37851569ad2ff 100644
--- a/tests/baselines/reference/declFileExportAssignmentOfGenericInterface.js
+++ b/tests/baselines/reference/declFileExportAssignmentOfGenericInterface.js
@@ -29,3 +29,19 @@ interface Foo {
export = Foo;
//// [declFileExportAssignmentOfGenericInterface_1.d.ts]
export declare var x: a>;
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/declFileExportAssignmentOfGenericInterface_1.d.ts (1 errors) ====
+ export declare var x: a>;
+ ~~~~~~~~~~~~
+!!! Cannot find name 'a'.
+
+==== tests/cases/compiler/declFileExportAssignmentOfGenericInterface_0.d.ts (0 errors) ====
+ interface Foo {
+ a: string;
+ }
+ export = Foo;
+
\ No newline at end of file
diff --git a/tests/baselines/reference/declFileExportImportChain.js b/tests/baselines/reference/declFileExportImportChain.js
index 9b921345a1e03..b9cc3834a8252 100644
--- a/tests/baselines/reference/declFileExportImportChain.js
+++ b/tests/baselines/reference/declFileExportImportChain.js
@@ -75,3 +75,32 @@ export = b;
export import b1 = require("declFileExportImportChain_b1");
//// [declFileExportImportChain_d.d.ts]
export declare var x: m1.m2.c1;
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/declFileExportImportChain_d.d.ts (1 errors) ====
+ export declare var x: m1.m2.c1;
+ ~~~~~~~~
+!!! Cannot find name 'm1'.
+
+==== tests/cases/compiler/declFileExportImportChain_a.d.ts (0 errors) ====
+ declare module m1 {
+ module m2 {
+ class c1 {
+ }
+ }
+ }
+ export = m1;
+
+==== tests/cases/compiler/declFileExportImportChain_b.d.ts (0 errors) ====
+ export import a = require("declFileExportImportChain_a");
+
+==== tests/cases/compiler/declFileExportImportChain_b1.d.ts (0 errors) ====
+ import b = require("declFileExportImportChain_b");
+ export = b;
+
+==== tests/cases/compiler/declFileExportImportChain_c.d.ts (0 errors) ====
+ export import b1 = require("declFileExportImportChain_b1");
+
\ No newline at end of file
diff --git a/tests/baselines/reference/declFileExportImportChain2.js b/tests/baselines/reference/declFileExportImportChain2.js
index 3b2e1936c3907..02b5913936000 100644
--- a/tests/baselines/reference/declFileExportImportChain2.js
+++ b/tests/baselines/reference/declFileExportImportChain2.js
@@ -66,3 +66,29 @@ export = a;
export import b = require("declFileExportImportChain2_b");
//// [declFileExportImportChain2_d.d.ts]
export declare var x: m1.m2.c1;
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/declFileExportImportChain2_d.d.ts (1 errors) ====
+ export declare var x: m1.m2.c1;
+ ~~~~~~~~
+!!! Cannot find name 'm1'.
+
+==== tests/cases/compiler/declFileExportImportChain2_a.d.ts (0 errors) ====
+ declare module m1 {
+ module m2 {
+ class c1 {
+ }
+ }
+ }
+ export = m1;
+
+==== tests/cases/compiler/declFileExportImportChain2_b.d.ts (0 errors) ====
+ import a = require("declFileExportImportChain2_a");
+ export = a;
+
+==== tests/cases/compiler/declFileExportImportChain2_c.d.ts (0 errors) ====
+ export import b = require("declFileExportImportChain2_b");
+
\ No newline at end of file
diff --git a/tests/baselines/reference/declFileGenericType2.js b/tests/baselines/reference/declFileGenericType2.js
index 1240e80e274ea..9e0578e0ef99d 100644
--- a/tests/baselines/reference/declFileGenericType2.js
+++ b/tests/baselines/reference/declFileGenericType2.js
@@ -113,3 +113,45 @@ declare module templa.dom.mvc.composite {
constructor();
}
}
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/declFileGenericType2.d.ts (6 errors) ====
+ declare module templa.mvc {
+ }
+ declare module templa.mvc {
+ }
+ declare module templa.mvc {
+ }
+ declare module templa.mvc.composite {
+ }
+ declare module templa.dom.mvc {
+ interface IElementController extends templa.mvc.IController {
+ ~~~~~~~~~~~~~~~~~
+!!! Module 'templa.mvc' has no exported member 'IModel'.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+!!! Module 'templa.mvc' has no exported member 'IController'.
+ }
+ }
+ declare module templa.dom.mvc {
+ class AbstractElementController extends templa.mvc.AbstractController implements IElementController {
+ ~~~~~~~~~~~~~~~~~
+!!! Module 'templa.mvc' has no exported member 'IModel'.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+!!! Module 'templa.mvc' has no exported member 'AbstractController'.
+ constructor();
+ }
+ }
+ declare module templa.dom.mvc.composite {
+ class AbstractCompositeElementController extends AbstractElementController {
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+!!! Module 'templa.mvc.composite' has no exported member 'ICompositeControllerModel'.
+ _controllers: templa.mvc.IController[];
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+!!! Module 'templa.mvc' has no exported member 'IController'.
+ constructor();
+ }
+ }
+
\ No newline at end of file
diff --git a/tests/baselines/reference/declFileImportModuleWithExportAssignment.js b/tests/baselines/reference/declFileImportModuleWithExportAssignment.js
index ccea841ab4713..3f695dcb8953e 100644
--- a/tests/baselines/reference/declFileImportModuleWithExportAssignment.js
+++ b/tests/baselines/reference/declFileImportModuleWithExportAssignment.js
@@ -57,3 +57,38 @@ export declare var a: {
test1: a1.connectModule;
test2(): a1.connectModule;
};
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/declFileImportModuleWithExportAssignment_1.d.ts (3 errors) ====
+ export declare var a: {
+ (): a1.connectExport;
+ ~~~~~~~~~~~~~~~~
+!!! Cannot find name 'a1'.
+ test1: a1.connectModule;
+ ~~~~~~~~~~~~~~~~
+!!! Cannot find name 'a1'.
+ test2(): a1.connectModule;
+ ~~~~~~~~~~~~~~~~
+!!! Cannot find name 'a1'.
+ };
+
+==== tests/cases/compiler/declFileImportModuleWithExportAssignment_0.d.ts (0 errors) ====
+ declare module m2 {
+ interface connectModule {
+ (res: any, req: any, next: any): void;
+ }
+ interface connectExport {
+ use: (mod: connectModule) => connectExport;
+ listen: (port: number) => void;
+ }
+ }
+ declare var m2: {
+ (): m2.connectExport;
+ test1: m2.connectModule;
+ test2(): m2.connectModule;
+ };
+ export = m2;
+
\ No newline at end of file
diff --git a/tests/baselines/reference/declFileImportedTypeUseInTypeArgPosition.js b/tests/baselines/reference/declFileImportedTypeUseInTypeArgPosition.js
index 8d1e4cd4b2ecf..249b4a2874c28 100644
--- a/tests/baselines/reference/declFileImportedTypeUseInTypeArgPosition.js
+++ b/tests/baselines/reference/declFileImportedTypeUseInTypeArgPosition.js
@@ -29,3 +29,19 @@ declare module 'mod1' {
declare module 'moo' {
var p: List;
}
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/declFileImportedTypeUseInTypeArgPosition.d.ts (1 errors) ====
+ declare class List {
+ }
+ declare module 'mod1' {
+ }
+ declare module 'moo' {
+ var p: List;
+ ~~~~~
+!!! Cannot find name 'x'.
+ }
+
\ No newline at end of file
diff --git a/tests/baselines/reference/declFileInternalAliases.js b/tests/baselines/reference/declFileInternalAliases.js
index 5ae14f4148724..8b35b3d80d3f1 100644
--- a/tests/baselines/reference/declFileInternalAliases.js
+++ b/tests/baselines/reference/declFileInternalAliases.js
@@ -46,3 +46,23 @@ declare module m2 {
export import x = m.c;
var d: x;
}
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/declFileInternalAliases.d.ts (1 errors) ====
+ declare module m {
+ class c {
+ }
+ }
+ declare module m1 {
+ var d: x;
+ ~
+!!! Cannot find name 'x'.
+ }
+ declare module m2 {
+ export import x = m.c;
+ var d: x;
+ }
+
\ No newline at end of file
diff --git a/tests/baselines/reference/declInput-2.js b/tests/baselines/reference/declInput-2.js
index 173f433cdca76..a109d89165a8d 100644
--- a/tests/baselines/reference/declInput-2.js
+++ b/tests/baselines/reference/declInput-2.js
@@ -82,3 +82,41 @@ declare module M {
m3(): C;
}
}
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/declInput-2.d.ts (5 errors) ====
+ declare module M {
+ class E {
+ }
+ interface I1 {
+ }
+ class D {
+ private c;
+ m1: number;
+ m2: string;
+ m22: C;
+ ~
+!!! Cannot find name 'C'.
+ m23: E;
+ m24: I1;
+ m25: I2;
+ ~~
+!!! Cannot find name 'I2'.
+ m232(): E;
+ m242(): I1;
+ m252(): I2;
+ ~~
+!!! Cannot find name 'I2'.
+ m26(i: I1): void;
+ m262(i: I2): void;
+ ~~
+!!! Cannot find name 'I2'.
+ m3(): C;
+ ~
+!!! Cannot find name 'C'.
+ }
+ }
+
\ No newline at end of file
diff --git a/tests/baselines/reference/declarationEmit_nameConflicts.js b/tests/baselines/reference/declarationEmit_nameConflicts.js
index 7fc044a8aa98a..0f34f789abc8f 100644
--- a/tests/baselines/reference/declarationEmit_nameConflicts.js
+++ b/tests/baselines/reference/declarationEmit_nameConflicts.js
@@ -193,3 +193,67 @@ export declare module M.Q {
}
}
}
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/declarationEmit_nameConflicts_0.d.ts (1 errors) ====
+ export declare module M {
+ function f(): void;
+ class C {
+ }
+ module N {
+ function g(): void;
+ interface I {
+ }
+ }
+ export import a = M.f;
+ export import b = M.C;
+ export import c = N;
+ export import d = im;
+ ~~~~~~~~~~~~~~~~~~~~~
+!!! Cannot find name 'im'.
+ }
+ export declare module M.P {
+ function f(): void;
+ class C {
+ }
+ module N {
+ function g(): void;
+ interface I {
+ }
+ }
+ export import im = M.P.f;
+ var a: () => void;
+ var b: typeof M.C;
+ var c: typeof M.N;
+ var g: () => void;
+ var d: typeof M.d;
+ }
+ export declare module M.Q {
+ function f(): void;
+ class C {
+ }
+ module N {
+ function g(): void;
+ interface I {
+ }
+ }
+ interface b extends M.C {
+ }
+ interface I extends M.N.I {
+ }
+ module c {
+ interface I extends M.N.I {
+ }
+ }
+ }
+
+==== tests/cases/compiler/declarationEmit_nameConflicts_1.d.ts (0 errors) ====
+ declare module f {
+ class c {
+ }
+ }
+ export = f;
+
\ No newline at end of file
diff --git a/tests/baselines/reference/exportAssignTypes.errors.txt b/tests/baselines/reference/exportAssignTypes.errors.txt
index 6481447e3555f..c4dca71333f73 100644
--- a/tests/baselines/reference/exportAssignTypes.errors.txt
+++ b/tests/baselines/reference/exportAssignTypes.errors.txt
@@ -30,13 +30,10 @@
var x = 42;
export = x;
-==== tests/cases/conformance/externalModules/expBoolean.ts (1 errors) ====
+==== tests/cases/conformance/externalModules/expBoolean.ts (0 errors) ====
var x = true;
export = x;
- ~~~~~~~~~
-
-!!! Cannot compile external modules unless the '--module' flag is provided.
==== tests/cases/conformance/externalModules/expArray.ts (0 errors) ====
var x = [1,2];
export = x;
@@ -49,12 +46,9 @@
var x;
export = x;
-==== tests/cases/conformance/externalModules/expGeneric.ts (1 errors) ====
+==== tests/cases/conformance/externalModules/expGeneric.ts (0 errors) ====
function x(a: T){
- ~~~~
return a;
- ~~~~~~
-!!! Cannot compile external modules unless the '--module' flag is provided.
}
export = x;
\ No newline at end of file
diff --git a/tests/baselines/reference/exportImport.js b/tests/baselines/reference/exportImport.js
index cc91576247218..6c0e64f07103e 100644
--- a/tests/baselines/reference/exportImport.js
+++ b/tests/baselines/reference/exportImport.js
@@ -47,3 +47,22 @@ declare class Widget1 {
export import w = require('./w1');
//// [consumer.d.ts]
export declare function w(): Widget1;
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/consumer.d.ts (1 errors) ====
+ export declare function w(): Widget1;
+ ~~~~~~~
+!!! Cannot find name 'Widget1'.
+
+==== tests/cases/compiler/w1.d.ts (0 errors) ====
+ export = Widget1;
+ declare class Widget1 {
+ name: string;
+ }
+
+==== tests/cases/compiler/exporter.d.ts (0 errors) ====
+ export import w = require('./w1');
+
\ No newline at end of file
diff --git a/tests/baselines/reference/exportImportNonInstantiatedModule2.js b/tests/baselines/reference/exportImportNonInstantiatedModule2.js
index 5cda04be520b6..9aa343ee86b57 100644
--- a/tests/baselines/reference/exportImportNonInstantiatedModule2.js
+++ b/tests/baselines/reference/exportImportNonInstantiatedModule2.js
@@ -39,3 +39,22 @@ interface Widget1 {
export import w = require('./w1');
//// [consumer.d.ts]
export declare function w(): Widget1;
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/consumer.d.ts (1 errors) ====
+ export declare function w(): Widget1;
+ ~~~~~~~
+!!! Cannot find name 'Widget1'.
+
+==== tests/cases/compiler/w1.d.ts (0 errors) ====
+ export = Widget1;
+ interface Widget1 {
+ name: string;
+ }
+
+==== tests/cases/compiler/exporter.d.ts (0 errors) ====
+ export import w = require('./w1');
+
\ No newline at end of file
diff --git a/tests/baselines/reference/functionExpressionReturningItself.js b/tests/baselines/reference/functionExpressionReturningItself.js
index 7218fe12d7852..63e8e9734d273 100644
--- a/tests/baselines/reference/functionExpressionReturningItself.js
+++ b/tests/baselines/reference/functionExpressionReturningItself.js
@@ -9,3 +9,13 @@ var x = function somefn() {
//// [functionExpressionReturningItself.d.ts]
declare var x: () => typeof somefn;
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/functionExpressionReturningItself.d.ts (1 errors) ====
+ declare var x: () => typeof somefn;
+ ~~~~~~
+!!! Cannot find name 'somefn'.
+
\ No newline at end of file
diff --git a/tests/baselines/reference/importDeclarationUsedAsTypeQuery.js b/tests/baselines/reference/importDeclarationUsedAsTypeQuery.js
index 30493dc8ccffc..f7b470ba4112a 100644
--- a/tests/baselines/reference/importDeclarationUsedAsTypeQuery.js
+++ b/tests/baselines/reference/importDeclarationUsedAsTypeQuery.js
@@ -29,3 +29,19 @@ export declare class B {
//// [importDeclarationUsedAsTypeQuery_1.d.ts]
///
export declare var x: typeof a;
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/importDeclarationUsedAsTypeQuery_1.d.ts (1 errors) ====
+ ///
+ export declare var x: typeof a;
+ ~
+!!! Cannot find name 'a'.
+
+==== tests/cases/compiler/importDeclarationUsedAsTypeQuery_require.d.ts (0 errors) ====
+ export declare class B {
+ id: number;
+ }
+
\ No newline at end of file
diff --git a/tests/baselines/reference/internalAliasClass.js b/tests/baselines/reference/internalAliasClass.js
index a116df0e2d4fb..0e4cb3f4ed565 100644
--- a/tests/baselines/reference/internalAliasClass.js
+++ b/tests/baselines/reference/internalAliasClass.js
@@ -34,3 +34,19 @@ declare module a {
declare module c {
var x: b;
}
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/internalAliasClass.d.ts (1 errors) ====
+ declare module a {
+ class c {
+ }
+ }
+ declare module c {
+ var x: b;
+ ~
+!!! Cannot find name 'b'.
+ }
+
\ No newline at end of file
diff --git a/tests/baselines/reference/internalAliasClassInsideLocalModuleWithoutExport.js b/tests/baselines/reference/internalAliasClassInsideLocalModuleWithoutExport.js
index 795ff99e0cc34..5b896ddd7aca7 100644
--- a/tests/baselines/reference/internalAliasClassInsideLocalModuleWithoutExport.js
+++ b/tests/baselines/reference/internalAliasClassInsideLocalModuleWithoutExport.js
@@ -50,3 +50,22 @@ export declare module m2 {
var cProp: c;
}
}
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/internalAliasClassInsideLocalModuleWithoutExport.d.ts (1 errors) ====
+ export declare module x {
+ class c {
+ foo(a: number): number;
+ }
+ }
+ export declare module m2 {
+ module m3 {
+ var cProp: c;
+ ~
+!!! Cannot find name 'c'.
+ }
+ }
+
\ No newline at end of file
diff --git a/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithoutExport.js b/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithoutExport.js
index 9402269ce2e35..de756dd743404 100644
--- a/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithoutExport.js
+++ b/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithoutExport.js
@@ -36,3 +36,18 @@ export declare module x {
}
}
export declare var cProp: xc;
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/internalAliasClassInsideTopLevelModuleWithoutExport.d.ts (1 errors) ====
+ export declare module x {
+ class c {
+ foo(a: number): number;
+ }
+ }
+ export declare var cProp: xc;
+ ~~
+!!! Cannot find name 'xc'.
+
\ No newline at end of file
diff --git a/tests/baselines/reference/internalAliasEnum.js b/tests/baselines/reference/internalAliasEnum.js
index f102762fa0e11..55331cc6cf974 100644
--- a/tests/baselines/reference/internalAliasEnum.js
+++ b/tests/baselines/reference/internalAliasEnum.js
@@ -41,3 +41,22 @@ declare module a {
declare module c {
var bVal: b;
}
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/internalAliasEnum.d.ts (1 errors) ====
+ declare module a {
+ enum weekend {
+ Friday = 0,
+ Saturday = 1,
+ Sunday = 2,
+ }
+ }
+ declare module c {
+ var bVal: b;
+ ~
+!!! Cannot find name 'b'.
+ }
+
\ No newline at end of file
diff --git a/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithoutExport.js b/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithoutExport.js
index 84984523f84dc..3767e38310e8b 100644
--- a/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithoutExport.js
+++ b/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithoutExport.js
@@ -41,3 +41,22 @@ export declare module a {
export declare module c {
var bVal: b;
}
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/internalAliasEnumInsideLocalModuleWithoutExport.d.ts (1 errors) ====
+ export declare module a {
+ enum weekend {
+ Friday = 0,
+ Saturday = 1,
+ Sunday = 2,
+ }
+ }
+ export declare module c {
+ var bVal: b;
+ ~
+!!! Cannot find name 'b'.
+ }
+
\ No newline at end of file
diff --git a/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithoutExport.js b/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithoutExport.js
index cd53972b31118..0299b2d4a4d18 100644
--- a/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithoutExport.js
+++ b/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithoutExport.js
@@ -36,3 +36,20 @@ export declare module a {
}
}
export declare var bVal: b;
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/internalAliasEnumInsideTopLevelModuleWithoutExport.d.ts (1 errors) ====
+ export declare module a {
+ enum weekend {
+ Friday = 0,
+ Saturday = 1,
+ Sunday = 2,
+ }
+ }
+ export declare var bVal: b;
+ ~
+!!! Cannot find name 'b'.
+
\ No newline at end of file
diff --git a/tests/baselines/reference/internalAliasInitializedModule.js b/tests/baselines/reference/internalAliasInitializedModule.js
index c1d3a3c9f3c2d..110d64e738847 100644
--- a/tests/baselines/reference/internalAliasInitializedModule.js
+++ b/tests/baselines/reference/internalAliasInitializedModule.js
@@ -41,3 +41,21 @@ declare module a {
declare module c {
var x: b.c;
}
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/internalAliasInitializedModule.d.ts (1 errors) ====
+ declare module a {
+ module b {
+ class c {
+ }
+ }
+ }
+ declare module c {
+ var x: b.c;
+ ~~~
+!!! Cannot find name 'b'.
+ }
+
\ No newline at end of file
diff --git a/tests/baselines/reference/internalAliasInitializedModuleInsideLocalModuleWithoutExport.js b/tests/baselines/reference/internalAliasInitializedModuleInsideLocalModuleWithoutExport.js
index f329036922361..57320ccdbbda6 100644
--- a/tests/baselines/reference/internalAliasInitializedModuleInsideLocalModuleWithoutExport.js
+++ b/tests/baselines/reference/internalAliasInitializedModuleInsideLocalModuleWithoutExport.js
@@ -41,3 +41,21 @@ export declare module a {
export declare module c {
var x: b.c;
}
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/internalAliasInitializedModuleInsideLocalModuleWithoutExport.d.ts (1 errors) ====
+ export declare module a {
+ module b {
+ class c {
+ }
+ }
+ }
+ export declare module c {
+ var x: b.c;
+ ~~~
+!!! Cannot find name 'b'.
+ }
+
\ No newline at end of file
diff --git a/tests/baselines/reference/internalAliasInitializedModuleInsideTopLevelModuleWithoutExport.js b/tests/baselines/reference/internalAliasInitializedModuleInsideTopLevelModuleWithoutExport.js
index 308d792bf3941..4983a0787fa67 100644
--- a/tests/baselines/reference/internalAliasInitializedModuleInsideTopLevelModuleWithoutExport.js
+++ b/tests/baselines/reference/internalAliasInitializedModuleInsideTopLevelModuleWithoutExport.js
@@ -36,3 +36,19 @@ export declare module a {
}
}
export declare var x: b.c;
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/internalAliasInitializedModuleInsideTopLevelModuleWithoutExport.d.ts (1 errors) ====
+ export declare module a {
+ module b {
+ class c {
+ }
+ }
+ }
+ export declare var x: b.c;
+ ~~~
+!!! Cannot find name 'b'.
+
\ No newline at end of file
diff --git a/tests/baselines/reference/internalAliasInterface.js b/tests/baselines/reference/internalAliasInterface.js
index 1be40a65ea081..a3a1f72302c6e 100644
--- a/tests/baselines/reference/internalAliasInterface.js
+++ b/tests/baselines/reference/internalAliasInterface.js
@@ -25,3 +25,19 @@ declare module a {
declare module c {
var x: b;
}
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/internalAliasInterface.d.ts (1 errors) ====
+ declare module a {
+ interface I {
+ }
+ }
+ declare module c {
+ var x: b;
+ ~
+!!! Cannot find name 'b'.
+ }
+
\ No newline at end of file
diff --git a/tests/baselines/reference/internalAliasInterfaceInsideLocalModuleWithoutExport.js b/tests/baselines/reference/internalAliasInterfaceInsideLocalModuleWithoutExport.js
index 41e9a3dbc8c0d..3dec9ea9bc6de 100644
--- a/tests/baselines/reference/internalAliasInterfaceInsideLocalModuleWithoutExport.js
+++ b/tests/baselines/reference/internalAliasInterfaceInsideLocalModuleWithoutExport.js
@@ -27,3 +27,19 @@ export declare module a {
export declare module c {
var x: b;
}
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/internalAliasInterfaceInsideLocalModuleWithoutExport.d.ts (1 errors) ====
+ export declare module a {
+ interface I {
+ }
+ }
+ export declare module c {
+ var x: b;
+ ~
+!!! Cannot find name 'b'.
+ }
+
\ No newline at end of file
diff --git a/tests/baselines/reference/internalAliasInterfaceInsideTopLevelModuleWithoutExport.js b/tests/baselines/reference/internalAliasInterfaceInsideTopLevelModuleWithoutExport.js
index cc9d21805d87c..b96abee595dfe 100644
--- a/tests/baselines/reference/internalAliasInterfaceInsideTopLevelModuleWithoutExport.js
+++ b/tests/baselines/reference/internalAliasInterfaceInsideTopLevelModuleWithoutExport.js
@@ -20,3 +20,17 @@ export declare module a {
}
}
export declare var x: b;
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/internalAliasInterfaceInsideTopLevelModuleWithoutExport.d.ts (1 errors) ====
+ export declare module a {
+ interface I {
+ }
+ }
+ export declare var x: b;
+ ~
+!!! Cannot find name 'b'.
+
\ No newline at end of file
diff --git a/tests/baselines/reference/internalAliasUninitializedModule.js b/tests/baselines/reference/internalAliasUninitializedModule.js
index 509d3711f5a60..827868d1c3733 100644
--- a/tests/baselines/reference/internalAliasUninitializedModule.js
+++ b/tests/baselines/reference/internalAliasUninitializedModule.js
@@ -32,3 +32,22 @@ declare module a {
declare module c {
var x: b.I;
}
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/internalAliasUninitializedModule.d.ts (1 errors) ====
+ declare module a {
+ module b {
+ interface I {
+ foo(): any;
+ }
+ }
+ }
+ declare module c {
+ var x: b.I;
+ ~~~
+!!! Cannot find name 'b'.
+ }
+
\ No newline at end of file
diff --git a/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExport.js b/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExport.js
index 3b4c5d1bd0dcf..415d4d2b4ebf7 100644
--- a/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExport.js
+++ b/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExport.js
@@ -32,3 +32,22 @@ export declare module a {
export declare module c {
var x: b.I;
}
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/internalAliasUninitializedModuleInsideLocalModuleWithoutExport.d.ts (1 errors) ====
+ export declare module a {
+ module b {
+ interface I {
+ foo(): any;
+ }
+ }
+ }
+ export declare module c {
+ var x: b.I;
+ ~~~
+!!! Cannot find name 'b'.
+ }
+
\ No newline at end of file
diff --git a/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.js b/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.js
index ff9249b8266d4..c89df290f4412 100644
--- a/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.js
+++ b/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.js
@@ -26,3 +26,20 @@ export declare module a {
}
}
export declare var x: b.I;
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.d.ts (1 errors) ====
+ export declare module a {
+ module b {
+ interface I {
+ foo(): any;
+ }
+ }
+ }
+ export declare var x: b.I;
+ ~~~
+!!! Cannot find name 'b'.
+
\ No newline at end of file
diff --git a/tests/baselines/reference/missingImportAfterModuleImport.js b/tests/baselines/reference/missingImportAfterModuleImport.js
index 1ab1376589c03..842aae0884ede 100644
--- a/tests/baselines/reference/missingImportAfterModuleImport.js
+++ b/tests/baselines/reference/missingImportAfterModuleImport.js
@@ -49,3 +49,28 @@ declare class MainModule {
constructor();
}
export = MainModule;
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/missingImportAfterModuleImport_1.d.ts (1 errors) ====
+ ///
+ declare class MainModule {
+ SubModule: SubModule;
+ ~~~~~~~~~
+!!! Cannot find name 'SubModule'.
+ constructor();
+ }
+ export = MainModule;
+
+==== tests/cases/compiler/missingImportAfterModuleImport_0.d.ts (0 errors) ====
+ declare module "SubModule" {
+ class SubModule {
+ static StaticVar: number;
+ InstanceVar: number;
+ constructor();
+ }
+ export = SubModule;
+ }
+
\ No newline at end of file
diff --git a/tests/baselines/reference/parser509698.errors.txt b/tests/baselines/reference/parser509698.errors.txt
index ded1a87c9f33b..8a8b23d44e4b9 100644
--- a/tests/baselines/reference/parser509698.errors.txt
+++ b/tests/baselines/reference/parser509698.errors.txt
@@ -1,3 +1,11 @@
+!!! Cannot find global type 'Array'.
+!!! Cannot find global type 'Boolean'.
+!!! Cannot find global type 'Function'.
+!!! Cannot find global type 'IArguments'.
+!!! Cannot find global type 'Number'.
+!!! Cannot find global type 'Object'.
+!!! Cannot find global type 'RegExp'.
+!!! Cannot find global type 'String'.
==== tests/cases/conformance/parser/ecmascript5/RegressionTests/parser509698.ts (0 errors) ====
///
///
diff --git a/tests/baselines/reference/privacyCheckTypeOfInvisibleModuleNoError.js b/tests/baselines/reference/privacyCheckTypeOfInvisibleModuleNoError.js
index 30183ed2125e3..76656e5a86aa4 100644
--- a/tests/baselines/reference/privacyCheckTypeOfInvisibleModuleNoError.js
+++ b/tests/baselines/reference/privacyCheckTypeOfInvisibleModuleNoError.js
@@ -23,3 +23,15 @@ var Outer;
declare module Outer {
var f: typeof Inner;
}
+
+
+//// [DtsFileErrors]
+
+
+==== tests/cases/compiler/privacyCheckTypeOfInvisibleModuleNoError.d.ts (1 errors) ====
+ declare module Outer {
+ var f: typeof Inner;
+ ~~~~~
+!!! Cannot find name 'Inner'.
+ }
+
\ No newline at end of file
diff --git a/tests/baselines/reference/typeCheckTypeArgument.errors.txt b/tests/baselines/reference/typeCheckTypeArgument.errors.txt
index 69580f7a1ef5f..d09adcfd0354f 100644
--- a/tests/baselines/reference/typeCheckTypeArgument.errors.txt
+++ b/tests/baselines/reference/typeCheckTypeArgument.errors.txt
@@ -1,3 +1,11 @@
+!!! Cannot find global type 'Array'.
+!!! Cannot find global type 'Boolean'.
+!!! Cannot find global type 'Function'.
+!!! Cannot find global type 'IArguments'.
+!!! Cannot find global type 'Number'.
+!!! Cannot find global type 'Object'.
+!!! Cannot find global type 'RegExp'.
+!!! Cannot find global type 'String'.
==== tests/cases/compiler/typeCheckTypeArgument.ts (6 errors) ====
///