Skip to content

Commit

Permalink
add additional tests
Browse files Browse the repository at this point in the history
  • Loading branch information
a-tarasyuk committed Jun 22, 2022
1 parent 0371187 commit a6eb610
Show file tree
Hide file tree
Showing 4 changed files with 103 additions and 0 deletions.
@@ -0,0 +1,23 @@
//// [typeGuardNarrowsIndexedAccessOfKnownProperty10.ts]
enum E {
A = "A",
B = "B"
}

declare const m: { [K in E]: string | null };

if (m[E.A] !== null) {
m[E.A].toString(); // string
}


//// [typeGuardNarrowsIndexedAccessOfKnownProperty10.js]
"use strict";
var E;
(function (E) {
E["A"] = "A";
E["B"] = "B";
})(E || (E = {}));
if (m[E.A] !== null) {
m[E.A].toString(); // string
}
@@ -0,0 +1,31 @@
=== tests/cases/compiler/typeGuardNarrowsIndexedAccessOfKnownProperty10.ts ===
enum E {
>E : Symbol(E, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty10.ts, 0, 0))

A = "A",
>A : Symbol(E.A, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty10.ts, 0, 8))

B = "B"
>B : Symbol(E.B, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty10.ts, 1, 12))
}

declare const m: { [K in E]: string | null };
>m : Symbol(m, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty10.ts, 5, 13))
>K : Symbol(K, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty10.ts, 5, 20))
>E : Symbol(E, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty10.ts, 0, 0))

if (m[E.A] !== null) {
>m : Symbol(m, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty10.ts, 5, 13))
>E.A : Symbol(E.A, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty10.ts, 0, 8))
>E : Symbol(E, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty10.ts, 0, 0))
>A : Symbol(E.A, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty10.ts, 0, 8))

m[E.A].toString(); // string
>m[E.A].toString : Symbol(String.toString, Decl(lib.es5.d.ts, --, --))
>m : Symbol(m, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty10.ts, 5, 13))
>E.A : Symbol(E.A, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty10.ts, 0, 8))
>E : Symbol(E, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty10.ts, 0, 0))
>A : Symbol(E.A, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty10.ts, 0, 8))
>toString : Symbol(String.toString, Decl(lib.es5.d.ts, --, --))
}

@@ -0,0 +1,37 @@
=== tests/cases/compiler/typeGuardNarrowsIndexedAccessOfKnownProperty10.ts ===
enum E {
>E : E

A = "A",
>A : E.A
>"A" : "A"

B = "B"
>B : E.B
>"B" : "B"
}

declare const m: { [K in E]: string | null };
>m : { A: string | null; B: string | null; }
>null : null

if (m[E.A] !== null) {
>m[E.A] !== null : boolean
>m[E.A] : string | null
>m : { A: string | null; B: string | null; }
>E.A : E.A
>E : typeof E
>A : E.A
>null : null

m[E.A].toString(); // string
>m[E.A].toString() : string
>m[E.A].toString : () => string
>m[E.A] : string
>m : { A: string | null; B: string | null; }
>E.A : E.A
>E : typeof E
>A : E.A
>toString : () => string
}

@@ -0,0 +1,12 @@
// @strict: true

enum E {
A = "A",
B = "B"
}

declare const m: { [K in E]: string | null };

if (m[E.A] !== null) {
m[E.A].toString(); // string
}

0 comments on commit a6eb610

Please sign in to comment.