From 1ae146476479e3e348befd206b49ef2f9da00320 Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Thu, 15 Oct 2015 11:22:53 -0700 Subject: [PATCH] Test cases for let declaration and its use order --- .../jsFileCompilationLetDeclarationOrder.js | 21 +++++++++++++++++++ ...FileCompilationLetDeclarationOrder.symbols | 14 +++++++++++++ ...jsFileCompilationLetDeclarationOrder.types | 20 ++++++++++++++++++ ...CompilationLetDeclarationOrder2.errors.txt | 12 +++++++++++ .../jsFileCompilationLetDeclarationOrder2.js | 20 ++++++++++++++++++ .../jsFileCompilationLetDeclarationOrder.ts | 10 +++++++++ .../jsFileCompilationLetDeclarationOrder2.ts | 9 ++++++++ 7 files changed, 106 insertions(+) create mode 100644 tests/baselines/reference/jsFileCompilationLetDeclarationOrder.js create mode 100644 tests/baselines/reference/jsFileCompilationLetDeclarationOrder.symbols create mode 100644 tests/baselines/reference/jsFileCompilationLetDeclarationOrder.types create mode 100644 tests/baselines/reference/jsFileCompilationLetDeclarationOrder2.errors.txt create mode 100644 tests/baselines/reference/jsFileCompilationLetDeclarationOrder2.js create mode 100644 tests/cases/compiler/jsFileCompilationLetDeclarationOrder.ts create mode 100644 tests/cases/compiler/jsFileCompilationLetDeclarationOrder2.ts diff --git a/tests/baselines/reference/jsFileCompilationLetDeclarationOrder.js b/tests/baselines/reference/jsFileCompilationLetDeclarationOrder.js new file mode 100644 index 00000000000..15a1e8d7533 --- /dev/null +++ b/tests/baselines/reference/jsFileCompilationLetDeclarationOrder.js @@ -0,0 +1,21 @@ +//// [tests/cases/compiler/jsFileCompilationLetDeclarationOrder.ts] //// + +//// [b.js] +let a = 10; +b = 30; + +//// [a.ts] +let b = 30; +a = 10; + + +//// [out.js] +var a = 10; +b = 30; +var b = 30; +a = 10; + + +//// [out.d.ts] +declare let a: number; +declare let b: number; diff --git a/tests/baselines/reference/jsFileCompilationLetDeclarationOrder.symbols b/tests/baselines/reference/jsFileCompilationLetDeclarationOrder.symbols new file mode 100644 index 00000000000..c1e97340dc9 --- /dev/null +++ b/tests/baselines/reference/jsFileCompilationLetDeclarationOrder.symbols @@ -0,0 +1,14 @@ +=== tests/cases/compiler/b.js === +let a = 10; +>a : Symbol(a, Decl(b.js, 0, 3)) + +b = 30; +>b : Symbol(b, Decl(a.ts, 0, 3)) + +=== tests/cases/compiler/a.ts === +let b = 30; +>b : Symbol(b, Decl(a.ts, 0, 3)) + +a = 10; +>a : Symbol(a, Decl(b.js, 0, 3)) + diff --git a/tests/baselines/reference/jsFileCompilationLetDeclarationOrder.types b/tests/baselines/reference/jsFileCompilationLetDeclarationOrder.types new file mode 100644 index 00000000000..a28c62813de --- /dev/null +++ b/tests/baselines/reference/jsFileCompilationLetDeclarationOrder.types @@ -0,0 +1,20 @@ +=== tests/cases/compiler/b.js === +let a = 10; +>a : number +>10 : number + +b = 30; +>b = 30 : number +>b : number +>30 : number + +=== tests/cases/compiler/a.ts === +let b = 30; +>b : number +>30 : number + +a = 10; +>a = 10 : number +>a : number +>10 : number + diff --git a/tests/baselines/reference/jsFileCompilationLetDeclarationOrder2.errors.txt b/tests/baselines/reference/jsFileCompilationLetDeclarationOrder2.errors.txt new file mode 100644 index 00000000000..fb213ec4433 --- /dev/null +++ b/tests/baselines/reference/jsFileCompilationLetDeclarationOrder2.errors.txt @@ -0,0 +1,12 @@ +tests/cases/compiler/a.ts(2,1): error TS2448: Block-scoped variable 'a' used before its declaration. + + +==== tests/cases/compiler/a.ts (1 errors) ==== + let b = 30; + a = 10; + ~ +!!! error TS2448: Block-scoped variable 'a' used before its declaration. +==== tests/cases/compiler/b.js (0 errors) ==== + let a = 10; + b = 30; + \ No newline at end of file diff --git a/tests/baselines/reference/jsFileCompilationLetDeclarationOrder2.js b/tests/baselines/reference/jsFileCompilationLetDeclarationOrder2.js new file mode 100644 index 00000000000..641a89c1c50 --- /dev/null +++ b/tests/baselines/reference/jsFileCompilationLetDeclarationOrder2.js @@ -0,0 +1,20 @@ +//// [tests/cases/compiler/jsFileCompilationLetDeclarationOrder2.ts] //// + +//// [a.ts] +let b = 30; +a = 10; +//// [b.js] +let a = 10; +b = 30; + + +//// [out.js] +var b = 30; +a = 10; +var a = 10; +b = 30; + + +//// [out.d.ts] +declare let b: number; +declare let a: number; diff --git a/tests/cases/compiler/jsFileCompilationLetDeclarationOrder.ts b/tests/cases/compiler/jsFileCompilationLetDeclarationOrder.ts new file mode 100644 index 00000000000..d3e342a2d4b --- /dev/null +++ b/tests/cases/compiler/jsFileCompilationLetDeclarationOrder.ts @@ -0,0 +1,10 @@ +// @jsExtensions: js +// @out: out.js +// @declaration: true +// @filename: b.js +let a = 10; +b = 30; + +// @filename: a.ts +let b = 30; +a = 10; diff --git a/tests/cases/compiler/jsFileCompilationLetDeclarationOrder2.ts b/tests/cases/compiler/jsFileCompilationLetDeclarationOrder2.ts new file mode 100644 index 00000000000..c71d87ac9d9 --- /dev/null +++ b/tests/cases/compiler/jsFileCompilationLetDeclarationOrder2.ts @@ -0,0 +1,9 @@ +// @jsExtensions: js +// @out: out.js +// @declaration: true +// @filename: a.ts +let b = 30; +a = 10; +// @filename: b.js +let a = 10; +b = 30;