From bfc93d4070844b1ade7475fda5e30f599e7d5362 Mon Sep 17 00:00:00 2001 From: Yui T Date: Wed, 3 Sep 2014 11:35:21 -0700 Subject: [PATCH] Add getEmitOutput test files --- .../getEmitOutputDeclarationMultiFiles.ts | 21 +++++++++++++++++ .../getEmitOutputDeclarationSingleFile.ts | 23 +++++++++++++++++++ .../cases/fourslash/getEmitOutputNoErrors.ts | 10 ++++++++ .../fourslash/getEmitOutputSingleFile.ts | 19 +++++++++++++++ .../getEmitOutputWithSemanticErrors.ts | 7 ++++++ .../getEmitOutputWithSemanticErrors2.ts | 8 +++++++ .../getEmitOutputWithSyntaxErrors.ts | 6 +++++ .../getEmitOutputWithSyntaxErrors2.ts | 10 ++++++++ 8 files changed, 104 insertions(+) create mode 100644 tests/cases/fourslash/getEmitOutputDeclarationMultiFiles.ts create mode 100644 tests/cases/fourslash/getEmitOutputDeclarationSingleFile.ts create mode 100644 tests/cases/fourslash/getEmitOutputNoErrors.ts create mode 100644 tests/cases/fourslash/getEmitOutputSingleFile.ts create mode 100644 tests/cases/fourslash/getEmitOutputWithSemanticErrors.ts create mode 100644 tests/cases/fourslash/getEmitOutputWithSemanticErrors2.ts create mode 100644 tests/cases/fourslash/getEmitOutputWithSyntaxErrors.ts create mode 100644 tests/cases/fourslash/getEmitOutputWithSyntaxErrors2.ts diff --git a/tests/cases/fourslash/getEmitOutputDeclarationMultiFiles.ts b/tests/cases/fourslash/getEmitOutputDeclarationMultiFiles.ts new file mode 100644 index 00000000000..f2d7724e41b --- /dev/null +++ b/tests/cases/fourslash/getEmitOutputDeclarationMultiFiles.ts @@ -0,0 +1,21 @@ +/// + +// @Filename: inputFile1.ts +//// var x: number = 5; +//// class Bar { +//// x : string; +//// y : number +//// } + +// @Filename: inputFile2.ts +//// var x1: string = "hello world"; +//// class Foo{ +//// x : string; +//// y : number; +//// } + +var inputFile1 = "tests/cases/fourslash/inputFile1"; +var inputFile2 = "tests/cases/fourslash/inputFile2"; +edit.enableDeclaration(); +var outputFilenames = inputFile1 + ".js" + " " + inputFile2 + ".js" + " " + inputFile1 + ".d.ts" + " " + inputFile2 + ".d.ts"; +verify.emitOutput(EmitOutputResult.Succeeded, outputFilenames); \ No newline at end of file diff --git a/tests/cases/fourslash/getEmitOutputDeclarationSingleFile.ts b/tests/cases/fourslash/getEmitOutputDeclarationSingleFile.ts new file mode 100644 index 00000000000..7366640650f --- /dev/null +++ b/tests/cases/fourslash/getEmitOutputDeclarationSingleFile.ts @@ -0,0 +1,23 @@ +/// + +// @Filename: inputFile1.ts +//// var x: number = 5; +//// class Bar { +//// x : string; +//// y : number +//// } + +// @Filename: inputFile2.ts +//// var x1: string = "hello world"; +//// class Foo{ +//// x : string; +//// y : number; +//// } + +var singleFilename = "tests/cases/fourslash/declSingleFile"; +var jsFilename = singleFilename + ".js"; +var declFilename = singleFilename + ".d.ts"; +edit.enableSingleOutputFile(jsFilename); +edit.enableDeclaration(); +var outputFilenames = jsFilename + " " + declFilename; +verify.emitOutput(EmitOutputResult.Succeeded, outputFilenames); \ No newline at end of file diff --git a/tests/cases/fourslash/getEmitOutputNoErrors.ts b/tests/cases/fourslash/getEmitOutputNoErrors.ts new file mode 100644 index 00000000000..b3cdbc6c469 --- /dev/null +++ b/tests/cases/fourslash/getEmitOutputNoErrors.ts @@ -0,0 +1,10 @@ +/// + +// @Filename: noErrorsResult.ts +//// var x; +//// class M { +//// x: number; +//// y: string; +//// } + +verify.emitOutput(EmitOutputResult.Succeeded, "tests/cases/fourslash/noErrorsResult.js"); \ No newline at end of file diff --git a/tests/cases/fourslash/getEmitOutputSingleFile.ts b/tests/cases/fourslash/getEmitOutputSingleFile.ts new file mode 100644 index 00000000000..13d0d6c9ac0 --- /dev/null +++ b/tests/cases/fourslash/getEmitOutputSingleFile.ts @@ -0,0 +1,19 @@ +/// + +// @Filename: inputFile1.ts +//// var x: any; +//// class Bar { +//// x : string; +//// y : number +//// } + +// @Filename: inputFile2.ts +//// var x: any; +//// class Foo{ +//// x : string; +//// y : number +//// } + +var outputFilename = "tests/cases/fourslash/singleFile.js"; +edit.enableSingleOutputFile(outputFilename); +verify.emitOutput(EmitOutputResult.Succeeded, outputFilename); \ No newline at end of file diff --git a/tests/cases/fourslash/getEmitOutputWithSemanticErrors.ts b/tests/cases/fourslash/getEmitOutputWithSemanticErrors.ts new file mode 100644 index 00000000000..8f5a0f98d77 --- /dev/null +++ b/tests/cases/fourslash/getEmitOutputWithSemanticErrors.ts @@ -0,0 +1,7 @@ +/// + +// @Filename: semanticErrorsResult.ts +//// var x:number = "hello world"; + +// Only generate javscript file. The semantic error should not affect it +verify.emitOutput(EmitOutputResult.Succeeded,"tests/cases/fourslash/semanticErrorsResult.js"); \ No newline at end of file diff --git a/tests/cases/fourslash/getEmitOutputWithSemanticErrors2.ts b/tests/cases/fourslash/getEmitOutputWithSemanticErrors2.ts new file mode 100644 index 00000000000..9bea96ecd0f --- /dev/null +++ b/tests/cases/fourslash/getEmitOutputWithSemanticErrors2.ts @@ -0,0 +1,8 @@ +/// + +// @Filename: semanticErrorsResult2.ts +//// var x:number = "hello world"; + +edit.enableDeclaration(); +// Fail to generate .d.ts file due to semantic error but succeeded in generate javascript file +verify.emitOutput(EmitOutputResult.FailedToGenerateDeclarationsBecauseOfSemanticErrors,"tests/cases/fourslash/semanticErrorsResult2.js"); \ No newline at end of file diff --git a/tests/cases/fourslash/getEmitOutputWithSyntaxErrors.ts b/tests/cases/fourslash/getEmitOutputWithSyntaxErrors.ts new file mode 100644 index 00000000000..9679b301300 --- /dev/null +++ b/tests/cases/fourslash/getEmitOutputWithSyntaxErrors.ts @@ -0,0 +1,6 @@ +/// + +// @Filename: getEmitOutputWithSyntaxErrorsResult.ts +//// var x: + +verify.emitOutput(EmitOutputResult.FailedBecauseOfSyntaxErrors); \ No newline at end of file diff --git a/tests/cases/fourslash/getEmitOutputWithSyntaxErrors2.ts b/tests/cases/fourslash/getEmitOutputWithSyntaxErrors2.ts new file mode 100644 index 00000000000..d0f72bc5adf --- /dev/null +++ b/tests/cases/fourslash/getEmitOutputWithSyntaxErrors2.ts @@ -0,0 +1,10 @@ +/// + +// @Filename: syntaxErrorsResult2.ts +//// var x; +//// class M { +//// x : string; +//// y : numer + +edit.enableDeclaration(); +verify.emitOutput(EmitOutputResult.FailedBecauseOfSyntaxErrors); \ No newline at end of file