Skip to content

Commit c91e285

Browse files
committed
Adding test
1 parent b7408fa commit c91e285

3 files changed

Lines changed: 83 additions & 0 deletions

File tree

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
//// [unionTypeReduction.ts]
2+
interface I2 {
3+
(): number;
4+
(q): boolean;
5+
}
6+
7+
interface I3 {
8+
(): number;
9+
}
10+
11+
var i2: I2, i3: I3;
12+
13+
var e1: I2 | I3;
14+
var e2 = i2 || i3; // Type of e2 immediately reduced to I3
15+
16+
var r1 = e1(); // Type of e1 reduced to I3 upon accessing property or signature
17+
var r2 = e2();
18+
19+
20+
//// [unionTypeReduction.js]
21+
var i2, i3;
22+
var e1;
23+
var e2 = i2 || i3; // Type of e2 immediately reduced to I3
24+
var r1 = e1(); // Type of e1 reduced to I3 upon accessing property or signature
25+
var r2 = e2();
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
=== tests/cases/conformance/types/union/unionTypeReduction.ts ===
2+
interface I2 {
3+
>I2 : I2
4+
5+
(): number;
6+
(q): boolean;
7+
>q : any
8+
}
9+
10+
interface I3 {
11+
>I3 : I3
12+
13+
(): number;
14+
}
15+
16+
var i2: I2, i3: I3;
17+
>i2 : I2
18+
>I2 : I2
19+
>i3 : I3
20+
>I3 : I3
21+
22+
var e1: I2 | I3;
23+
>e1 : I2 | I3
24+
>I2 : I2
25+
>I3 : I3
26+
27+
var e2 = i2 || i3; // Type of e2 immediately reduced to I3
28+
>e2 : I3
29+
>i2 || i3 : I3
30+
>i2 : I2
31+
>i3 : I3
32+
33+
var r1 = e1(); // Type of e1 reduced to I3 upon accessing property or signature
34+
>r1 : number
35+
>e1() : number
36+
>e1 : I2 | I3
37+
38+
var r2 = e2();
39+
>r2 : number
40+
>e2() : number
41+
>e2 : I3
42+
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
interface I2 {
2+
(): number;
3+
(q): boolean;
4+
}
5+
6+
interface I3 {
7+
(): number;
8+
}
9+
10+
var i2: I2, i3: I3;
11+
12+
var e1: I2 | I3;
13+
var e2 = i2 || i3; // Type of e2 immediately reduced to I3
14+
15+
var r1 = e1(); // Type of e1 reduced to I3 upon accessing property or signature
16+
var r2 = e2();

0 commit comments

Comments
 (0)