Skip to content

Commit 03176d3

Browse files
committed
Add tests for downlevel for-of type checking
1 parent 29cbe9d commit 03176d3

45 files changed

Lines changed: 350 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
tests/cases/conformance/statements/for-ofStatements/ES3For-ofTypeCheck1.ts(1,15): error TS2494: Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher.
2+
3+
4+
==== tests/cases/conformance/statements/for-ofStatements/ES3For-ofTypeCheck1.ts (1 errors) ====
5+
for (var v of "") { }
6+
~~
7+
!!! error TS2494: Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
//// [ES3For-ofTypeCheck1.ts]
2+
for (var v of "") { }
3+
4+
//// [ES3For-ofTypeCheck1.js]
5+
for (var _i = 0, _a = ""; _i < _a.length; _i++) {
6+
var v = _a[_i];
7+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
//// [ES3For-ofTypeCheck2.ts]
2+
for (var v of [true]) { }
3+
4+
//// [ES3For-ofTypeCheck2.js]
5+
for (var _i = 0, _a = [
6+
true
7+
]; _i < _a.length; _i++) {
8+
var v = _a[_i];
9+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
=== tests/cases/conformance/statements/for-ofStatements/ES3For-ofTypeCheck2.ts ===
2+
for (var v of [true]) { }
3+
>v : boolean
4+
>[true] : boolean[]
5+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
tests/cases/conformance/statements/for-ofStatements/ES3For-ofTypeCheck4.ts(2,17): error TS2494: Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher.
2+
3+
4+
==== tests/cases/conformance/statements/for-ofStatements/ES3For-ofTypeCheck4.ts (1 errors) ====
5+
var union: string | string[];
6+
for (const v of union) { }
7+
~~~~~
8+
!!! error TS2494: Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
//// [ES3For-ofTypeCheck4.ts]
2+
var union: string | string[];
3+
for (const v of union) { }
4+
5+
//// [ES3For-ofTypeCheck4.js]
6+
var union;
7+
for (var _i = 0; _i < union.length; _i++) {
8+
var v = union[_i];
9+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
//// [ES3For-ofTypeCheck6.ts]
2+
var union: string[] | number[];
3+
for (var v of union) { }
4+
5+
//// [ES3For-ofTypeCheck6.js]
6+
var union;
7+
for (var _i = 0; _i < union.length; _i++) {
8+
var v = union[_i];
9+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
=== tests/cases/conformance/statements/for-ofStatements/ES3For-ofTypeCheck6.ts ===
2+
var union: string[] | number[];
3+
>union : string[] | number[]
4+
5+
for (var v of union) { }
6+
>v : string | number
7+
>union : string[] | number[]
8+
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
//// [ES5For-ofTypeCheck1.ts]
2+
for (var v of "") { }
3+
4+
//// [ES5For-ofTypeCheck1.js]
5+
for (var _i = 0, _a = ""; _i < _a.length; _i++) {
6+
var v = _a[_i];
7+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
=== tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck1.ts ===
2+
for (var v of "") { }
3+
>v : string
4+

0 commit comments

Comments
 (0)