Adding test

This commit is contained in:
Anders Hejlsberg 2015-04-12 10:52:20 -07:00
parent b7408fa0b4
commit c91e2855ca
3 changed files with 83 additions and 0 deletions

View File

@ -0,0 +1,25 @@
//// [unionTypeReduction.ts]
interface I2 {
(): number;
(q): boolean;
}
interface I3 {
(): number;
}
var i2: I2, i3: I3;
var e1: I2 | I3;
var e2 = i2 || i3; // Type of e2 immediately reduced to I3
var r1 = e1(); // Type of e1 reduced to I3 upon accessing property or signature
var r2 = e2();
//// [unionTypeReduction.js]
var i2, i3;
var e1;
var e2 = i2 || i3; // Type of e2 immediately reduced to I3
var r1 = e1(); // Type of e1 reduced to I3 upon accessing property or signature
var r2 = e2();

View File

@ -0,0 +1,42 @@
=== tests/cases/conformance/types/union/unionTypeReduction.ts ===
interface I2 {
>I2 : I2
(): number;
(q): boolean;
>q : any
}
interface I3 {
>I3 : I3
(): number;
}
var i2: I2, i3: I3;
>i2 : I2
>I2 : I2
>i3 : I3
>I3 : I3
var e1: I2 | I3;
>e1 : I2 | I3
>I2 : I2
>I3 : I3
var e2 = i2 || i3; // Type of e2 immediately reduced to I3
>e2 : I3
>i2 || i3 : I3
>i2 : I2
>i3 : I3
var r1 = e1(); // Type of e1 reduced to I3 upon accessing property or signature
>r1 : number
>e1() : number
>e1 : I2 | I3
var r2 = e2();
>r2 : number
>e2() : number
>e2 : I3

View File

@ -0,0 +1,16 @@
interface I2 {
(): number;
(q): boolean;
}
interface I3 {
(): number;
}
var i2: I2, i3: I3;
var e1: I2 | I3;
var e2 = i2 || i3; // Type of e2 immediately reduced to I3
var r1 = e1(); // Type of e1 reduced to I3 upon accessing property or signature
var r2 = e2();