From df3560f6a7f9dc3a8856c305a5d7bfb58c0f3917 Mon Sep 17 00:00:00 2001 From: Arthur Ozga Date: Fri, 19 Jun 2015 15:41:33 -0700 Subject: [PATCH] moved tests, added a test --- .../classAbstractConstructor.ts | 0 .../classAbstractDeclarations.d.ts | 0 .../classAbstractInheritance.ts | 0 .../classAbstractMethodWithImplementation.ts | 0 .../classAbstractMixedWithModifiers.ts | 0 .../classAbstractOverloads.ts | 0 .../classAbstractProperties.ts | 0 .../classAbstractSuperCalls.ts | 0 .../classAbstractUsingAbstractMethod.ts | 17 +++++++++++++++++ .../classInstantiatingAbstractClass.ts | 10 +++++++++- 10 files changed, 26 insertions(+), 1 deletion(-) rename tests/cases/conformance/classes/classDeclarations/{ => classAbstractKeyword}/classAbstractConstructor.ts (100%) rename tests/cases/conformance/classes/classDeclarations/{ => classAbstractKeyword}/classAbstractDeclarations.d.ts (100%) rename tests/cases/conformance/classes/classDeclarations/{ => classAbstractKeyword}/classAbstractInheritance.ts (100%) rename tests/cases/conformance/classes/classDeclarations/{ => classAbstractKeyword}/classAbstractMethodWithImplementation.ts (100%) rename tests/cases/conformance/classes/classDeclarations/{ => classAbstractKeyword}/classAbstractMixedWithModifiers.ts (100%) rename tests/cases/conformance/classes/classDeclarations/{ => classAbstractKeyword}/classAbstractOverloads.ts (100%) rename tests/cases/conformance/classes/classDeclarations/{ => classAbstractKeyword}/classAbstractProperties.ts (100%) rename tests/cases/conformance/classes/classDeclarations/{ => classAbstractKeyword}/classAbstractSuperCalls.ts (100%) create mode 100644 tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractUsingAbstractMethod.ts rename tests/cases/conformance/classes/classDeclarations/{ => classAbstractKeyword}/classInstantiatingAbstractClass.ts (56%) diff --git a/tests/cases/conformance/classes/classDeclarations/classAbstractConstructor.ts b/tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractConstructor.ts similarity index 100% rename from tests/cases/conformance/classes/classDeclarations/classAbstractConstructor.ts rename to tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractConstructor.ts diff --git a/tests/cases/conformance/classes/classDeclarations/classAbstractDeclarations.d.ts b/tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractDeclarations.d.ts similarity index 100% rename from tests/cases/conformance/classes/classDeclarations/classAbstractDeclarations.d.ts rename to tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractDeclarations.d.ts diff --git a/tests/cases/conformance/classes/classDeclarations/classAbstractInheritance.ts b/tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractInheritance.ts similarity index 100% rename from tests/cases/conformance/classes/classDeclarations/classAbstractInheritance.ts rename to tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractInheritance.ts diff --git a/tests/cases/conformance/classes/classDeclarations/classAbstractMethodWithImplementation.ts b/tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractMethodWithImplementation.ts similarity index 100% rename from tests/cases/conformance/classes/classDeclarations/classAbstractMethodWithImplementation.ts rename to tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractMethodWithImplementation.ts diff --git a/tests/cases/conformance/classes/classDeclarations/classAbstractMixedWithModifiers.ts b/tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractMixedWithModifiers.ts similarity index 100% rename from tests/cases/conformance/classes/classDeclarations/classAbstractMixedWithModifiers.ts rename to tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractMixedWithModifiers.ts diff --git a/tests/cases/conformance/classes/classDeclarations/classAbstractOverloads.ts b/tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractOverloads.ts similarity index 100% rename from tests/cases/conformance/classes/classDeclarations/classAbstractOverloads.ts rename to tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractOverloads.ts diff --git a/tests/cases/conformance/classes/classDeclarations/classAbstractProperties.ts b/tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractProperties.ts similarity index 100% rename from tests/cases/conformance/classes/classDeclarations/classAbstractProperties.ts rename to tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractProperties.ts diff --git a/tests/cases/conformance/classes/classDeclarations/classAbstractSuperCalls.ts b/tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractSuperCalls.ts similarity index 100% rename from tests/cases/conformance/classes/classDeclarations/classAbstractSuperCalls.ts rename to tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractSuperCalls.ts diff --git a/tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractUsingAbstractMethod.ts b/tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractUsingAbstractMethod.ts new file mode 100644 index 00000000000..8561fa2ce15 --- /dev/null +++ b/tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractUsingAbstractMethod.ts @@ -0,0 +1,17 @@ +abstract class A { + abstract foo() : number; +} + +class B extends A { + foo() { return 1; } +} + +abstract class C extends A { + abstract foo() : number; +} + +var a = new B; +a.foo(); + +a = new C; // error, cannot instantiate abstract class. +a.foo(); \ No newline at end of file diff --git a/tests/cases/conformance/classes/classDeclarations/classInstantiatingAbstractClass.ts b/tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classInstantiatingAbstractClass.ts similarity index 56% rename from tests/cases/conformance/classes/classDeclarations/classInstantiatingAbstractClass.ts rename to tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classInstantiatingAbstractClass.ts index beb44cc7894..d60a39a3f2c 100644 --- a/tests/cases/conformance/classes/classDeclarations/classInstantiatingAbstractClass.ts +++ b/tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classInstantiatingAbstractClass.ts @@ -15,4 +15,12 @@ var c : C; a = new B; b = new B; -c = new B; \ No newline at end of file +c = new B; + +module M { + export abstract class A {} +} + +import myA = M.A; + +var aa = new myA;