diff --git a/packages/babel/test/fixtures/transformation/es6.tail-call/default-parameters-black-es6-block-scoping/actual.js b/packages/babel/test/fixtures/transformation/es6.tail-call/default-parameters-black-es6-block-scoping/actual.js new file mode 100644 index 0000000000..4322fa1e05 --- /dev/null +++ b/packages/babel/test/fixtures/transformation/es6.tail-call/default-parameters-black-es6-block-scoping/actual.js @@ -0,0 +1,6 @@ +function sum(a=1, b=2) { + if (b > 0) { + return sum(a + 1, b - 1); + } + return a; +} diff --git a/packages/babel/test/fixtures/transformation/es6.tail-call/default-parameters-black-es6-block-scoping/expected.js b/packages/babel/test/fixtures/transformation/es6.tail-call/default-parameters-black-es6-block-scoping/expected.js new file mode 100644 index 0000000000..c8124c58bc --- /dev/null +++ b/packages/babel/test/fixtures/transformation/es6.tail-call/default-parameters-black-es6-block-scoping/expected.js @@ -0,0 +1,20 @@ +"use strict"; + +function sum() { + var _arguments = arguments; + var _again = true; + + _function: while (_again) { + let a = _arguments.length <= 0 || _arguments[0] === undefined ? 1 : _arguments[0]; + _again = false; + let b = _arguments.length <= 1 || _arguments[1] === undefined ? 2 : _arguments[1]; + + if (b > 0) { + _arguments = [a + 1, b - 1]; + _again = true; + a = b = undefined; + continue _function; + } + return a; + } +} \ No newline at end of file diff --git a/packages/babel/test/fixtures/transformation/es6.tail-call/default-parameters-black-es6-block-scoping/options.json b/packages/babel/test/fixtures/transformation/es6.tail-call/default-parameters-black-es6-block-scoping/options.json new file mode 100644 index 0000000000..395feeea94 --- /dev/null +++ b/packages/babel/test/fixtures/transformation/es6.tail-call/default-parameters-black-es6-block-scoping/options.json @@ -0,0 +1,3 @@ +{ + "blacklist": ["es6.blockScoping"] +} \ No newline at end of file