From 6a14a67a52b58e23a7dfe53a3fa5bd8451908c16 Mon Sep 17 00:00:00 2001 From: Artem Yavorsky Date: Fri, 7 Apr 2017 18:05:56 +0300 Subject: [PATCH 1/3] Add test for arrow inside generator --- .../test/arrow-inside-generator.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 packages/babel-plugin-transform-regenerator/test/arrow-inside-generator.js diff --git a/packages/babel-plugin-transform-regenerator/test/arrow-inside-generator.js b/packages/babel-plugin-transform-regenerator/test/arrow-inside-generator.js new file mode 100644 index 000000000000..c4de80f129e1 --- /dev/null +++ b/packages/babel-plugin-transform-regenerator/test/arrow-inside-generator.js @@ -0,0 +1,19 @@ +const assert = require("assert"); +const babel = require("babel-core"); + +test("Doesn't throw with arrow function inside generator", function () { + const code = "function* gen () {const a = () => {return 1;}}"; + + const transform = function () { + babel.transform(code, { + "plugins": [ + require("../") + ] + }); + }; + + assert.doesNotThrow( + transform, + Error + ); +}); From 647f90a2b503832402eeab159bfad1ad4e5bf283 Mon Sep 17 00:00:00 2001 From: Artem Yavorsky Date: Fri, 7 Apr 2017 18:16:02 +0300 Subject: [PATCH 2/3] Add trailing commas. --- .../test/arrow-inside-generator.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/babel-plugin-transform-regenerator/test/arrow-inside-generator.js b/packages/babel-plugin-transform-regenerator/test/arrow-inside-generator.js index c4de80f129e1..7ca0dca27a7c 100644 --- a/packages/babel-plugin-transform-regenerator/test/arrow-inside-generator.js +++ b/packages/babel-plugin-transform-regenerator/test/arrow-inside-generator.js @@ -7,8 +7,8 @@ test("Doesn't throw with arrow function inside generator", function () { const transform = function () { babel.transform(code, { "plugins": [ - require("../") - ] + require("../"), + ], }); }; From 7e6e8a214f1eb617fbe556a06d425b6d18bc05a5 Mon Sep 17 00:00:00 2001 From: Artem Yavorsky Date: Mon, 10 Apr 2017 13:59:25 +0300 Subject: [PATCH 3/3] Replace assert test with fixture. --- .../test/arrow-inside-generator.js | 19 ------------------- .../fixtures/arrow-inside-generator/actual.js | 5 +++++ .../arrow-inside-generator/expected.js | 17 +++++++++++++++++ .../arrow-inside-generator/options.json | 5 +++++ 4 files changed, 27 insertions(+), 19 deletions(-) delete mode 100644 packages/babel-plugin-transform-regenerator/test/arrow-inside-generator.js create mode 100644 packages/babel-plugin-transform-regenerator/test/fixtures/arrow-inside-generator/actual.js create mode 100644 packages/babel-plugin-transform-regenerator/test/fixtures/arrow-inside-generator/expected.js create mode 100644 packages/babel-plugin-transform-regenerator/test/fixtures/arrow-inside-generator/options.json diff --git a/packages/babel-plugin-transform-regenerator/test/arrow-inside-generator.js b/packages/babel-plugin-transform-regenerator/test/arrow-inside-generator.js deleted file mode 100644 index 7ca0dca27a7c..000000000000 --- a/packages/babel-plugin-transform-regenerator/test/arrow-inside-generator.js +++ /dev/null @@ -1,19 +0,0 @@ -const assert = require("assert"); -const babel = require("babel-core"); - -test("Doesn't throw with arrow function inside generator", function () { - const code = "function* gen () {const a = () => {return 1;}}"; - - const transform = function () { - babel.transform(code, { - "plugins": [ - require("../"), - ], - }); - }; - - assert.doesNotThrow( - transform, - Error - ); -}); diff --git a/packages/babel-plugin-transform-regenerator/test/fixtures/arrow-inside-generator/actual.js b/packages/babel-plugin-transform-regenerator/test/fixtures/arrow-inside-generator/actual.js new file mode 100644 index 000000000000..853ab35f2b73 --- /dev/null +++ b/packages/babel-plugin-transform-regenerator/test/fixtures/arrow-inside-generator/actual.js @@ -0,0 +1,5 @@ +function* gen () { + const a = () => { + return 1; + }; +} diff --git a/packages/babel-plugin-transform-regenerator/test/fixtures/arrow-inside-generator/expected.js b/packages/babel-plugin-transform-regenerator/test/fixtures/arrow-inside-generator/expected.js new file mode 100644 index 000000000000..34499009a98a --- /dev/null +++ b/packages/babel-plugin-transform-regenerator/test/fixtures/arrow-inside-generator/expected.js @@ -0,0 +1,17 @@ +var _marked = [gen].map(regeneratorRuntime.mark); + +function gen() { + var a; + return regeneratorRuntime.wrap(function gen$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + a = () => { + return 1; + }; + + case 1: + case "end": + return _context.stop(); + } + }, _marked[0], this); +} diff --git a/packages/babel-plugin-transform-regenerator/test/fixtures/arrow-inside-generator/options.json b/packages/babel-plugin-transform-regenerator/test/fixtures/arrow-inside-generator/options.json new file mode 100644 index 000000000000..2d12be1f555d --- /dev/null +++ b/packages/babel-plugin-transform-regenerator/test/fixtures/arrow-inside-generator/options.json @@ -0,0 +1,5 @@ +{ + "plugins": [ + "transform-regenerator" + ] +}