diff --git a/tests/baselines/reference/emitClassDeclarationWithConstructorOverloadInES6.js b/tests/baselines/reference/emitClassDeclarationOverloadInES6.js similarity index 64% rename from tests/baselines/reference/emitClassDeclarationWithConstructorOverloadInES6.js rename to tests/baselines/reference/emitClassDeclarationOverloadInES6.js index b7fe4f0cda7..4cf96778f3f 100644 --- a/tests/baselines/reference/emitClassDeclarationWithConstructorOverloadInES6.js +++ b/tests/baselines/reference/emitClassDeclarationOverloadInES6.js @@ -1,4 +1,4 @@ -//// [emitClassDeclarationWithConstructorOverloadInES6.ts] +//// [emitClassDeclarationOverloadInES6.ts] class C { constructor(y: any) constructor(x: number) { @@ -10,7 +10,7 @@ class D { constructor(x: number, z="hello") {} } -//// [emitClassDeclarationWithConstructorOverloadInES6.js] +//// [emitClassDeclarationOverloadInES6.js] class C { constructor(x) { } diff --git a/tests/baselines/reference/emitClassDeclarationWithConstructorOverloadInES6.types b/tests/baselines/reference/emitClassDeclarationOverloadInES6.types similarity index 81% rename from tests/baselines/reference/emitClassDeclarationWithConstructorOverloadInES6.types rename to tests/baselines/reference/emitClassDeclarationOverloadInES6.types index 96e9f25549e..850a5aa5456 100644 --- a/tests/baselines/reference/emitClassDeclarationWithConstructorOverloadInES6.types +++ b/tests/baselines/reference/emitClassDeclarationOverloadInES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithConstructorOverloadInES6.ts === +=== tests/cases/conformance/es6/classDeclaration/emitClassDeclarationOverloadInES6.ts === class C { >C : C diff --git a/tests/baselines/reference/emitClassDeclarationWithMethodOverloadInES6.js b/tests/baselines/reference/emitClassDeclarationWithMethodOverloadInES6.js deleted file mode 100644 index 252a44122eb..00000000000 --- a/tests/baselines/reference/emitClassDeclarationWithMethodOverloadInES6.js +++ /dev/null @@ -1,22 +0,0 @@ -//// [emitClassDeclarationWithMethodOverloadInES6.ts] -class D { - _bar: string; - foo(a: any); - foo() { } - - baz(...args): string; - baz(z:string, v: number): string { - return this._bar; - } -} - -//// [emitClassDeclarationWithMethodOverloadInES6.js] -class D { - constructor() { - } - foo() { - } - baz(z, v) { - return this._bar; - } -} diff --git a/tests/baselines/reference/emitClassDeclarationWithMethodOverloadInES6.types b/tests/baselines/reference/emitClassDeclarationWithMethodOverloadInES6.types deleted file mode 100644 index 3017908e576..00000000000 --- a/tests/baselines/reference/emitClassDeclarationWithMethodOverloadInES6.types +++ /dev/null @@ -1,29 +0,0 @@ -=== tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithMethodOverloadInES6.ts === -class D { ->D : D - - _bar: string; ->_bar : string - - foo(a: any); ->foo : (a: any) => any ->a : any - - foo() { } ->foo : (a: any) => any - - baz(...args): string; ->baz : (...args: any[]) => string ->args : any[] - - baz(z:string, v: number): string { ->baz : (...args: any[]) => string ->z : string ->v : number - - return this._bar; ->this._bar : string ->this : D ->_bar : string - } -} diff --git a/tests/baselines/reference/emitClassDeclarationWithRestAndDefaultArguements.js b/tests/baselines/reference/emitClassDeclarationWithRestAndDefaultArguements.js deleted file mode 100644 index 179818387da..00000000000 --- a/tests/baselines/reference/emitClassDeclarationWithRestAndDefaultArguements.js +++ /dev/null @@ -1,20 +0,0 @@ -//// [emitClassDeclarationWithRestAndDefaultArguements.ts] -class B { - constructor(y = 10, ...p) { } - foo(a = "hi") { } - bar(b = 10, ...p) { } - far(...p) - far(a: any) { } -} - -//// [emitClassDeclarationWithRestAndDefaultArguements.js] -class B { - constructor(y = 10, ...p) { - } - foo(a = "hi") { - } - bar(b = 10, ...p) { - } - far(a) { - } -} diff --git a/tests/baselines/reference/emitClassDeclarationWithRestAndDefaultArguements.types b/tests/baselines/reference/emitClassDeclarationWithRestAndDefaultArguements.types deleted file mode 100644 index 6f59f8220ad..00000000000 --- a/tests/baselines/reference/emitClassDeclarationWithRestAndDefaultArguements.types +++ /dev/null @@ -1,25 +0,0 @@ -=== tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithRestAndDefaultArguements.ts === -class B { ->B : B - - constructor(y = 10, ...p) { } ->y : number ->p : any[] - - foo(a = "hi") { } ->foo : (a?: string) => void ->a : string - - bar(b = 10, ...p) { } ->bar : (b?: number, ...p: any[]) => void ->b : number ->p : any[] - - far(...p) ->far : (...p: any[]) => any ->p : any[] - - far(a: any) { } ->far : (...p: any[]) => any ->a : any -} diff --git a/tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithConstructorOverloadInES6.ts b/tests/cases/conformance/es6/classDeclaration/emitClassDeclarationOverloadInES6.ts similarity index 100% rename from tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithConstructorOverloadInES6.ts rename to tests/cases/conformance/es6/classDeclaration/emitClassDeclarationOverloadInES6.ts diff --git a/tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithConstructorInES6.ts b/tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithConstructorInES6.ts index 9e06636da7e..e6c71b06740 100644 --- a/tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithConstructorInES6.ts +++ b/tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithConstructorInES6.ts @@ -1,14 +1,24 @@ // @target: es6 -class C { +class A { y: number; constructor(x: number) { } + foo(a: any); + foo() { } } -class D { +class B { y: number; x: string = "hello"; - constructor(x: number, z = "hello") { + _bar: string; + + constructor(x: number, z = "hello", ...args) { this.y = 10; } -} \ No newline at end of file + baz(...args): string; + baz(z: string, v: number): string { + return this._bar; + } +} + + diff --git a/tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithExport.ts b/tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithExport.ts index f3ed5eb95d8..c7fd43cb9e2 100644 --- a/tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithExport.ts +++ b/tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithExport.ts @@ -1,8 +1,8 @@ // @target: es6 export class C { - foo() { } + foo(y: string, ...args: any) { } } export default class D { - bar() { } + bar(k = 10) {} } \ No newline at end of file diff --git a/tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithExtensionInES6.ts b/tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithExtensionInES6.ts index 519af626850..9b79d1b003b 100644 --- a/tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithExtensionInES6.ts +++ b/tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithExtensionInES6.ts @@ -1,8 +1,23 @@ // @target: es6 -class B { } -class C extends B { } -class D extends B { +class B { + baz(a: string, y = 10) { } +} +class C extends B { + foo() { } + baz(a: string, y:number) { + super.baz(a, y); + } +} +class D extends C { constructor() { super(); } + + foo() { + super.foo(); + } + + baz() { + super.baz("hello", 10); + } } diff --git a/tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithMethodOverloadInES6.ts b/tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithMethodOverloadInES6.ts deleted file mode 100644 index e1b277fae51..00000000000 --- a/tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithMethodOverloadInES6.ts +++ /dev/null @@ -1,11 +0,0 @@ -// @target:es6 -class D { - _bar: string; - foo(a: any); - foo() { } - - baz(...args): string; - baz(z:string, v: number): string { - return this._bar; - } -} \ No newline at end of file diff --git a/tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithRestAndDefaultArguements.ts b/tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithRestAndDefaultArguements.ts deleted file mode 100644 index 20c251b2cfa..00000000000 --- a/tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithRestAndDefaultArguements.ts +++ /dev/null @@ -1,8 +0,0 @@ -// @target: es6 -class B { - constructor(y = 10, ...p) { } - foo(a = "hi") { } - bar(b = 10, ...p) { } - far(...p) - far(a: any) { } -} \ No newline at end of file diff --git a/tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithThisKeyword.ts b/tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithThisKeyword.ts new file mode 100644 index 00000000000..f78e012bc20 --- /dev/null +++ b/tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithThisKeyword.ts @@ -0,0 +1,18 @@ +// @target: es6 +class B { + x = 10; + constructor() { + this.x = 10; + } + foo() { + console.log(this.x); + } + + get X() { + return this.x; + } + + set bX(y: number) { + this.x = y; + } +} \ No newline at end of file