From 952af10e193a40b938a815452255e231a5b501e3 Mon Sep 17 00:00:00 2001 From: Ryan Tsao Date: Thu, 5 Jan 2017 10:51:46 -0800 Subject: [PATCH 1/3] Added getBindingIdentifier tests --- packages/babel-types/test/retrievers.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 packages/babel-types/test/retrievers.js diff --git a/packages/babel-types/test/retrievers.js b/packages/babel-types/test/retrievers.js new file mode 100644 index 000000000000..3dc99731cc2b --- /dev/null +++ b/packages/babel-types/test/retrievers.js @@ -0,0 +1,22 @@ +import * as t from "../lib"; +import assert from "assert"; +import { parse } from "babylon"; + +function getBody(program) { + return parse(program).program.body; +} + +describe("retrievers", function () { + describe("getBindingIdentifiers", function () { + it("variable declarations", function () { + const program = "var a = 1; let b = 2; const c = 3;"; + const ids = t.getBindingIdentifiers(getBody(program)); + assert.deepEqual(Object.keys(ids), ["a", "b", "c"]); + }); + it("function declarations", function () { + const program = "var foo = 1; function bar() { var baz = 2; }"; + const ids = t.getBindingIdentifiers(getBody(program)); + assert.deepEqual(Object.keys(ids), ["bar", "foo"]); + }); + }); +}); From 2d40141a03e8055c7ef397b781b39678d8a91dbc Mon Sep 17 00:00:00 2001 From: Ryan Tsao Date: Thu, 5 Jan 2017 10:54:06 -0800 Subject: [PATCH 2/3] Added failing test for getBindingIdentifiers --- packages/babel-types/test/retrievers.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/babel-types/test/retrievers.js b/packages/babel-types/test/retrievers.js index 3dc99731cc2b..68eb34c4f309 100644 --- a/packages/babel-types/test/retrievers.js +++ b/packages/babel-types/test/retrievers.js @@ -3,7 +3,7 @@ import assert from "assert"; import { parse } from "babylon"; function getBody(program) { - return parse(program).program.body; + return parse(program, {sourceType: "module"}).program.body; } describe("retrievers", function () { @@ -18,5 +18,10 @@ describe("retrievers", function () { const ids = t.getBindingIdentifiers(getBody(program)); assert.deepEqual(Object.keys(ids), ["bar", "foo"]); }); + it("export named declarations", function () { + const program = "export const foo = 'foo';"; + const ids = t.getBindingIdentifiers(getBody(program)); + assert.deepEqual(Object.keys(ids), ["foo"]); + }); }); }); From ae87097f6aabca9787965484626c097cba4cd798 Mon Sep 17 00:00:00 2001 From: Ryan Tsao Date: Wed, 4 Jan 2017 15:45:41 -0800 Subject: [PATCH 3/3] Fix babel-types getBindingIdentifiers --- packages/babel-types/src/retrievers.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/babel-types/src/retrievers.js b/packages/babel-types/src/retrievers.js index 12bba815b0a5..c4d7647b4af9 100644 --- a/packages/babel-types/src/retrievers.js +++ b/packages/babel-types/src/retrievers.js @@ -29,8 +29,8 @@ export function getBindingIdentifiers( } if (t.isExportDeclaration(id)) { - if (t.isDeclaration(node.declaration)) { - search.push(node.declaration); + if (t.isDeclaration(id.declaration)) { + search.push(id.declaration); } continue; }