1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
=== tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements04.ts ===
let x: "foo";
>x : "foo"
let y: "foo" | "bar";
>y : "foo" | "bar"
declare function randBool(): boolean;
>randBool : () => boolean
switch (y) {
>y : "foo" | "bar"
case "foo", x:
>"foo", x : "foo"
>"foo" : "foo"
>x : "foo"
break;
case x, "foo":
>x, "foo" : "foo"
>x : "foo"
>"foo" : "foo"
break;
case x, "baz":
>x, "baz" : "baz"
>x : "foo"
>"baz" : "baz"
break;
case "baz", x:
>"baz", x : "foo"
>"baz" : "baz"
>x : "foo"
break;
case "baz" && "bar":
>"baz" && "bar" : "" | "bar"
>"baz" : "baz"
>"bar" : "bar"
break;
case "baz" && ("foo" || "bar"):
>"baz" && ("foo" || "bar") : "" | "foo" | "bar"
>"baz" : "baz"
>("foo" || "bar") : "foo" | "bar"
>"foo" || "bar" : "foo" | "bar"
>"foo" : "foo"
>"bar" : "bar"
break;
case "bar" && ("baz" || "bar"):
>"bar" && ("baz" || "bar") : "" | "bar" | "baz"
>"bar" : "bar"
>("baz" || "bar") : "bar" | "baz"
>"baz" || "bar" : "bar" | "baz"
>"baz" : "baz"
>"bar" : "bar"
break;
}
|