TypeScript/tests/baselines/reference/bestCommonTypeWithOptionalProperties.types
2015-04-15 16:44:20 -07:00

71 lines
847 B
Plaintext

=== tests/cases/compiler/bestCommonTypeWithOptionalProperties.ts ===
interface X { foo: string }
>X : X
>foo : string
interface Y extends X { bar?: number }
>Y : Y
>X : X
>bar : number
interface Z extends X { bar: string }
>Z : Z
>X : X
>bar : string
var x: X;
>x : X
>X : X
var y: Y;
>y : Y
>Y : Y
var z: Z;
>z : Z
>Z : Z
// All these arrays should be X[]
var b1 = [x, y, z];
>b1 : X[]
>[x, y, z] : X[]
>x : X
>y : Y
>z : Z
var b2 = [x, z, y];
>b2 : X[]
>[x, z, y] : X[]
>x : X
>z : Z
>y : Y
var b3 = [y, x, z];
>b3 : X[]
>[y, x, z] : X[]
>y : Y
>x : X
>z : Z
var b4 = [y, z, x];
>b4 : X[]
>[y, z, x] : X[]
>y : Y
>z : Z
>x : X
var b5 = [z, x, y];
>b5 : X[]
>[z, x, y] : X[]
>z : Z
>x : X
>y : Y
var b6 = [z, y, x];
>b6 : X[]
>[z, y, x] : X[]
>z : Z
>y : Y
>x : X