From f9ccee9d834f8fc4bcb89ab909a65856e0b32875 Mon Sep 17 00:00:00 2001 From: Bruno Jouhier Date: Sat, 1 Oct 2016 18:58:59 +0200 Subject: [PATCH] =?UTF-8?q?fixed=20babel/babel#4632=20-=20missing=20parent?= =?UTF-8?q?heses=20around=20yield=20expression=20=E2=80=A6=20(#4633)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fixed babel/babel#4632 - missing parentheses around yield expression in conditional test * babel/babel#4632 - added test --- packages/babel-generator/src/node/parentheses.js | 4 +++- .../test/fixtures/parentheses/yield-expression/actual.js | 2 +- .../test/fixtures/parentheses/yield-expression/expected.js | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/babel-generator/src/node/parentheses.js b/packages/babel-generator/src/node/parentheses.js index d4c8e335c2..199252d96e 100644 --- a/packages/babel-generator/src/node/parentheses.js +++ b/packages/babel-generator/src/node/parentheses.js @@ -142,7 +142,9 @@ export function YieldExpression(node: Object, parent: Object): boolean { t.isUnaryLike(parent) || t.isCallExpression(parent) || t.isMemberExpression(parent) || - t.isNewExpression(parent); + t.isNewExpression(parent) || + (t.isConditionalExpression(parent) && node === parent.test); + } export { YieldExpression as AwaitExpression }; diff --git a/packages/babel-generator/test/fixtures/parentheses/yield-expression/actual.js b/packages/babel-generator/test/fixtures/parentheses/yield-expression/actual.js index ea61f3583c..97ef823d3c 100644 --- a/packages/babel-generator/test/fixtures/parentheses/yield-expression/actual.js +++ b/packages/babel-generator/test/fixtures/parentheses/yield-expression/actual.js @@ -2,7 +2,7 @@ function* asdf() { (yield 1) || (yield 2); (yield b)(); new (yield b)(); - true ? (yield 1) : (yield 2); + (yield 1) ? (yield 2) : (yield 3); yield (yield 1); } diff --git a/packages/babel-generator/test/fixtures/parentheses/yield-expression/expected.js b/packages/babel-generator/test/fixtures/parentheses/yield-expression/expected.js index 9d5aab1a3a..cbc86c5c5c 100644 --- a/packages/babel-generator/test/fixtures/parentheses/yield-expression/expected.js +++ b/packages/babel-generator/test/fixtures/parentheses/yield-expression/expected.js @@ -2,7 +2,7 @@ function* asdf() { (yield 1) || (yield 2); (yield b)(); new (yield b)(); - true ? yield 1 : yield 2; + (yield 1) ? yield 2 : yield 3; yield yield 1; }