From 50d0f9b719d40d1c05a41c0adbb7e54e3f00a6a0 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Thu, 18 Dec 2014 16:34:14 -0800 Subject: [PATCH] Added tests/baselines. --- ...genericAndNonGenericInheritedSignature1.js | 12 ++++++++++ ...ericAndNonGenericInheritedSignature1.types | 24 +++++++++++++++++++ ...ndNonGenericInheritedSignature2.errors.txt | 17 +++++++++++++ ...genericAndNonGenericInheritedSignature2.js | 12 ++++++++++ ...genericAndNonGenericInheritedSignature1.ts | 8 +++++++ ...genericAndNonGenericInheritedSignature2.ts | 8 +++++++ 6 files changed, 81 insertions(+) create mode 100644 tests/baselines/reference/genericAndNonGenericInheritedSignature1.js create mode 100644 tests/baselines/reference/genericAndNonGenericInheritedSignature1.types create mode 100644 tests/baselines/reference/genericAndNonGenericInheritedSignature2.errors.txt create mode 100644 tests/baselines/reference/genericAndNonGenericInheritedSignature2.js create mode 100644 tests/cases/compiler/genericAndNonGenericInheritedSignature1.ts create mode 100644 tests/cases/compiler/genericAndNonGenericInheritedSignature2.ts diff --git a/tests/baselines/reference/genericAndNonGenericInheritedSignature1.js b/tests/baselines/reference/genericAndNonGenericInheritedSignature1.js new file mode 100644 index 00000000000..15ea71b1223 --- /dev/null +++ b/tests/baselines/reference/genericAndNonGenericInheritedSignature1.js @@ -0,0 +1,12 @@ +//// [genericAndNonGenericInheritedSignature1.ts] +interface Foo { + f(x: any): any; +} +interface Bar { + f(x: T): T; +} +interface Hello extends Foo, Bar { +} + + +//// [genericAndNonGenericInheritedSignature1.js] diff --git a/tests/baselines/reference/genericAndNonGenericInheritedSignature1.types b/tests/baselines/reference/genericAndNonGenericInheritedSignature1.types new file mode 100644 index 00000000000..939cbfa612f --- /dev/null +++ b/tests/baselines/reference/genericAndNonGenericInheritedSignature1.types @@ -0,0 +1,24 @@ +=== tests/cases/compiler/genericAndNonGenericInheritedSignature1.ts === +interface Foo { +>Foo : Foo + + f(x: any): any; +>f : (x: any) => any +>x : any +} +interface Bar { +>Bar : Bar + + f(x: T): T; +>f : (x: T) => T +>T : T +>x : T +>T : T +>T : T +} +interface Hello extends Foo, Bar { +>Hello : Hello +>Foo : Foo +>Bar : Bar +} + diff --git a/tests/baselines/reference/genericAndNonGenericInheritedSignature2.errors.txt b/tests/baselines/reference/genericAndNonGenericInheritedSignature2.errors.txt new file mode 100644 index 00000000000..05fdd68319e --- /dev/null +++ b/tests/baselines/reference/genericAndNonGenericInheritedSignature2.errors.txt @@ -0,0 +1,17 @@ +tests/cases/compiler/genericAndNonGenericInheritedSignature2.ts(7,11): error TS2320: Interface 'Hello' cannot simultaneously extend types 'Bar' and 'Foo'. + Named properties 'f' of types 'Bar' and 'Foo' are not identical. + + +==== tests/cases/compiler/genericAndNonGenericInheritedSignature2.ts (1 errors) ==== + interface Foo { + f(x: any): any; + } + interface Bar { + f(x: T): T; + } + interface Hello extends Bar, Foo { + ~~~~~ +!!! error TS2320: Interface 'Hello' cannot simultaneously extend types 'Bar' and 'Foo'. +!!! error TS2320: Named properties 'f' of types 'Bar' and 'Foo' are not identical. + } + \ No newline at end of file diff --git a/tests/baselines/reference/genericAndNonGenericInheritedSignature2.js b/tests/baselines/reference/genericAndNonGenericInheritedSignature2.js new file mode 100644 index 00000000000..d8353b81e98 --- /dev/null +++ b/tests/baselines/reference/genericAndNonGenericInheritedSignature2.js @@ -0,0 +1,12 @@ +//// [genericAndNonGenericInheritedSignature2.ts] +interface Foo { + f(x: any): any; +} +interface Bar { + f(x: T): T; +} +interface Hello extends Bar, Foo { +} + + +//// [genericAndNonGenericInheritedSignature2.js] diff --git a/tests/cases/compiler/genericAndNonGenericInheritedSignature1.ts b/tests/cases/compiler/genericAndNonGenericInheritedSignature1.ts new file mode 100644 index 00000000000..3e5aa480be4 --- /dev/null +++ b/tests/cases/compiler/genericAndNonGenericInheritedSignature1.ts @@ -0,0 +1,8 @@ +interface Foo { + f(x: any): any; +} +interface Bar { + f(x: T): T; +} +interface Hello extends Foo, Bar { +} diff --git a/tests/cases/compiler/genericAndNonGenericInheritedSignature2.ts b/tests/cases/compiler/genericAndNonGenericInheritedSignature2.ts new file mode 100644 index 00000000000..f35e2ffda98 --- /dev/null +++ b/tests/cases/compiler/genericAndNonGenericInheritedSignature2.ts @@ -0,0 +1,8 @@ +interface Foo { + f(x: any): any; +} +interface Bar { + f(x: T): T; +} +interface Hello extends Bar, Foo { +}