From c72861ebd77722230c830ee9b31c929001025967 Mon Sep 17 00:00:00 2001 From: Jeffrey Morlan Date: Mon, 9 Nov 2015 21:05:05 -0800 Subject: [PATCH] Add test case --- .../overloadConsecutiveness.errors.txt | 63 +++++++++++++++++++ .../reference/overloadConsecutiveness.js | 27 ++++++++ .../cases/compiler/overloadConsecutiveness.ts | 11 ++++ 3 files changed, 101 insertions(+) create mode 100644 tests/baselines/reference/overloadConsecutiveness.errors.txt create mode 100644 tests/baselines/reference/overloadConsecutiveness.js create mode 100644 tests/cases/compiler/overloadConsecutiveness.ts diff --git a/tests/baselines/reference/overloadConsecutiveness.errors.txt b/tests/baselines/reference/overloadConsecutiveness.errors.txt new file mode 100644 index 00000000000..59634681c43 --- /dev/null +++ b/tests/baselines/reference/overloadConsecutiveness.errors.txt @@ -0,0 +1,63 @@ +tests/cases/compiler/overloadConsecutiveness.ts(3,10): error TS2391: Function implementation is missing or not immediately following the declaration. +tests/cases/compiler/overloadConsecutiveness.ts(3,14): error TS1144: '{' or ';' expected. +tests/cases/compiler/overloadConsecutiveness.ts(3,25): error TS2391: Function implementation is missing or not immediately following the declaration. +tests/cases/compiler/overloadConsecutiveness.ts(4,10): error TS2391: Function implementation is missing or not immediately following the declaration. +tests/cases/compiler/overloadConsecutiveness.ts(4,14): error TS1144: '{' or ';' expected. +tests/cases/compiler/overloadConsecutiveness.ts(5,10): error TS2391: Function implementation is missing or not immediately following the declaration. +tests/cases/compiler/overloadConsecutiveness.ts(5,17): error TS1128: Declaration or statement expected. +tests/cases/compiler/overloadConsecutiveness.ts(5,28): error TS2391: Function implementation is missing or not immediately following the declaration. +tests/cases/compiler/overloadConsecutiveness.ts(8,2): error TS2391: Function implementation is missing or not immediately following the declaration. +tests/cases/compiler/overloadConsecutiveness.ts(8,6): error TS1144: '{' or ';' expected. +tests/cases/compiler/overloadConsecutiveness.ts(8,8): error TS2391: Function implementation is missing or not immediately following the declaration. +tests/cases/compiler/overloadConsecutiveness.ts(9,2): error TS2391: Function implementation is missing or not immediately following the declaration. +tests/cases/compiler/overloadConsecutiveness.ts(9,6): error TS1144: '{' or ';' expected. +tests/cases/compiler/overloadConsecutiveness.ts(10,2): error TS2391: Function implementation is missing or not immediately following the declaration. +tests/cases/compiler/overloadConsecutiveness.ts(10,9): error TS1068: Unexpected token. A constructor, method, accessor, or property was expected. +tests/cases/compiler/overloadConsecutiveness.ts(10,11): error TS2391: Function implementation is missing or not immediately following the declaration. + + +==== tests/cases/compiler/overloadConsecutiveness.ts (16 errors) ==== + // Making sure compiler won't break with declarations that are consecutive in the AST but not consecutive in the source. Syntax errors intentional. + + function f1(), function f1(); + ~~ +!!! error TS2391: Function implementation is missing or not immediately following the declaration. + ~ +!!! error TS1144: '{' or ';' expected. + ~~ +!!! error TS2391: Function implementation is missing or not immediately following the declaration. + function f2(), function f2() {} + ~~ +!!! error TS2391: Function implementation is missing or not immediately following the declaration. + ~ +!!! error TS1144: '{' or ';' expected. + function f3() {}, function f3(); + ~~ +!!! error TS2391: Function implementation is missing or not immediately following the declaration. + ~ +!!! error TS1128: Declaration or statement expected. + ~~ +!!! error TS2391: Function implementation is missing or not immediately following the declaration. + + class C { + m1(), m1(); + ~~ +!!! error TS2391: Function implementation is missing or not immediately following the declaration. + ~ +!!! error TS1144: '{' or ';' expected. + ~~ +!!! error TS2391: Function implementation is missing or not immediately following the declaration. + m2(), m2() {} + ~~ +!!! error TS2391: Function implementation is missing or not immediately following the declaration. + ~ +!!! error TS1144: '{' or ';' expected. + m3() {}, m3(); + ~~ +!!! error TS2391: Function implementation is missing or not immediately following the declaration. + ~ +!!! error TS1068: Unexpected token. A constructor, method, accessor, or property was expected. + ~~ +!!! error TS2391: Function implementation is missing or not immediately following the declaration. + } + \ No newline at end of file diff --git a/tests/baselines/reference/overloadConsecutiveness.js b/tests/baselines/reference/overloadConsecutiveness.js new file mode 100644 index 00000000000..8c0d3d26b72 --- /dev/null +++ b/tests/baselines/reference/overloadConsecutiveness.js @@ -0,0 +1,27 @@ +//// [overloadConsecutiveness.ts] +// Making sure compiler won't break with declarations that are consecutive in the AST but not consecutive in the source. Syntax errors intentional. + +function f1(), function f1(); +function f2(), function f2() {} +function f3() {}, function f3(); + +class C { + m1(), m1(); + m2(), m2() {} + m3() {}, m3(); +} + + +//// [overloadConsecutiveness.js] +// Making sure compiler won't break with declarations that are consecutive in the AST but not consecutive in the source. Syntax errors intentional. +function f2() { } +function f3() { } +var C = (function () { + function C() { + } + C.prototype.m1 = ; + C.prototype.m2 = ; + C.prototype.m2 = function () { }; + C.prototype.m3 = function () { }; + return C; +})(); diff --git a/tests/cases/compiler/overloadConsecutiveness.ts b/tests/cases/compiler/overloadConsecutiveness.ts new file mode 100644 index 00000000000..ced6d88b80c --- /dev/null +++ b/tests/cases/compiler/overloadConsecutiveness.ts @@ -0,0 +1,11 @@ +// Making sure compiler won't break with declarations that are consecutive in the AST but not consecutive in the source. Syntax errors intentional. + +function f1(), function f1(); +function f2(), function f2() {} +function f3() {}, function f3(); + +class C { + m1(), m1(); + m2(), m2() {} + m3() {}, m3(); +}