diff --git a/tests/baselines/reference/narrowingPlainJsNoCrash1.js b/tests/baselines/reference/narrowingPlainJsNoCrash1.js new file mode 100644 index 0000000000000..f83a5c5c0108b --- /dev/null +++ b/tests/baselines/reference/narrowingPlainJsNoCrash1.js @@ -0,0 +1,21 @@ +//// [tests/cases/compiler/narrowingPlainJsNoCrash1.ts] //// + +//// [index.js] +// https://github.com/microsoft/TypeScript/issues/59594 + +var a$b = {}; +var c, d; +d = a$b; +while (d !== a$b); +while ((c = a$b != a$b)) c.e; + + +//// [index.js] +// https://github.com/microsoft/TypeScript/issues/59594 +var a$b = {}; +var c, d; +d = a$b; +while (d !== a$b) + ; +while ((c = a$b != a$b)) + c.e; diff --git a/tests/baselines/reference/narrowingPlainJsNoCrash1.symbols b/tests/baselines/reference/narrowingPlainJsNoCrash1.symbols new file mode 100644 index 0000000000000..5fc0fbfa238ba --- /dev/null +++ b/tests/baselines/reference/narrowingPlainJsNoCrash1.symbols @@ -0,0 +1,26 @@ +//// [tests/cases/compiler/narrowingPlainJsNoCrash1.ts] //// + +=== index.js === +// https://github.com/microsoft/TypeScript/issues/59594 + +var a$b = {}; +>a$b : Symbol(a$b, Decl(index.js, 2, 3)) + +var c, d; +>c : Symbol(c, Decl(index.js, 3, 3)) +>d : Symbol(d, Decl(index.js, 3, 6)) + +d = a$b; +>d : Symbol(d, Decl(index.js, 3, 6)) +>a$b : Symbol(a$b, Decl(index.js, 2, 3)) + +while (d !== a$b); +>d : Symbol(d, Decl(index.js, 3, 6)) +>a$b : Symbol(a$b, Decl(index.js, 2, 3)) + +while ((c = a$b != a$b)) c.e; +>c : Symbol(c, Decl(index.js, 3, 3)) +>a$b : Symbol(a$b, Decl(index.js, 2, 3)) +>a$b : Symbol(a$b, Decl(index.js, 2, 3)) +>c : Symbol(c, Decl(index.js, 3, 3)) + diff --git a/tests/baselines/reference/narrowingPlainJsNoCrash1.types b/tests/baselines/reference/narrowingPlainJsNoCrash1.types new file mode 100644 index 0000000000000..364d7c4f6de77 --- /dev/null +++ b/tests/baselines/reference/narrowingPlainJsNoCrash1.types @@ -0,0 +1,48 @@ +//// [tests/cases/compiler/narrowingPlainJsNoCrash1.ts] //// + +=== index.js === +// https://github.com/microsoft/TypeScript/issues/59594 + +var a$b = {}; +>a$b : {} +> : ^^ +>{} : {} +> : ^^ + +var c, d; +>c : any +>d : any + +d = a$b; +>d = a$b : {} +> : ^^ +>d : any +>a$b : {} +> : ^^ + +while (d !== a$b); +>d !== a$b : boolean +> : ^^^^^^^ +>d : {} +> : ^^ +>a$b : {} +> : ^^ + +while ((c = a$b != a$b)) c.e; +>(c = a$b != a$b) : boolean +> : ^^^^^^^ +>c = a$b != a$b : boolean +> : ^^^^^^^ +>c : any +>a$b != a$b : boolean +> : ^^^^^^^ +>a$b : {} +> : ^^ +>a$b : {} +> : ^^ +>c.e : error +>c : true +> : ^^^^ +>e : any +> : ^^^ + diff --git a/tests/cases/compiler/narrowingPlainJsNoCrash1.ts b/tests/cases/compiler/narrowingPlainJsNoCrash1.ts new file mode 100644 index 0000000000000..260d04188ed39 --- /dev/null +++ b/tests/cases/compiler/narrowingPlainJsNoCrash1.ts @@ -0,0 +1,13 @@ +// @allowJs: true +// @checkJs: false +// @outDir: true + +// @filename: index.js + +// https://github.com/microsoft/TypeScript/issues/59594 + +var a$b = {}; +var c, d; +d = a$b; +while (d !== a$b); +while ((c = a$b != a$b)) c.e;