From fe72aecce9aa037cebea54537a7e6f321468a30d Mon Sep 17 00:00:00 2001 From: Christopher Chedeau Date: Sat, 14 Jan 2017 20:37:57 -0800 Subject: [PATCH] Fix parenthesis for UpdateExpression (#198) ```js (this.x++).toString() ``` no longer drops the parenthesis --- src/fast-path.js | 1 + tests/update_expression/__snapshots__/jsfmt.spec.js.snap | 6 ++++++ tests/update_expression/jsfmt.spec.js | 1 + tests/update_expression/update_expression.js | 1 + 4 files changed, 9 insertions(+) create mode 100644 tests/update_expression/__snapshots__/jsfmt.spec.js.snap create mode 100644 tests/update_expression/jsfmt.spec.js create mode 100644 tests/update_expression/update_expression.js diff --git a/src/fast-path.js b/src/fast-path.js index 4bda096a..bcc19b50 100644 --- a/src/fast-path.js +++ b/src/fast-path.js @@ -228,6 +228,7 @@ FPp.needsParens = function(assumeExpressionContext) { } switch (node.type) { + case "UpdateExpression": case "UnaryExpression": case "SpreadElement": case "SpreadProperty": diff --git a/tests/update_expression/__snapshots__/jsfmt.spec.js.snap b/tests/update_expression/__snapshots__/jsfmt.spec.js.snap new file mode 100644 index 00000000..b7742680 --- /dev/null +++ b/tests/update_expression/__snapshots__/jsfmt.spec.js.snap @@ -0,0 +1,6 @@ +exports[`test update_expression.js 1`] = ` +"(this.x++).toString() +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +(this.x++).toString(); +" +`; diff --git a/tests/update_expression/jsfmt.spec.js b/tests/update_expression/jsfmt.spec.js new file mode 100644 index 00000000..989047bc --- /dev/null +++ b/tests/update_expression/jsfmt.spec.js @@ -0,0 +1 @@ +run_spec(__dirname); diff --git a/tests/update_expression/update_expression.js b/tests/update_expression/update_expression.js new file mode 100644 index 00000000..762c641d --- /dev/null +++ b/tests/update_expression/update_expression.js @@ -0,0 +1 @@ +(this.x++).toString()