diff --git a/src/needs-parens.mjs b/src/needs-parens.mjs index 8ea379e2c..a9914bdb6 100644 --- a/src/needs-parens.mjs +++ b/src/needs-parens.mjs @@ -158,13 +158,14 @@ function needsParens(path, options) { return !!(node.key || node.value); } } + case "assignref": case "assign": { if ( parent.kind === "for" && (parent.init.includes(node) || parent.increment.includes(node)) ) { return false; - } else if (parent.kind === "assign") { + } else if (parent.kind === "assign" || parent.kind === "assignref") { return false; } else if (parent.kind === "static") { return false; diff --git a/tests/assignref/__snapshots__/jsfmt.spec.mjs.snap b/tests/assignref/__snapshots__/jsfmt.spec.mjs.snap index a25b1c2d5..8a15cb2aa 100644 --- a/tests/assignref/__snapshots__/jsfmt.spec.mjs.snap +++ b/tests/assignref/__snapshots__/jsfmt.spec.mjs.snap @@ -1,4 +1,4 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing exports[`assignref.php 1`] = ` ====================================options===================================== @@ -42,6 +42,7 @@ $cached_var = &drupal_static(__FUNCTION__); $test = ['key' => &$value]; $test = ['key' => &$value['something']]; +$x = $y =& $z; =====================================output===================================== &$value]; $test = ["key" => &$value["something"]]; +$x = $y = &$z; ================================================================================ `; diff --git a/tests/assignref/assignref.php b/tests/assignref/assignref.php index d215d415e..ec5d7a96b 100644 --- a/tests/assignref/assignref.php +++ b/tests/assignref/assignref.php @@ -34,3 +34,4 @@ public function test() { $test = ['key' => &$value]; $test = ['key' => &$value['something']]; +$x = $y =& $z; diff --git a/tests/parens/__snapshots__/jsfmt.spec.mjs.snap b/tests/parens/__snapshots__/jsfmt.spec.mjs.snap index 31670dbe0..b77074bad 100644 --- a/tests/parens/__snapshots__/jsfmt.spec.mjs.snap +++ b/tests/parens/__snapshots__/jsfmt.spec.mjs.snap @@ -672,14 +672,14 @@ $test = $var = &$test; $test = $var = &$test; $a = ($b = $var) + 5; -$a = $b = &$var + 5; +$a = ($b = &$var) + 5; $a = ($b = $var) || 5; -$a = $b = &$var || 5; +$a = ($b = &$var) || 5; -if ($foo = &$bar && count($foo) > 0) { +if (($foo = &$bar) && count($foo) > 0) { } -if ($foo = &test1() && test2($foo) > 0) { +if (($foo = &test1()) && test2($foo) > 0) { } call($a = &$b); @@ -720,14 +720,14 @@ $test = $var = &$test; $test = $var = &$test; $a = ($b = $var) + 5; -$a = $b = &$var + 5; +$a = ($b = &$var) + 5; $a = ($b = $var) || 5; -$a = $b = &$var || 5; +$a = ($b = &$var) || 5; -if ($foo = &$bar && count($foo) > 0) { +if (($foo = &$bar) && count($foo) > 0) { } -if ($foo = &test1() && test2($foo) > 0) { +if (($foo = &test1()) && test2($foo) > 0) { } call($a = &$b);