Skip to content

Commit 1ae1464

Browse files
committed
Test cases for let declaration and its use order
1 parent 5aa7086 commit 1ae1464

7 files changed

+106
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
//// [tests/cases/compiler/jsFileCompilationLetDeclarationOrder.ts] ////
2+
3+
//// [b.js]
4+
let a = 10;
5+
b = 30;
6+
7+
//// [a.ts]
8+
let b = 30;
9+
a = 10;
10+
11+
12+
//// [out.js]
13+
var a = 10;
14+
b = 30;
15+
var b = 30;
16+
a = 10;
17+
18+
19+
//// [out.d.ts]
20+
declare let a: number;
21+
declare let b: number;
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
=== tests/cases/compiler/b.js ===
2+
let a = 10;
3+
>a : Symbol(a, Decl(b.js, 0, 3))
4+
5+
b = 30;
6+
>b : Symbol(b, Decl(a.ts, 0, 3))
7+
8+
=== tests/cases/compiler/a.ts ===
9+
let b = 30;
10+
>b : Symbol(b, Decl(a.ts, 0, 3))
11+
12+
a = 10;
13+
>a : Symbol(a, Decl(b.js, 0, 3))
14+
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
=== tests/cases/compiler/b.js ===
2+
let a = 10;
3+
>a : number
4+
>10 : number
5+
6+
b = 30;
7+
>b = 30 : number
8+
>b : number
9+
>30 : number
10+
11+
=== tests/cases/compiler/a.ts ===
12+
let b = 30;
13+
>b : number
14+
>30 : number
15+
16+
a = 10;
17+
>a = 10 : number
18+
>a : number
19+
>10 : number
20+
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
tests/cases/compiler/a.ts(2,1): error TS2448: Block-scoped variable 'a' used before its declaration.
2+
3+
4+
==== tests/cases/compiler/a.ts (1 errors) ====
5+
let b = 30;
6+
a = 10;
7+
~
8+
!!! error TS2448: Block-scoped variable 'a' used before its declaration.
9+
==== tests/cases/compiler/b.js (0 errors) ====
10+
let a = 10;
11+
b = 30;
12+
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
//// [tests/cases/compiler/jsFileCompilationLetDeclarationOrder2.ts] ////
2+
3+
//// [a.ts]
4+
let b = 30;
5+
a = 10;
6+
//// [b.js]
7+
let a = 10;
8+
b = 30;
9+
10+
11+
//// [out.js]
12+
var b = 30;
13+
a = 10;
14+
var a = 10;
15+
b = 30;
16+
17+
18+
//// [out.d.ts]
19+
declare let b: number;
20+
declare let a: number;
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// @jsExtensions: js
2+
// @out: out.js
3+
// @declaration: true
4+
// @filename: b.js
5+
let a = 10;
6+
b = 30;
7+
8+
// @filename: a.ts
9+
let b = 30;
10+
a = 10;
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// @jsExtensions: js
2+
// @out: out.js
3+
// @declaration: true
4+
// @filename: a.ts
5+
let b = 30;
6+
a = 10;
7+
// @filename: b.js
8+
let a = 10;
9+
b = 30;

0 commit comments

Comments
 (0)