diff --git a/tests/baselines/reference/for-of51.errors.txt b/tests/baselines/reference/for-of51.errors.txt new file mode 100644 index 00000000000..54a6eb9d89c --- /dev/null +++ b/tests/baselines/reference/for-of51.errors.txt @@ -0,0 +1,7 @@ +tests/cases/conformance/es6/for-ofStatements/for-of51.ts(1,10): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. + + +==== tests/cases/conformance/es6/for-ofStatements/for-of51.ts (1 errors) ==== + for (let let of []) {} + ~~~ +!!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. \ No newline at end of file diff --git a/tests/baselines/reference/for-of51.js b/tests/baselines/reference/for-of51.js new file mode 100644 index 00000000000..cae8c8b38fe --- /dev/null +++ b/tests/baselines/reference/for-of51.js @@ -0,0 +1,5 @@ +//// [for-of51.ts] +for (let let of []) {} + +//// [for-of51.js] +for (let let of []) { } diff --git a/tests/baselines/reference/for-of52.errors.txt b/tests/baselines/reference/for-of52.errors.txt new file mode 100644 index 00000000000..5110768e104 --- /dev/null +++ b/tests/baselines/reference/for-of52.errors.txt @@ -0,0 +1,10 @@ +tests/cases/conformance/es6/for-ofStatements/for-of52.ts(1,11): error TS2451: Cannot redeclare block-scoped variable 'v'. +tests/cases/conformance/es6/for-ofStatements/for-of52.ts(1,14): error TS2451: Cannot redeclare block-scoped variable 'v'. + + +==== tests/cases/conformance/es6/for-ofStatements/for-of52.ts (2 errors) ==== + for (let [v, v] of [[]]) {} + ~ +!!! error TS2451: Cannot redeclare block-scoped variable 'v'. + ~ +!!! error TS2451: Cannot redeclare block-scoped variable 'v'. \ No newline at end of file diff --git a/tests/baselines/reference/for-of52.js b/tests/baselines/reference/for-of52.js new file mode 100644 index 00000000000..48e1dca936c --- /dev/null +++ b/tests/baselines/reference/for-of52.js @@ -0,0 +1,5 @@ +//// [for-of52.ts] +for (let [v, v] of [[]]) {} + +//// [for-of52.js] +for (let [v, v] of [[]]) { } diff --git a/tests/baselines/reference/for-of53.js b/tests/baselines/reference/for-of53.js new file mode 100644 index 00000000000..810d23644a6 --- /dev/null +++ b/tests/baselines/reference/for-of53.js @@ -0,0 +1,9 @@ +//// [for-of53.ts] +for (let v of []) { + var v; +} + +//// [for-of53.js] +for (let v of []) { + var v; +} diff --git a/tests/baselines/reference/for-of53.types b/tests/baselines/reference/for-of53.types new file mode 100644 index 00000000000..475d63e9b5a --- /dev/null +++ b/tests/baselines/reference/for-of53.types @@ -0,0 +1,8 @@ +=== tests/cases/conformance/es6/for-ofStatements/for-of53.ts === +for (let v of []) { +>v : any +>[] : undefined[] + + var v; +>v : any +} diff --git a/tests/baselines/reference/for-of54.errors.txt b/tests/baselines/reference/for-of54.errors.txt new file mode 100644 index 00000000000..cb040c44382 --- /dev/null +++ b/tests/baselines/reference/for-of54.errors.txt @@ -0,0 +1,9 @@ +tests/cases/conformance/es6/for-ofStatements/for-of54.ts(2,9): error TS2481: Cannot initialize outer scoped variable 'v' in the same scope as block scoped declaration 'v'. + + +==== tests/cases/conformance/es6/for-ofStatements/for-of54.ts (1 errors) ==== + for (let v of []) { + var v = 0; + ~ +!!! error TS2481: Cannot initialize outer scoped variable 'v' in the same scope as block scoped declaration 'v'. + } \ No newline at end of file diff --git a/tests/baselines/reference/for-of54.js b/tests/baselines/reference/for-of54.js new file mode 100644 index 00000000000..442e6e86146 --- /dev/null +++ b/tests/baselines/reference/for-of54.js @@ -0,0 +1,9 @@ +//// [for-of54.ts] +for (let v of []) { + var v = 0; +} + +//// [for-of54.js] +for (let v of []) { + var v = 0; +} diff --git a/tests/baselines/reference/for-of55.js b/tests/baselines/reference/for-of55.js new file mode 100644 index 00000000000..a0f949c6ce5 --- /dev/null +++ b/tests/baselines/reference/for-of55.js @@ -0,0 +1,11 @@ +//// [for-of55.ts] +let v = [1]; +for (let v of v) { + v; +} + +//// [for-of55.js] +let v = [1]; +for (let v of v) { + v; +} diff --git a/tests/baselines/reference/for-of55.types b/tests/baselines/reference/for-of55.types new file mode 100644 index 00000000000..b0f5aab3fee --- /dev/null +++ b/tests/baselines/reference/for-of55.types @@ -0,0 +1,12 @@ +=== tests/cases/conformance/es6/for-ofStatements/for-of55.ts === +let v = [1]; +>v : number[] +>[1] : number[] + +for (let v of v) { +>v : any +>v : any + + v; +>v : any +} diff --git a/tests/cases/conformance/es6/for-ofStatements/for-of51.ts b/tests/cases/conformance/es6/for-ofStatements/for-of51.ts new file mode 100644 index 00000000000..a97b05d7fe9 --- /dev/null +++ b/tests/cases/conformance/es6/for-ofStatements/for-of51.ts @@ -0,0 +1,2 @@ +//@target: ES6 +for (let let of []) {} \ No newline at end of file diff --git a/tests/cases/conformance/es6/for-ofStatements/for-of52.ts b/tests/cases/conformance/es6/for-ofStatements/for-of52.ts new file mode 100644 index 00000000000..80cc680060d --- /dev/null +++ b/tests/cases/conformance/es6/for-ofStatements/for-of52.ts @@ -0,0 +1,2 @@ +//@target: ES6 +for (let [v, v] of [[]]) {} \ No newline at end of file diff --git a/tests/cases/conformance/es6/for-ofStatements/for-of53.ts b/tests/cases/conformance/es6/for-ofStatements/for-of53.ts new file mode 100644 index 00000000000..34db2bab704 --- /dev/null +++ b/tests/cases/conformance/es6/for-ofStatements/for-of53.ts @@ -0,0 +1,4 @@ +//@target: ES6 +for (let v of []) { + var v; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/for-ofStatements/for-of54.ts b/tests/cases/conformance/es6/for-ofStatements/for-of54.ts new file mode 100644 index 00000000000..6cf79ae0945 --- /dev/null +++ b/tests/cases/conformance/es6/for-ofStatements/for-of54.ts @@ -0,0 +1,4 @@ +//@target: ES6 +for (let v of []) { + var v = 0; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/for-ofStatements/for-of55.ts b/tests/cases/conformance/es6/for-ofStatements/for-of55.ts new file mode 100644 index 00000000000..e1d16a3e068 --- /dev/null +++ b/tests/cases/conformance/es6/for-ofStatements/for-of55.ts @@ -0,0 +1,5 @@ +//@target: ES6 +let v = [1]; +for (let v of v) { + v; +} \ No newline at end of file