From 01d6d489be18ff6d52aa16dd57260450e7e331f5 Mon Sep 17 00:00:00 2001 From: Andrew Casey Date: Thu, 1 Jun 2017 17:04:42 -0700 Subject: [PATCH] Add regression tests Report unreachable code in JS files when --checkjs is passed, but not otherwise. --- .../reference/unreachableJavascriptChecked.errors.txt | 10 ++++++++++ .../reference/unreachableJavascriptChecked.js | 11 +++++++++++ .../reference/unreachableJavascriptUnchecked.js | 11 +++++++++++ .../reference/unreachableJavascriptUnchecked.symbols | 7 +++++++ .../reference/unreachableJavascriptUnchecked.types | 10 ++++++++++ tests/cases/compiler/unreachableJavascriptChecked.ts | 8 ++++++++ .../cases/compiler/unreachableJavascriptUnchecked.ts | 8 ++++++++ 7 files changed, 65 insertions(+) create mode 100644 tests/baselines/reference/unreachableJavascriptChecked.errors.txt create mode 100644 tests/baselines/reference/unreachableJavascriptChecked.js create mode 100644 tests/baselines/reference/unreachableJavascriptUnchecked.js create mode 100644 tests/baselines/reference/unreachableJavascriptUnchecked.symbols create mode 100644 tests/baselines/reference/unreachableJavascriptUnchecked.types create mode 100644 tests/cases/compiler/unreachableJavascriptChecked.ts create mode 100644 tests/cases/compiler/unreachableJavascriptUnchecked.ts diff --git a/tests/baselines/reference/unreachableJavascriptChecked.errors.txt b/tests/baselines/reference/unreachableJavascriptChecked.errors.txt new file mode 100644 index 0000000000..c66b342177 --- /dev/null +++ b/tests/baselines/reference/unreachableJavascriptChecked.errors.txt @@ -0,0 +1,10 @@ +tests/cases/compiler/unreachable.js(3,5): error TS7027: Unreachable code detected. + + +==== tests/cases/compiler/unreachable.js (1 errors) ==== + function unreachable() { + return 1; + return 2; + ~~~~~~ +!!! error TS7027: Unreachable code detected. + } \ No newline at end of file diff --git a/tests/baselines/reference/unreachableJavascriptChecked.js b/tests/baselines/reference/unreachableJavascriptChecked.js new file mode 100644 index 0000000000..6bf264bf3d --- /dev/null +++ b/tests/baselines/reference/unreachableJavascriptChecked.js @@ -0,0 +1,11 @@ +//// [unreachable.js] +function unreachable() { + return 1; + return 2; +} + +//// [unreachable.js] +function unreachable() { + return 1; + return 2; +} diff --git a/tests/baselines/reference/unreachableJavascriptUnchecked.js b/tests/baselines/reference/unreachableJavascriptUnchecked.js new file mode 100644 index 0000000000..6bf264bf3d --- /dev/null +++ b/tests/baselines/reference/unreachableJavascriptUnchecked.js @@ -0,0 +1,11 @@ +//// [unreachable.js] +function unreachable() { + return 1; + return 2; +} + +//// [unreachable.js] +function unreachable() { + return 1; + return 2; +} diff --git a/tests/baselines/reference/unreachableJavascriptUnchecked.symbols b/tests/baselines/reference/unreachableJavascriptUnchecked.symbols new file mode 100644 index 0000000000..f2db6a6a34 --- /dev/null +++ b/tests/baselines/reference/unreachableJavascriptUnchecked.symbols @@ -0,0 +1,7 @@ +=== tests/cases/compiler/unreachable.js === +function unreachable() { +>unreachable : Symbol(unreachable, Decl(unreachable.js, 0, 0)) + + return 1; + return 2; +} diff --git a/tests/baselines/reference/unreachableJavascriptUnchecked.types b/tests/baselines/reference/unreachableJavascriptUnchecked.types new file mode 100644 index 0000000000..266a903887 --- /dev/null +++ b/tests/baselines/reference/unreachableJavascriptUnchecked.types @@ -0,0 +1,10 @@ +=== tests/cases/compiler/unreachable.js === +function unreachable() { +>unreachable : () => 1 | 2 + + return 1; +>1 : 1 + + return 2; +>2 : 2 +} diff --git a/tests/cases/compiler/unreachableJavascriptChecked.ts b/tests/cases/compiler/unreachableJavascriptChecked.ts new file mode 100644 index 0000000000..4db98c4c8c --- /dev/null +++ b/tests/cases/compiler/unreachableJavascriptChecked.ts @@ -0,0 +1,8 @@ +// @Filename: unreachable.js +// @allowJs: true +// @checkJs: true +// @outDir: out +function unreachable() { + return 1; + return 2; +} \ No newline at end of file diff --git a/tests/cases/compiler/unreachableJavascriptUnchecked.ts b/tests/cases/compiler/unreachableJavascriptUnchecked.ts new file mode 100644 index 0000000000..d5b1f45e28 --- /dev/null +++ b/tests/cases/compiler/unreachableJavascriptUnchecked.ts @@ -0,0 +1,8 @@ +// @Filename: unreachable.js +// @allowJs: true +// @checkJs: false +// @outDir: out +function unreachable() { + return 1; + return 2; +} \ No newline at end of file