diff --git a/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/duplicate-decl-bug/input.js b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/duplicate-decl-bug/input.js new file mode 100644 index 0000000000..648a545606 --- /dev/null +++ b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/duplicate-decl-bug/input.js @@ -0,0 +1,4 @@ +it("es7.objectRestSpread", () => { + let original = { a: 1, b: 2 }; + let { ...copy } = original; +}); diff --git a/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/duplicate-decl-bug/options.json b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/duplicate-decl-bug/options.json new file mode 100644 index 0000000000..fcf57f7be5 --- /dev/null +++ b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/duplicate-decl-bug/options.json @@ -0,0 +1,7 @@ +{ + "plugins": [ + "./plugin-clear-scope", + "proposal-object-rest-spread", + "external-helpers" + ] +} diff --git a/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/duplicate-decl-bug/output.js b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/duplicate-decl-bug/output.js new file mode 100644 index 0000000000..87abb8f817 --- /dev/null +++ b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/duplicate-decl-bug/output.js @@ -0,0 +1,7 @@ +it("es7.objectRestSpread", () => { + let original = { + a: 1, + b: 2 + }; + let copy = babelHelpers.objectWithoutProperties(original, []); +}); diff --git a/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/duplicate-decl-bug/plugin-clear-scope.js b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/duplicate-decl-bug/plugin-clear-scope.js new file mode 100644 index 0000000000..c9d503d917 --- /dev/null +++ b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/duplicate-decl-bug/plugin-clear-scope.js @@ -0,0 +1,11 @@ +"use strict"; +exports.__esModule = true; +exports.default = function (api) { + return { + visitor: { + Program: function () { + api.traverse.cache.clearScope(); + } + } + }; +};