Diogo Franco 81811bf1b9 Fix transform-arrow-functions in { spec: true } shadowing (#6760)
* Fix transform-arrow-functions in { spec: true } shadowing

The function name matching the variable declaration name could
shadow the actual function object inside the generated function,
leading to invalid behavior due to holding a reference to the
original unbound function.

* Combine it with transform-function-name just to be sure in spec: false

* Revert "Fix transform-arrow-functions in { spec: true } shadowing"

This reverts commit 1cafe2561d0b0ddd181b956a85eb074621da12e8.

* Much simpler version of the above fix

* Missing fixture updates

* Avoid using rest/spread to make the tests pass on node 4

* ...actually update _all_ the fixtures
2017-11-08 17:21:30 -05:00

23 lines
346 B
JavaScript

var _this = this;
var fooCalls = [];
var _jumpTable = function jumpTable(name, arg) {
babelHelpers.newArrowCheck(this, _this);
if (_jumpTable[name]) {
_jumpTable[name](arg);
}
}.bind(this);
Object.assign(_jumpTable, {
foo(arg) {
fooCalls.push(arg);
}
});
_jumpTable('foo', 'bar');
assert.strictEqual(fooCalls[0], 'bar');