mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Accepting new baselines
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
//// [assignmentTypeNarrowing.ts]
|
||||
let x: string | number | boolean | RegExp;
|
||||
|
||||
x = "";
|
||||
x; // string
|
||||
|
||||
[x] = [true];
|
||||
x; // boolean
|
||||
|
||||
[x = ""] = [1];
|
||||
x; // string | number
|
||||
|
||||
({x} = {x: true});
|
||||
x; // boolean
|
||||
|
||||
({y: x} = {y: 1});
|
||||
x; // number
|
||||
|
||||
({x = ""} = {x: true});
|
||||
x; // string | boolean
|
||||
|
||||
({y: x = /a/} = {y: 1});
|
||||
x; // number | RegExp
|
||||
|
||||
let a: string[];
|
||||
|
||||
for (x of a) {
|
||||
x; // string
|
||||
}
|
||||
|
||||
|
||||
//// [assignmentTypeNarrowing.js]
|
||||
var x;
|
||||
x = "";
|
||||
x; // string
|
||||
x = [true][0];
|
||||
x; // boolean
|
||||
_a = [1][0], x = _a === void 0 ? "" : _a;
|
||||
x; // string | number
|
||||
(_b = { x: true }, x = _b.x, _b);
|
||||
x; // boolean
|
||||
(_c = { y: 1 }, x = _c.y, _c);
|
||||
x; // number
|
||||
(_d = { x: true }, _e = _d.x, x = _e === void 0 ? "" : _e, _d);
|
||||
x; // string | boolean
|
||||
(_f = { y: 1 }, _g = _f.y, x = _g === void 0 ? /a/ : _g, _f);
|
||||
x; // number | RegExp
|
||||
var a;
|
||||
for (var _i = 0, a_1 = a; _i < a_1.length; _i++) {
|
||||
x = a_1[_i];
|
||||
x; // string
|
||||
}
|
||||
var _a, _b, _c, _d, _e, _f, _g;
|
||||
@@ -0,0 +1,64 @@
|
||||
=== tests/cases/conformance/expressions/assignmentOperator/assignmentTypeNarrowing.ts ===
|
||||
let x: string | number | boolean | RegExp;
|
||||
>x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 0, 3))
|
||||
>RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
|
||||
|
||||
x = "";
|
||||
>x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 0, 3))
|
||||
|
||||
x; // string
|
||||
>x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 0, 3))
|
||||
|
||||
[x] = [true];
|
||||
>x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 0, 3))
|
||||
|
||||
x; // boolean
|
||||
>x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 0, 3))
|
||||
|
||||
[x = ""] = [1];
|
||||
>x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 0, 3))
|
||||
|
||||
x; // string | number
|
||||
>x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 0, 3))
|
||||
|
||||
({x} = {x: true});
|
||||
>x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 11, 2))
|
||||
>x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 11, 8))
|
||||
|
||||
x; // boolean
|
||||
>x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 0, 3))
|
||||
|
||||
({y: x} = {y: 1});
|
||||
>y : Symbol(y, Decl(assignmentTypeNarrowing.ts, 14, 2))
|
||||
>x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 0, 3))
|
||||
>y : Symbol(y, Decl(assignmentTypeNarrowing.ts, 14, 11))
|
||||
|
||||
x; // number
|
||||
>x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 0, 3))
|
||||
|
||||
({x = ""} = {x: true});
|
||||
>x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 17, 2))
|
||||
>x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 17, 13))
|
||||
|
||||
x; // string | boolean
|
||||
>x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 0, 3))
|
||||
|
||||
({y: x = /a/} = {y: 1});
|
||||
>y : Symbol(y, Decl(assignmentTypeNarrowing.ts, 20, 2))
|
||||
>x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 0, 3))
|
||||
>y : Symbol(y, Decl(assignmentTypeNarrowing.ts, 20, 17))
|
||||
|
||||
x; // number | RegExp
|
||||
>x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 0, 3))
|
||||
|
||||
let a: string[];
|
||||
>a : Symbol(a, Decl(assignmentTypeNarrowing.ts, 23, 3))
|
||||
|
||||
for (x of a) {
|
||||
>x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 0, 3))
|
||||
>a : Symbol(a, Decl(assignmentTypeNarrowing.ts, 23, 3))
|
||||
|
||||
x; // string
|
||||
>x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 0, 3))
|
||||
}
|
||||
|
||||
@@ -0,0 +1,98 @@
|
||||
=== tests/cases/conformance/expressions/assignmentOperator/assignmentTypeNarrowing.ts ===
|
||||
let x: string | number | boolean | RegExp;
|
||||
>x : string | number | boolean | RegExp
|
||||
>RegExp : RegExp
|
||||
|
||||
x = "";
|
||||
>x = "" : string
|
||||
>x : string | number | boolean | RegExp
|
||||
>"" : string
|
||||
|
||||
x; // string
|
||||
>x : string
|
||||
|
||||
[x] = [true];
|
||||
>[x] = [true] : [boolean]
|
||||
>[x] : [string | number | boolean | RegExp]
|
||||
>x : string | number | boolean | RegExp
|
||||
>[true] : [boolean]
|
||||
>true : boolean
|
||||
|
||||
x; // boolean
|
||||
>x : boolean
|
||||
|
||||
[x = ""] = [1];
|
||||
>[x = ""] = [1] : [number]
|
||||
>[x = ""] : [string]
|
||||
>x = "" : string
|
||||
>x : string | number | boolean | RegExp
|
||||
>"" : string
|
||||
>[1] : [number]
|
||||
>1 : number
|
||||
|
||||
x; // string | number
|
||||
>x : string | number
|
||||
|
||||
({x} = {x: true});
|
||||
>({x} = {x: true}) : { x: boolean; }
|
||||
>{x} = {x: true} : { x: boolean; }
|
||||
>{x} : { x: string | number | boolean | RegExp; }
|
||||
>x : string | number | boolean | RegExp
|
||||
>{x: true} : { x: boolean; }
|
||||
>x : boolean
|
||||
>true : boolean
|
||||
|
||||
x; // boolean
|
||||
>x : boolean
|
||||
|
||||
({y: x} = {y: 1});
|
||||
>({y: x} = {y: 1}) : { y: number; }
|
||||
>{y: x} = {y: 1} : { y: number; }
|
||||
>{y: x} : { y: string | number | boolean | RegExp; }
|
||||
>y : string | number | boolean | RegExp
|
||||
>x : string | number | boolean | RegExp
|
||||
>{y: 1} : { y: number; }
|
||||
>y : number
|
||||
>1 : number
|
||||
|
||||
x; // number
|
||||
>x : number
|
||||
|
||||
({x = ""} = {x: true});
|
||||
>({x = ""} = {x: true}) : { x?: boolean; }
|
||||
>{x = ""} = {x: true} : { x?: boolean; }
|
||||
>{x = ""} : { x?: string | number | boolean | RegExp; }
|
||||
>x : string | number | boolean | RegExp
|
||||
>{x: true} : { x?: boolean; }
|
||||
>x : boolean
|
||||
>true : boolean
|
||||
|
||||
x; // string | boolean
|
||||
>x : string | boolean
|
||||
|
||||
({y: x = /a/} = {y: 1});
|
||||
>({y: x = /a/} = {y: 1}) : { y?: number; }
|
||||
>{y: x = /a/} = {y: 1} : { y?: number; }
|
||||
>{y: x = /a/} : { y?: RegExp; }
|
||||
>y : RegExp
|
||||
>x = /a/ : RegExp
|
||||
>x : string | number | boolean | RegExp
|
||||
>/a/ : RegExp
|
||||
>{y: 1} : { y?: number; }
|
||||
>y : number
|
||||
>1 : number
|
||||
|
||||
x; // number | RegExp
|
||||
>x : number | RegExp
|
||||
|
||||
let a: string[];
|
||||
>a : string[]
|
||||
|
||||
for (x of a) {
|
||||
>x : string | number | boolean | RegExp
|
||||
>a : string[]
|
||||
|
||||
x; // string
|
||||
>x : string
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user