mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-14 02:15:12 -06:00
Adding selected tests from #6196
This commit is contained in:
parent
868d5e602f
commit
82c26cd1ef
@ -0,0 +1,3 @@
|
||||
var a = "foo" === "bar" as string;
|
||||
var b = "foo" !== ("bar" as string);
|
||||
var c = "foo" == (<any>"bar");
|
||||
@ -0,0 +1,6 @@
|
||||
type EnhancedString = string & { enhancements: any };
|
||||
|
||||
var a = "foo" === "bar" as "baz";
|
||||
var b = "foo" !== ("bar" as "foo");
|
||||
var c = "foo" == (<number>"bar");
|
||||
var d = "foo" === ("bar" as EnhancedString);
|
||||
@ -0,0 +1,22 @@
|
||||
let x: "foo";
|
||||
let y: "foo" | "bar";
|
||||
|
||||
let b: boolean;
|
||||
b = x === y;
|
||||
b = "foo" === y
|
||||
b = y === "foo";
|
||||
b = "foo" === "bar";
|
||||
b = "bar" === x;
|
||||
b = x === "bar";
|
||||
b = y === "bar";
|
||||
b = "bar" === y;
|
||||
|
||||
b = x !== y;
|
||||
b = "foo" !== y
|
||||
b = y !== "foo";
|
||||
b = "foo" !== "bar";
|
||||
b = "bar" !== x;
|
||||
b = x !== "bar";
|
||||
b = y !== "bar";
|
||||
b = "bar" !== y;
|
||||
|
||||
@ -0,0 +1,22 @@
|
||||
let x: "foo";
|
||||
let y: "foo" | "bar";
|
||||
|
||||
let b: boolean;
|
||||
b = x == y;
|
||||
b = "foo" == y
|
||||
b = y == "foo";
|
||||
b = "foo" == "bar";
|
||||
b = "bar" == x;
|
||||
b = x == "bar";
|
||||
b = y == "bar";
|
||||
b = "bar" == y;
|
||||
|
||||
b = x != y;
|
||||
b = "foo" != y
|
||||
b = y != "foo";
|
||||
b = "foo" != "bar";
|
||||
b = "bar" != x;
|
||||
b = x != "bar";
|
||||
b = y != "bar";
|
||||
b = "bar" != y;
|
||||
|
||||
@ -0,0 +1,29 @@
|
||||
interface Runnable {
|
||||
isRunning: boolean;
|
||||
}
|
||||
|
||||
interface Refrigerator extends Runnable {
|
||||
makesFoodGoBrrr: boolean;
|
||||
}
|
||||
|
||||
let x: string;
|
||||
let y: "foo" | Refrigerator;
|
||||
|
||||
let b: boolean;
|
||||
b = x === y;
|
||||
b = "foo" === y
|
||||
b = y === "foo";
|
||||
b = "foo" === "bar";
|
||||
b = "bar" === x;
|
||||
b = x === "bar";
|
||||
b = y === "bar";
|
||||
b = "bar" === y;
|
||||
|
||||
b = x !== y;
|
||||
b = "foo" !== y
|
||||
b = y !== "foo";
|
||||
b = "foo" !== "bar";
|
||||
b = "bar" !== x;
|
||||
b = x !== "bar";
|
||||
b = y !== "bar";
|
||||
b = "bar" !== y;
|
||||
@ -0,0 +1,29 @@
|
||||
interface Runnable {
|
||||
isRunning: boolean;
|
||||
}
|
||||
|
||||
interface Refrigerator extends Runnable {
|
||||
makesFoodGoBrrr: boolean;
|
||||
}
|
||||
|
||||
let x: string;
|
||||
let y: "foo" | Refrigerator;
|
||||
|
||||
let b: boolean;
|
||||
b = x == y;
|
||||
b = "foo" == y
|
||||
b = y == "foo";
|
||||
b = "foo" == "bar";
|
||||
b = "bar" == x;
|
||||
b = x == "bar";
|
||||
b = y == "bar";
|
||||
b = "bar" == y;
|
||||
|
||||
b = x != y;
|
||||
b = "foo" != y
|
||||
b = y != "foo";
|
||||
b = "foo" != "bar";
|
||||
b = "bar" != x;
|
||||
b = x != "bar";
|
||||
b = y != "bar";
|
||||
b = "bar" != y;
|
||||
@ -0,0 +1,12 @@
|
||||
let x: "foo";
|
||||
let y: "foo" | "bar";
|
||||
|
||||
switch (x) {
|
||||
case "foo":
|
||||
break;
|
||||
case "bar":
|
||||
break;
|
||||
case y:
|
||||
y;
|
||||
break;
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
let x: "foo";
|
||||
let y: "foo" | "bar";
|
||||
|
||||
let b: boolean;
|
||||
b = x == y;
|
||||
b = "foo" == y
|
||||
b = y == "foo";
|
||||
b = "foo" == "bar";
|
||||
|
||||
b = x != y;
|
||||
b = "foo" != y
|
||||
b = y != "foo";
|
||||
b = "foo" != "bar";
|
||||
|
||||
@ -0,0 +1,26 @@
|
||||
let x: "foo";
|
||||
let y: "foo" | "bar";
|
||||
let z: "bar";
|
||||
|
||||
declare function randBool(): boolean;
|
||||
|
||||
switch (x) {
|
||||
case randBool() ? "foo" : "baz":
|
||||
break;
|
||||
case (randBool() ? ("bar") : "baz" ? "bar" : "baz"):
|
||||
break;
|
||||
case (("bar")):
|
||||
break;
|
||||
case (x, y, ("baz")):
|
||||
x;
|
||||
y;
|
||||
break;
|
||||
case (("foo" || ("bar"))):
|
||||
break;
|
||||
case (("bar" || ("baz"))):
|
||||
break;
|
||||
case z || "baz":
|
||||
case "baz" || z:
|
||||
z;
|
||||
break;
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
let x: "foo";
|
||||
let y: "foo" | "bar";
|
||||
|
||||
declare function randBool(): boolean;
|
||||
|
||||
switch (y) {
|
||||
case "foo", x:
|
||||
break;
|
||||
case x, "foo":
|
||||
break;
|
||||
case x, "baz":
|
||||
break;
|
||||
case "baz", x:
|
||||
break;
|
||||
case "baz" && "bar":
|
||||
break;
|
||||
case "baz" && ("foo" || "bar"):
|
||||
break;
|
||||
case "bar" && ("baz" || "bar"):
|
||||
break;
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
let fooOrBar: "foo" | "bar";
|
||||
|
||||
let a = "foo" as "bar";
|
||||
let b = "bar" as "foo";
|
||||
let c = fooOrBar as "foo";
|
||||
let d = fooOrBar as "bar";
|
||||
let e = fooOrBar as "baz";
|
||||
let f = "baz" as typeof fooOrBar;
|
||||
Loading…
x
Reference in New Issue
Block a user