From fc7be363f1859475e8db30bfc8540eaa0f62e06c Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Thu, 16 Apr 2015 12:29:49 -0700 Subject: [PATCH] Added tests from 'captureArguments' branch. --- ...s => emitArrowFunctionWhenUsingArguments01.ts} | 2 +- ... emitArrowFunctionWhenUsingArguments01_ES6.ts} | 0 .../emitArrowFunctionWhenUsingArguments02.ts | 3 +++ .../emitArrowFunctionWhenUsingArguments02_ES6.ts | 3 +++ .../emitArrowFunctionWhenUsingArguments03.ts | 4 ++++ .../emitArrowFunctionWhenUsingArguments03_ES6.ts | 4 ++++ .../emitArrowFunctionWhenUsingArguments04.ts | 6 ++++++ .../emitArrowFunctionWhenUsingArguments04_ES6.ts | 6 ++++++ .../emitArrowFunctionWhenUsingArguments05.ts | 5 +++++ .../emitArrowFunctionWhenUsingArguments05_ES6.ts | 5 +++++ .../emitArrowFunctionWhenUsingArguments06.ts | 5 +++++ .../emitArrowFunctionWhenUsingArguments06_ES6.ts | 5 +++++ .../emitArrowFunctionWhenUsingArguments07.ts | 5 +++++ .../emitArrowFunctionWhenUsingArguments07_ES6.ts | 5 +++++ .../emitArrowFunctionWhenUsingArguments08.ts | 5 +++++ .../emitArrowFunctionWhenUsingArguments08_ES6.ts | 5 +++++ .../emitArrowFunctionWhenUsingArguments09.ts | 5 +++++ .../emitArrowFunctionWhenUsingArguments09_ES6.ts | 5 +++++ .../emitArrowFunctionWhenUsingArguments10.ts | 6 ++++++ .../emitArrowFunctionWhenUsingArguments10_ES6.ts | 6 ++++++ .../emitArrowFunctionWhenUsingArguments11.ts | 6 ++++++ .../emitArrowFunctionWhenUsingArguments11_ES6.ts | 6 ++++++ .../emitArrowFunctionWhenUsingArguments12.ts | 7 +++++++ .../emitArrowFunctionWhenUsingArguments12_ES6.ts | 7 +++++++ .../emitArrowFunctionWhenUsingArguments13.ts | 6 ++++++ .../emitArrowFunctionWhenUsingArguments13_ES6.ts | 6 ++++++ .../emitArrowFunctionWhenUsingArguments14.ts | 8 ++++++++ .../emitArrowFunctionWhenUsingArguments14_ES6.ts | 8 ++++++++ .../emitArrowFunctionWhenUsingArguments15.ts | 9 +++++++++ .../emitArrowFunctionWhenUsingArguments15_ES6.ts | 9 +++++++++ .../emitArrowFunctionWhenUsingArguments16.ts | 9 +++++++++ .../emitArrowFunctionWhenUsingArguments16_ES6.ts | 9 +++++++++ .../emitArrowFunctionWhenUsingArguments17.ts | 9 +++++++++ .../emitArrowFunctionWhenUsingArguments17_ES6.ts | 9 +++++++++ .../emitArrowFunctionWhenUsingArguments18.ts | 8 ++++++++ .../emitArrowFunctionWhenUsingArguments18_ES6.ts | 8 ++++++++ .../emitArrowFunctionWhenUsingArguments19.ts | 15 +++++++++++++++ .../emitArrowFunctionWhenUsingArguments19_ES6.ts | 15 +++++++++++++++ 38 files changed, 243 insertions(+), 1 deletion(-) rename tests/cases/conformance/es6/arrowFunction/{emitArrowFunctionWhenUsingArgumentsES6.ts => emitArrowFunctionWhenUsingArguments01.ts} (89%) rename tests/cases/conformance/es6/arrowFunction/{emitArrowFunctionWhenUsingArguments.ts => emitArrowFunctionWhenUsingArguments01_ES6.ts} (100%) create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments02.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments02_ES6.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments03.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments03_ES6.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments04.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments04_ES6.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments05.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments05_ES6.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments06.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments06_ES6.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments07.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments07_ES6.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments08.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments08_ES6.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments09.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments09_ES6.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments10.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments10_ES6.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments11.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments11_ES6.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments12.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments12_ES6.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments13.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments13_ES6.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments14.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments14_ES6.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments15.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments15_ES6.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments16.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments16_ES6.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments17.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments17_ES6.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments18.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments18_ES6.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments19.ts create mode 100644 tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments19_ES6.ts diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArgumentsES6.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments01.ts similarity index 89% rename from tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArgumentsES6.ts rename to tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments01.ts index fa92d48a4c0..762fd2a8e64 100644 --- a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArgumentsES6.ts +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments01.ts @@ -1,4 +1,4 @@ -// @target: es6 +// @target: es5 var a = () => { var arg = arguments[0]; // error } diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments01_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments.ts rename to tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments01_ES6.ts diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments02.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments02.ts new file mode 100644 index 00000000000..565c211724a --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments02.ts @@ -0,0 +1,3 @@ +// @target: es5 + +var a = () => arguments; \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments02_ES6.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments02_ES6.ts new file mode 100644 index 00000000000..5a466c5fcda --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments02_ES6.ts @@ -0,0 +1,3 @@ +// @target: es6 + +var a = () => arguments; \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments03.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments03.ts new file mode 100644 index 00000000000..d0de2a8e7c8 --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments03.ts @@ -0,0 +1,4 @@ +// @target: es5 + +var arguments; +var a = () => arguments; \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments03_ES6.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments03_ES6.ts new file mode 100644 index 00000000000..69b08adf7ae --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments03_ES6.ts @@ -0,0 +1,4 @@ +// @target: es6 + +var arguments; +var a = () => arguments; \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments04.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments04.ts new file mode 100644 index 00000000000..cba24887da7 --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments04.ts @@ -0,0 +1,6 @@ +// @target: es5 + +function f() { + var arguments; + var a = () => arguments; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments04_ES6.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments04_ES6.ts new file mode 100644 index 00000000000..14f6540c091 --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments04_ES6.ts @@ -0,0 +1,6 @@ +// @target: es6 + +function f() { + var arguments; + var a = () => arguments; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments05.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments05.ts new file mode 100644 index 00000000000..e2adfeba0fe --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments05.ts @@ -0,0 +1,5 @@ +// @target: es5 + +function f(arguments) { + var a = () => arguments; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments05_ES6.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments05_ES6.ts new file mode 100644 index 00000000000..b256ed6cd53 --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments05_ES6.ts @@ -0,0 +1,5 @@ +// @target: es6 + +function f(arguments) { + var a = () => arguments; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments06.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments06.ts new file mode 100644 index 00000000000..e235671a01a --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments06.ts @@ -0,0 +1,5 @@ +// @target: es5 + +function f(arguments) { + var a = () => () => arguments; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments06_ES6.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments06_ES6.ts new file mode 100644 index 00000000000..6defc6ec4a3 --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments06_ES6.ts @@ -0,0 +1,5 @@ +// @target: es6 + +function f(arguments) { + var a = () => () => arguments; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments07.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments07.ts new file mode 100644 index 00000000000..07fa34a0731 --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments07.ts @@ -0,0 +1,5 @@ +// @target: es5 + +function f(arguments) { + var a = (arguments) => () => arguments; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments07_ES6.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments07_ES6.ts new file mode 100644 index 00000000000..889fc141021 --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments07_ES6.ts @@ -0,0 +1,5 @@ +// @target: es6 + +function f(arguments) { + var a = (arguments) => () => arguments; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments08.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments08.ts new file mode 100644 index 00000000000..c53b8701fdc --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments08.ts @@ -0,0 +1,5 @@ +// @target: es5 + +function f(arguments) { + var a = () => (arguments) => arguments; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments08_ES6.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments08_ES6.ts new file mode 100644 index 00000000000..feae67a22be --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments08_ES6.ts @@ -0,0 +1,5 @@ +// @target: es6 + +function f(arguments) { + var a = () => (arguments) => arguments; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments09.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments09.ts new file mode 100644 index 00000000000..06e305f4048 --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments09.ts @@ -0,0 +1,5 @@ +// @target: es5 + +function f(_arguments) { + var a = () => () => arguments; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments09_ES6.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments09_ES6.ts new file mode 100644 index 00000000000..c1b2f3d5cda --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments09_ES6.ts @@ -0,0 +1,5 @@ +// @target: es6 + +function f(_arguments) { + var a = () => () => arguments; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments10.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments10.ts new file mode 100644 index 00000000000..9122bb746b2 --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments10.ts @@ -0,0 +1,6 @@ +// @target: es5 + +function f() { + var _arguments = 10; + var a = () => () => arguments; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments10_ES6.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments10_ES6.ts new file mode 100644 index 00000000000..d5e616d5d28 --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments10_ES6.ts @@ -0,0 +1,6 @@ +// @target: es6 + +function f() { + var _arguments = 10; + var a = () => () => arguments; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments11.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments11.ts new file mode 100644 index 00000000000..37542b860f4 --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments11.ts @@ -0,0 +1,6 @@ +// @target: es5 + +function f(arguments) { + var _arguments = 10; + var a = () => () => arguments; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments11_ES6.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments11_ES6.ts new file mode 100644 index 00000000000..fb77b177b76 --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments11_ES6.ts @@ -0,0 +1,6 @@ +// @target: es6 + +function f(arguments) { + var _arguments = 10; + var a = () => () => arguments; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments12.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments12.ts new file mode 100644 index 00000000000..39c9994bbd1 --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments12.ts @@ -0,0 +1,7 @@ +// @target: es5 + +class C { + f(arguments) { + var a = () => arguments; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments12_ES6.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments12_ES6.ts new file mode 100644 index 00000000000..cdfed56ae22 --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments12_ES6.ts @@ -0,0 +1,7 @@ +// @target: es6 + +class C { + f(arguments) { + var a = () => arguments; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments13.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments13.ts new file mode 100644 index 00000000000..6f4c2fccf55 --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments13.ts @@ -0,0 +1,6 @@ +// @target: es5 + +function f() { + var _arguments = 10; + var a = (arguments) => () => _arguments; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments13_ES6.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments13_ES6.ts new file mode 100644 index 00000000000..c23a2b105fc --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments13_ES6.ts @@ -0,0 +1,6 @@ +// @target: es6 + +function f() { + var _arguments = 10; + var a = (arguments) => () => _arguments; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments14.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments14.ts new file mode 100644 index 00000000000..0f7cee8ab97 --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments14.ts @@ -0,0 +1,8 @@ +// @target: es5 + +function f() { + if (Math.random()) { + const arguments = 100; + return () => arguments; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments14_ES6.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments14_ES6.ts new file mode 100644 index 00000000000..c8c9da2bb30 --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments14_ES6.ts @@ -0,0 +1,8 @@ +// @target: es6 + +function f() { + if (Math.random()) { + let arguments = 100; + return () => arguments; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments15.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments15.ts new file mode 100644 index 00000000000..cc347f9d512 --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments15.ts @@ -0,0 +1,9 @@ +// @target: es5 + +function f() { + var arguments = "hello"; + if (Math.random()) { + const arguments = 100; + return () => arguments; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments15_ES6.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments15_ES6.ts new file mode 100644 index 00000000000..056a51b8c1c --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments15_ES6.ts @@ -0,0 +1,9 @@ +// @target: es6 + +function f() { + var arguments = "hello"; + if (Math.random()) { + const arguments = 100; + return () => arguments; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments16.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments16.ts new file mode 100644 index 00000000000..dbfd2c26e81 --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments16.ts @@ -0,0 +1,9 @@ +// @target: es5 + +function f() { + var arguments = "hello"; + if (Math.random()) { + return () => arguments[0]; + } + var arguments = "world"; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments16_ES6.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments16_ES6.ts new file mode 100644 index 00000000000..98261792871 --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments16_ES6.ts @@ -0,0 +1,9 @@ +// @target: es6 + +function f() { + var arguments = "hello"; + if (Math.random()) { + return () => arguments[0]; + } + var arguments = "world"; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments17.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments17.ts new file mode 100644 index 00000000000..77cbb07ede7 --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments17.ts @@ -0,0 +1,9 @@ +// @target: es5 + +function f() { + var { arguments } = { arguments: "hello" }; + if (Math.random()) { + return () => arguments[0]; + } + var arguments = "world"; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments17_ES6.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments17_ES6.ts new file mode 100644 index 00000000000..b27b6b4ba91 --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments17_ES6.ts @@ -0,0 +1,9 @@ +// @target: es6 + +function f() { + var { arguments } = { arguments: "hello" }; + if (Math.random()) { + return () => arguments[0]; + } + var arguments = "world"; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments18.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments18.ts new file mode 100644 index 00000000000..3d769ed6235 --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments18.ts @@ -0,0 +1,8 @@ +// @target: es5 + +function f() { + var { arguments: args } = { arguments }; + if (Math.random()) { + return () => arguments; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments18_ES6.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments18_ES6.ts new file mode 100644 index 00000000000..0ec65f36d3b --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments18_ES6.ts @@ -0,0 +1,8 @@ +// @target: es6 + +function f() { + var { arguments: args } = { arguments }; + if (Math.random()) { + return () => arguments; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments19.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments19.ts new file mode 100644 index 00000000000..a968ba28d9e --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments19.ts @@ -0,0 +1,15 @@ +// @target: es5 + +function f() { + function g() { + var _arguments = 10; // No capture in 'g', so no conflict. + function h() { + var capture = () => arguments; // Should trigger an '_arguments' capture into function 'h' + foo(_arguments); // Error as this does not resolve to the user defined '_arguments' + } + } + + function foo(x: any) { + return 100; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments19_ES6.ts b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments19_ES6.ts new file mode 100644 index 00000000000..50ede7a8e4d --- /dev/null +++ b/tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments19_ES6.ts @@ -0,0 +1,15 @@ +// @target: es6 + +function f() { + function g() { + var _arguments = 10; // No capture in 'g', so no conflict. + function h() { + var capture = () => arguments; // Should trigger an '_arguments' capture into function 'h' + foo(_arguments); // Error as this does not resolve to the user defined '_arguments' + } + } + + function foo(x: any) { + return 100; + } +} \ No newline at end of file