Skip to content

Commit f1f6af8

Browse files
committed
Add regression test
1 parent d532628 commit f1f6af8

File tree

5 files changed

+85
-0
lines changed

5 files changed

+85
-0
lines changed

tests/baselines/reference/instantiationExpressionErrors.errors.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,4 +140,10 @@ tests/cases/conformance/types/typeParameters/typeArgumentLists/instantiationExpr
140140
protected specialFoo = f<string>
141141
protected bar = 123
142142
}
143+
144+
// Repro from #49551
145+
146+
const enum MyVer { v1 = 1, v2 = 2 }
147+
let ver = 21
148+
const a = ver < (MyVer.v1 >= MyVer.v2 ? MyVer.v1 : MyVer.v2)
143149

tests/baselines/reference/instantiationExpressionErrors.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,12 @@ class C4 {
9696
protected specialFoo = f<string>
9797
protected bar = 123
9898
}
99+
100+
// Repro from #49551
101+
102+
const enum MyVer { v1 = 1, v2 = 2 }
103+
let ver = 21
104+
const a = ver < (MyVer.v1 >= MyVer.v2 ? MyVer.v1 : MyVer.v2)
99105

100106

101107
//// [instantiationExpressionErrors.js]
@@ -179,6 +185,8 @@ var C4 = /** @class */ (function () {
179185
}
180186
return C4;
181187
}());
188+
var ver = 21;
189+
var a = ver < (1 /* MyVer.v1 */ >= 2 /* MyVer.v2 */ ? 1 /* MyVer.v1 */ : 2 /* MyVer.v2 */);
182190

183191

184192
//// [instantiationExpressionErrors.d.ts]
@@ -283,3 +291,9 @@ declare class C4 {
283291
};
284292
protected bar: number;
285293
}
294+
declare const enum MyVer {
295+
v1 = 1,
296+
v2 = 2
297+
}
298+
declare let ver: number;
299+
declare const a: boolean;

tests/baselines/reference/instantiationExpressionErrors.symbols

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,3 +239,29 @@ class C4 {
239239
>bar : Symbol(C4.bar, Decl(instantiationExpressionErrors.ts, 94, 36))
240240
}
241241

242+
// Repro from #49551
243+
244+
const enum MyVer { v1 = 1, v2 = 2 }
245+
>MyVer : Symbol(MyVer, Decl(instantiationExpressionErrors.ts, 96, 1))
246+
>v1 : Symbol(MyVer.v1, Decl(instantiationExpressionErrors.ts, 100, 18))
247+
>v2 : Symbol(MyVer.v2, Decl(instantiationExpressionErrors.ts, 100, 26))
248+
249+
let ver = 21
250+
>ver : Symbol(ver, Decl(instantiationExpressionErrors.ts, 101, 3))
251+
252+
const a = ver < (MyVer.v1 >= MyVer.v2 ? MyVer.v1 : MyVer.v2)
253+
>a : Symbol(a, Decl(instantiationExpressionErrors.ts, 102, 5))
254+
>ver : Symbol(ver, Decl(instantiationExpressionErrors.ts, 101, 3))
255+
>MyVer.v1 : Symbol(MyVer.v1, Decl(instantiationExpressionErrors.ts, 100, 18))
256+
>MyVer : Symbol(MyVer, Decl(instantiationExpressionErrors.ts, 96, 1))
257+
>v1 : Symbol(MyVer.v1, Decl(instantiationExpressionErrors.ts, 100, 18))
258+
>MyVer.v2 : Symbol(MyVer.v2, Decl(instantiationExpressionErrors.ts, 100, 26))
259+
>MyVer : Symbol(MyVer, Decl(instantiationExpressionErrors.ts, 96, 1))
260+
>v2 : Symbol(MyVer.v2, Decl(instantiationExpressionErrors.ts, 100, 26))
261+
>MyVer.v1 : Symbol(MyVer.v1, Decl(instantiationExpressionErrors.ts, 100, 18))
262+
>MyVer : Symbol(MyVer, Decl(instantiationExpressionErrors.ts, 96, 1))
263+
>v1 : Symbol(MyVer.v1, Decl(instantiationExpressionErrors.ts, 100, 18))
264+
>MyVer.v2 : Symbol(MyVer.v2, Decl(instantiationExpressionErrors.ts, 100, 26))
265+
>MyVer : Symbol(MyVer, Decl(instantiationExpressionErrors.ts, 96, 1))
266+
>v2 : Symbol(MyVer.v2, Decl(instantiationExpressionErrors.ts, 100, 26))
267+

tests/baselines/reference/instantiationExpressionErrors.types

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,3 +325,36 @@ class C4 {
325325
>123 : 123
326326
}
327327

328+
// Repro from #49551
329+
330+
const enum MyVer { v1 = 1, v2 = 2 }
331+
>MyVer : MyVer
332+
>v1 : MyVer.v1
333+
>1 : 1
334+
>v2 : MyVer.v2
335+
>2 : 2
336+
337+
let ver = 21
338+
>ver : number
339+
>21 : 21
340+
341+
const a = ver < (MyVer.v1 >= MyVer.v2 ? MyVer.v1 : MyVer.v2)
342+
>a : boolean
343+
>ver < (MyVer.v1 >= MyVer.v2 ? MyVer.v1 : MyVer.v2) : boolean
344+
>ver : number
345+
>(MyVer.v1 >= MyVer.v2 ? MyVer.v1 : MyVer.v2) : MyVer
346+
>MyVer.v1 >= MyVer.v2 ? MyVer.v1 : MyVer.v2 : MyVer
347+
>MyVer.v1 >= MyVer.v2 : boolean
348+
>MyVer.v1 : MyVer.v1
349+
>MyVer : typeof MyVer
350+
>v1 : MyVer.v1
351+
>MyVer.v2 : MyVer.v2
352+
>MyVer : typeof MyVer
353+
>v2 : MyVer.v2
354+
>MyVer.v1 : MyVer.v1
355+
>MyVer : typeof MyVer
356+
>v1 : MyVer.v1
357+
>MyVer.v2 : MyVer.v2
358+
>MyVer : typeof MyVer
359+
>v2 : MyVer.v2
360+

tests/cases/conformance/types/typeParameters/typeArgumentLists/instantiationExpressionErrors.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,3 +98,9 @@ class C4 {
9898
protected specialFoo = f<string>
9999
protected bar = 123
100100
}
101+
102+
// Repro from #49551
103+
104+
const enum MyVer { v1 = 1, v2 = 2 }
105+
let ver = 21
106+
const a = ver < (MyVer.v1 >= MyVer.v2 ? MyVer.v1 : MyVer.v2)

0 commit comments

Comments
 (0)