TypeScript/tests/baselines/reference/mergedInterfacesWithIndexers.types

42 lines
650 B
Plaintext
Raw Normal View History

2014-08-15 23:33:16 +02:00
=== tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithIndexers.ts ===
// indexers should behave like other members when merging interface declarations
interface A {
>A : A
2014-08-15 23:33:16 +02:00
[x: number]: string;
>x : number
2014-08-15 23:33:16 +02:00
}
interface A {
>A : A
2014-08-15 23:33:16 +02:00
[x: string]: { length: number };
>x : string
>length : number
2014-08-15 23:33:16 +02:00
}
var a: A;
>a : A
>A : A
2014-08-15 23:33:16 +02:00
var r = a[1];
>r : string
2014-08-15 23:33:16 +02:00
>a[1] : string
>a : A
2015-04-13 21:36:11 +02:00
>1 : number
2014-08-15 23:33:16 +02:00
var r2 = a['1'];
>r2 : { length: number; }
2014-08-15 23:33:16 +02:00
>a['1'] : { length: number; }
>a : A
2015-04-13 21:36:11 +02:00
>'1' : string
2014-08-15 23:33:16 +02:00
var r3 = a['hi'];
>r3 : { length: number; }
2014-08-15 23:33:16 +02:00
>a['hi'] : { length: number; }
>a : A
2015-04-13 21:36:11 +02:00
>'hi' : string
2014-08-15 23:33:16 +02:00