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;