From d14f4461775e863d27875e4ce2e4ff7e9a6da356 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Wed, 26 Nov 2014 17:23:11 +1100 Subject: [PATCH] rename PretzelMap to BindFunctionExpression --- acorn.js | 6 +- package.json | 2 +- test/tests-6to5-playground.js | 207 +++++++++++++++++----------------- 3 files changed, 107 insertions(+), 108 deletions(-) diff --git a/acorn.js b/acorn.js index ed628ec5d5..6d9db1d7d9 100644 --- a/acorn.js +++ b/acorn.js @@ -2616,14 +2616,14 @@ return parseXJSElement(); case _colon: - return parsePretzelMap(); + return parseBindFunctionExpression(); default: unexpected(); } } - function parsePretzelMap() { + function parseBindFunctionExpression() { var node = startNode(); next(); @@ -2636,7 +2636,7 @@ node.arguments = []; } - return finishNode(node, "PretzelMapExpression"); + return finishNode(node, "BindFunctionExpression"); } // New's precedence is slightly tricky. It must allow its argument diff --git a/package.json b/package.json index 05226d8805..0d2fc14208 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "acorn-6to5", "description": "Acorn fork used by 6to5", "main": "acorn.js", - "version": "0.9.1-9", + "version": "0.9.1-10", "maintainers": [ { "name": "Marijn Haverbeke", diff --git a/test/tests-6to5-playground.js b/test/tests-6to5-playground.js index 6e14bc445a..8bcddaad88 100644 --- a/test/tests-6to5-playground.js +++ b/test/tests-6to5-playground.js @@ -4,110 +4,6 @@ if (typeof exports != "undefined") { var testAssert = require("./driver.js").testAssert; } -// Pretzel map - -test("arr.map(:toUpperCase)", { - type: "Program", - start: 0, - end: 21, - body: [{ - type: "ExpressionStatement", - start: 0, - end: 21, - expression: { - type: "CallExpression", - start: 0, - end: 21, - callee: { - type: "MemberExpression", - start: 0, - end: 7, - object: { - type: "Identifier", - start: 0, - end: 3, - name: "arr" - }, - property: { - type: "Identifier", - start: 4, - end: 7, - name: "map" - }, - computed: false - }, - arguments: [{ - type: "PretzelMapExpression", - start: 8, - end: 20, - callee: { - type: "Identifier", - start: 9, - end: 20, - name: "toUpperCase" - }, - arguments: [] - }] - } - }] -}, { - playground: true -}); - -test("arr.map(:toFixed(2))", { - type: "Program", - start: 0, - end: 20, - body: [{ - type: "ExpressionStatement", - start: 0, - end: 20, - expression: { - type: "CallExpression", - start: 0, - end: 20, - callee: { - type: "MemberExpression", - start: 0, - end: 7, - object: { - type: "Identifier", - start: 0, - end: 3, - name: "arr" - }, - property: { - type: "Identifier", - start: 4, - end: 7, - name: "map" - }, - computed: false - }, - arguments: [{ - type: "PretzelMapExpression", - start: 8, - end: 19, - callee: { - type: "Identifier", - start: 9, - end: 16, - name: "toFixed" - }, - arguments: [{ - type: "Literal", - start: 17, - end: 18, - value: 2, - raw: "2" - }] - }] - } - }] -}, { - playground: true -}); - // Memoization assignment operator testFail("obj ?= 2;", "You can only use member expressions in memoization assignment (1:0)"); @@ -412,3 +308,106 @@ test("var fn = obj[foob].test:method('foo', 5)", { }, { playground: true }); + + +test("arr.map(:toUpperCase)", { + type: "Program", + start: 0, + end: 21, + body: [{ + type: "ExpressionStatement", + start: 0, + end: 21, + expression: { + type: "CallExpression", + start: 0, + end: 21, + callee: { + type: "MemberExpression", + start: 0, + end: 7, + object: { + type: "Identifier", + start: 0, + end: 3, + name: "arr" + }, + property: { + type: "Identifier", + start: 4, + end: 7, + name: "map" + }, + computed: false + }, + arguments: [{ + type: "BindFunctionExpression", + start: 8, + end: 20, + callee: { + type: "Identifier", + start: 9, + end: 20, + name: "toUpperCase" + }, + arguments: [] + }] + } + }] +}, { + playground: true +}); + +test("arr.map(:toFixed(2))", { + type: "Program", + start: 0, + end: 20, + body: [{ + type: "ExpressionStatement", + start: 0, + end: 20, + expression: { + type: "CallExpression", + start: 0, + end: 20, + callee: { + type: "MemberExpression", + start: 0, + end: 7, + object: { + type: "Identifier", + start: 0, + end: 3, + name: "arr" + }, + property: { + type: "Identifier", + start: 4, + end: 7, + name: "map" + }, + computed: false + }, + arguments: [{ + type: "BindFunctionExpression", + start: 8, + end: 19, + callee: { + type: "Identifier", + start: 9, + end: 16, + name: "toFixed" + }, + arguments: [{ + type: "Literal", + start: 17, + end: 18, + value: 2, + raw: "2" + }] + }] + } + }] +}, { + playground: true +});