mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-10 15:25:54 -06:00
Adding test
This commit is contained in:
parent
b7408fa0b4
commit
c91e2855ca
25
tests/baselines/reference/unionTypeReduction.js
Normal file
25
tests/baselines/reference/unionTypeReduction.js
Normal 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();
|
||||
42
tests/baselines/reference/unionTypeReduction.types
Normal file
42
tests/baselines/reference/unionTypeReduction.types
Normal 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
|
||||
|
||||
16
tests/cases/conformance/types/union/unionTypeReduction.ts
Normal file
16
tests/cases/conformance/types/union/unionTypeReduction.ts
Normal 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();
|
||||
Loading…
x
Reference in New Issue
Block a user