Add regression test

This commit is contained in:
Anders Hejlsberg 2017-08-30 17:14:16 -07:00
parent effa2597fa
commit 42b66066f9
4 changed files with 240 additions and 0 deletions

View File

@ -0,0 +1,36 @@
//// [contextualTypeLogicalOr.ts]
// Repro from #18005
let x = 123;
var a =
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4];
//// [contextualTypeLogicalOr.js]
// Repro from #18005
var x = 123;
var a = x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4];

View File

@ -0,0 +1,48 @@
=== tests/cases/compiler/contextualTypeLogicalOr.ts ===
// Repro from #18005
let x = 123;
>x : Symbol(x, Decl(contextualTypeLogicalOr.ts, 2, 3))
var a =
>a : Symbol(a, Decl(contextualTypeLogicalOr.ts, 3, 3))
x && [1, 2, 3, 4] ||
>x : Symbol(x, Decl(contextualTypeLogicalOr.ts, 2, 3))
x && [1, 2, 3, 4] ||
>x : Symbol(x, Decl(contextualTypeLogicalOr.ts, 2, 3))
x && [1, 2, 3, 4] ||
>x : Symbol(x, Decl(contextualTypeLogicalOr.ts, 2, 3))
x && [1, 2, 3, 4] ||
>x : Symbol(x, Decl(contextualTypeLogicalOr.ts, 2, 3))
x && [1, 2, 3, 4] ||
>x : Symbol(x, Decl(contextualTypeLogicalOr.ts, 2, 3))
x && [1, 2, 3, 4] ||
>x : Symbol(x, Decl(contextualTypeLogicalOr.ts, 2, 3))
x && [1, 2, 3, 4] ||
>x : Symbol(x, Decl(contextualTypeLogicalOr.ts, 2, 3))
x && [1, 2, 3, 4] ||
>x : Symbol(x, Decl(contextualTypeLogicalOr.ts, 2, 3))
x && [1, 2, 3, 4] ||
>x : Symbol(x, Decl(contextualTypeLogicalOr.ts, 2, 3))
x && [1, 2, 3, 4] ||
>x : Symbol(x, Decl(contextualTypeLogicalOr.ts, 2, 3))
x && [1, 2, 3, 4] ||
>x : Symbol(x, Decl(contextualTypeLogicalOr.ts, 2, 3))
x && [1, 2, 3, 4] ||
>x : Symbol(x, Decl(contextualTypeLogicalOr.ts, 2, 3))
x && [1, 2, 3, 4];
>x : Symbol(x, Decl(contextualTypeLogicalOr.ts, 2, 3))

View File

@ -0,0 +1,139 @@
=== tests/cases/compiler/contextualTypeLogicalOr.ts ===
// Repro from #18005
let x = 123;
>x : number
>123 : 123
var a =
>a : number[]
x && [1, 2, 3, 4] ||
>x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] : number[]
>x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] : number[]
>x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] : number[]
>x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] : number[]
>x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] : number[]
>x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] : number[]
>x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] : number[]
>x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] : number[]
>x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] : number[]
>x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] : number[]
>x && [1, 2, 3, 4] || x && [1, 2, 3, 4] || x && [1, 2, 3, 4] : number[]
>x && [1, 2, 3, 4] || x && [1, 2, 3, 4] : number[]
>x && [1, 2, 3, 4] : number[]
>x : number
>[1, 2, 3, 4] : number[]
>1 : 1
>2 : 2
>3 : 3
>4 : 4
x && [1, 2, 3, 4] ||
>x && [1, 2, 3, 4] : number[]
>x : number
>[1, 2, 3, 4] : number[]
>1 : 1
>2 : 2
>3 : 3
>4 : 4
x && [1, 2, 3, 4] ||
>x && [1, 2, 3, 4] : number[]
>x : number
>[1, 2, 3, 4] : number[]
>1 : 1
>2 : 2
>3 : 3
>4 : 4
x && [1, 2, 3, 4] ||
>x && [1, 2, 3, 4] : number[]
>x : number
>[1, 2, 3, 4] : number[]
>1 : 1
>2 : 2
>3 : 3
>4 : 4
x && [1, 2, 3, 4] ||
>x && [1, 2, 3, 4] : number[]
>x : number
>[1, 2, 3, 4] : number[]
>1 : 1
>2 : 2
>3 : 3
>4 : 4
x && [1, 2, 3, 4] ||
>x && [1, 2, 3, 4] : number[]
>x : number
>[1, 2, 3, 4] : number[]
>1 : 1
>2 : 2
>3 : 3
>4 : 4
x && [1, 2, 3, 4] ||
>x && [1, 2, 3, 4] : number[]
>x : number
>[1, 2, 3, 4] : number[]
>1 : 1
>2 : 2
>3 : 3
>4 : 4
x && [1, 2, 3, 4] ||
>x && [1, 2, 3, 4] : number[]
>x : number
>[1, 2, 3, 4] : number[]
>1 : 1
>2 : 2
>3 : 3
>4 : 4
x && [1, 2, 3, 4] ||
>x && [1, 2, 3, 4] : number[]
>x : number
>[1, 2, 3, 4] : number[]
>1 : 1
>2 : 2
>3 : 3
>4 : 4
x && [1, 2, 3, 4] ||
>x && [1, 2, 3, 4] : number[]
>x : number
>[1, 2, 3, 4] : number[]
>1 : 1
>2 : 2
>3 : 3
>4 : 4
x && [1, 2, 3, 4] ||
>x && [1, 2, 3, 4] : number[]
>x : number
>[1, 2, 3, 4] : number[]
>1 : 1
>2 : 2
>3 : 3
>4 : 4
x && [1, 2, 3, 4] ||
>x && [1, 2, 3, 4] : number[]
>x : number
>[1, 2, 3, 4] : number[]
>1 : 1
>2 : 2
>3 : 3
>4 : 4
x && [1, 2, 3, 4];
>x && [1, 2, 3, 4] : number[]
>x : number
>[1, 2, 3, 4] : number[]
>1 : 1
>2 : 2
>3 : 3
>4 : 4

View File

@ -0,0 +1,17 @@
// Repro from #18005
let x = 123;
var a =
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4] ||
x && [1, 2, 3, 4];