Rename test, check other CFA branch, test without strictNullChecks

This commit is contained in:
Andrew Branch
2022-09-01 11:41:52 -07:00
parent 46ce0b2582
commit 3e227f7973
8 changed files with 148 additions and 40 deletions
-33
View File
@@ -1,33 +0,0 @@
=== tests/cases/compiler/50527.ts ===
type S =
>S : Symbol(S, Decl(50527.ts, 0, 0))
| { type: 'string', value: string }
>type : Symbol(type, Decl(50527.ts, 1, 3))
>value : Symbol(value, Decl(50527.ts, 1, 19))
| { type: 'number', value: number }
>type : Symbol(type, Decl(50527.ts, 2, 3))
>value : Symbol(value, Decl(50527.ts, 2, 19))
| { type: 'unknown', value: unknown }
>type : Symbol(type, Decl(50527.ts, 3, 3))
>value : Symbol(value, Decl(50527.ts, 3, 20))
| { value: undefined };
>value : Symbol(value, Decl(50527.ts, 4, 3))
declare var s: S
>s : Symbol(s, Decl(50527.ts, 6, 11))
>S : Symbol(S, Decl(50527.ts, 0, 0))
if (s.value !== undefined) {
>s.value : Symbol(value, Decl(50527.ts, 1, 19), Decl(50527.ts, 2, 19), Decl(50527.ts, 3, 20), Decl(50527.ts, 4, 3))
>s : Symbol(s, Decl(50527.ts, 6, 11))
>value : Symbol(value, Decl(50527.ts, 1, 19), Decl(50527.ts, 2, 19), Decl(50527.ts, 3, 20), Decl(50527.ts, 4, 3))
>undefined : Symbol(undefined)
s;
>s : Symbol(s, Decl(50527.ts, 6, 11))
}
@@ -1,4 +1,4 @@
//// [50527.ts]
//// [undefinedAsDiscriminantWithUnknown.ts]
type S =
| { type: 'string', value: string }
| { type: 'number', value: number }
@@ -10,10 +10,14 @@ declare var s: S
if (s.value !== undefined) {
s;
}
else {
s;
}
//// [50527.js]
"use strict";
//// [undefinedAsDiscriminantWithUnknown.js]
if (s.value !== undefined) {
s;
}
else {
s;
}
@@ -0,0 +1,36 @@
=== tests/cases/compiler/undefinedAsDiscriminantWithUnknown.ts ===
type S =
>S : Symbol(S, Decl(undefinedAsDiscriminantWithUnknown.ts, 0, 0))
| { type: 'string', value: string }
>type : Symbol(type, Decl(undefinedAsDiscriminantWithUnknown.ts, 1, 3))
>value : Symbol(value, Decl(undefinedAsDiscriminantWithUnknown.ts, 1, 19))
| { type: 'number', value: number }
>type : Symbol(type, Decl(undefinedAsDiscriminantWithUnknown.ts, 2, 3))
>value : Symbol(value, Decl(undefinedAsDiscriminantWithUnknown.ts, 2, 19))
| { type: 'unknown', value: unknown }
>type : Symbol(type, Decl(undefinedAsDiscriminantWithUnknown.ts, 3, 3))
>value : Symbol(value, Decl(undefinedAsDiscriminantWithUnknown.ts, 3, 20))
| { value: undefined };
>value : Symbol(value, Decl(undefinedAsDiscriminantWithUnknown.ts, 4, 3))
declare var s: S
>s : Symbol(s, Decl(undefinedAsDiscriminantWithUnknown.ts, 6, 11))
>S : Symbol(S, Decl(undefinedAsDiscriminantWithUnknown.ts, 0, 0))
if (s.value !== undefined) {
>s.value : Symbol(value, Decl(undefinedAsDiscriminantWithUnknown.ts, 1, 19), Decl(undefinedAsDiscriminantWithUnknown.ts, 2, 19), Decl(undefinedAsDiscriminantWithUnknown.ts, 3, 20), Decl(undefinedAsDiscriminantWithUnknown.ts, 4, 3))
>s : Symbol(s, Decl(undefinedAsDiscriminantWithUnknown.ts, 6, 11))
>value : Symbol(value, Decl(undefinedAsDiscriminantWithUnknown.ts, 1, 19), Decl(undefinedAsDiscriminantWithUnknown.ts, 2, 19), Decl(undefinedAsDiscriminantWithUnknown.ts, 3, 20), Decl(undefinedAsDiscriminantWithUnknown.ts, 4, 3))
>undefined : Symbol(undefined)
s;
>s : Symbol(s, Decl(undefinedAsDiscriminantWithUnknown.ts, 6, 11))
}
else {
s;
>s : Symbol(s, Decl(undefinedAsDiscriminantWithUnknown.ts, 6, 11))
}
@@ -0,0 +1,36 @@
=== tests/cases/compiler/undefinedAsDiscriminantWithUnknown.ts ===
type S =
>S : { type: 'string'; value: string; } | { type: 'number'; value: number; } | { type: 'unknown'; value: unknown; } | { value: undefined; }
| { type: 'string', value: string }
>type : "string"
>value : string
| { type: 'number', value: number }
>type : "number"
>value : number
| { type: 'unknown', value: unknown }
>type : "unknown"
>value : unknown
| { value: undefined };
>value : undefined
declare var s: S
>s : S
if (s.value !== undefined) {
>s.value !== undefined : boolean
>s.value : unknown
>s : S
>value : unknown
>undefined : undefined
s;
>s : S
}
else {
s;
>s : S
}
@@ -0,0 +1,23 @@
//// [undefinedAsDiscriminantWithUnknown.ts]
type S =
| { type: 'string', value: string }
| { type: 'number', value: number }
| { type: 'unknown', value: unknown }
| { value: undefined };
declare var s: S
if (s.value !== undefined) {
s;
}
else {
s;
}
//// [undefinedAsDiscriminantWithUnknown.js]
if (s.value !== undefined) {
s;
}
else {
s;
}
@@ -0,0 +1,36 @@
=== tests/cases/compiler/undefinedAsDiscriminantWithUnknown.ts ===
type S =
>S : Symbol(S, Decl(undefinedAsDiscriminantWithUnknown.ts, 0, 0))
| { type: 'string', value: string }
>type : Symbol(type, Decl(undefinedAsDiscriminantWithUnknown.ts, 1, 3))
>value : Symbol(value, Decl(undefinedAsDiscriminantWithUnknown.ts, 1, 19))
| { type: 'number', value: number }
>type : Symbol(type, Decl(undefinedAsDiscriminantWithUnknown.ts, 2, 3))
>value : Symbol(value, Decl(undefinedAsDiscriminantWithUnknown.ts, 2, 19))
| { type: 'unknown', value: unknown }
>type : Symbol(type, Decl(undefinedAsDiscriminantWithUnknown.ts, 3, 3))
>value : Symbol(value, Decl(undefinedAsDiscriminantWithUnknown.ts, 3, 20))
| { value: undefined };
>value : Symbol(value, Decl(undefinedAsDiscriminantWithUnknown.ts, 4, 3))
declare var s: S
>s : Symbol(s, Decl(undefinedAsDiscriminantWithUnknown.ts, 6, 11))
>S : Symbol(S, Decl(undefinedAsDiscriminantWithUnknown.ts, 0, 0))
if (s.value !== undefined) {
>s.value : Symbol(value, Decl(undefinedAsDiscriminantWithUnknown.ts, 1, 19), Decl(undefinedAsDiscriminantWithUnknown.ts, 2, 19), Decl(undefinedAsDiscriminantWithUnknown.ts, 3, 20), Decl(undefinedAsDiscriminantWithUnknown.ts, 4, 3))
>s : Symbol(s, Decl(undefinedAsDiscriminantWithUnknown.ts, 6, 11))
>value : Symbol(value, Decl(undefinedAsDiscriminantWithUnknown.ts, 1, 19), Decl(undefinedAsDiscriminantWithUnknown.ts, 2, 19), Decl(undefinedAsDiscriminantWithUnknown.ts, 3, 20), Decl(undefinedAsDiscriminantWithUnknown.ts, 4, 3))
>undefined : Symbol(undefined)
s;
>s : Symbol(s, Decl(undefinedAsDiscriminantWithUnknown.ts, 6, 11))
}
else {
s;
>s : Symbol(s, Decl(undefinedAsDiscriminantWithUnknown.ts, 6, 11))
}
@@ -1,4 +1,4 @@
=== tests/cases/compiler/50527.ts ===
=== tests/cases/compiler/undefinedAsDiscriminantWithUnknown.ts ===
type S =
>S : { type: 'string'; value: string; } | { type: 'number'; value: number; } | { type: 'unknown'; value: unknown; } | { value: undefined; }
@@ -30,4 +30,7 @@ if (s.value !== undefined) {
s;
>s : { type: "string"; value: string; } | { type: "number"; value: number; } | { type: "unknown"; value: unknown; }
}
else {
s;
>s : { type: "unknown"; value: unknown; } | { value: undefined; }
}
@@ -1,4 +1,4 @@
// @strict: true
// @strictNullChecks: true,false
type S =
| { type: 'string', value: string }
@@ -11,3 +11,6 @@ declare var s: S
if (s.value !== undefined) {
s;
}
else {
s;
}