Security update for Core, with self-updated composer
[yaffs-website] / vendor / nikic / php-parser / test / code / prettyPrinter / expr / parentheses.test
diff --git a/vendor/nikic/php-parser/test/code/prettyPrinter/expr/parentheses.test b/vendor/nikic/php-parser/test/code/prettyPrinter/expr/parentheses.test
new file mode 100644 (file)
index 0000000..a49c110
--- /dev/null
@@ -0,0 +1,86 @@
+Pretty printer generates least-parentheses output
+-----
+<?php
+
+echo 'abc' . 'cde' . 'fgh';
+echo 'abc' . ('cde' . 'fgh');
+
+echo 'abc' . 1 + 2 . 'fgh';
+echo 'abc' . (1 + 2) . 'fgh';
+
+echo 1 * 2 + 3 / 4 % 5 . 6;
+echo 1 * (2 + 3) / (4 % (5 . 6));
+
+$a = $b = $c = $d = $f && true;
+($a = $b = $c = $d = $f) && true;
+$a = $b = $c = $d = $f and true;
+$a = $b = $c = $d = ($f and true);
+
+$a ? $b : $c ? $d : $e ? $f : $g;
+$a ? $b : ($c ? $d : ($e ? $f : $g));
+$a ? $b ? $c : $d : $f;
+
+$a ?? $b ?? $c;
+($a ?? $b) ?? $c;
+$a ?? ($b ? $c : $d);
+$a || ($b ?? $c);
+
+(1 > 0) > (1 < 0);
+++$a + $b;
+$a + $b++;
+
+$a ** $b ** $c;
+($a ** $b) ** $c;
+-1 ** 2;
+
+yield from $a and yield from $b;
+yield from ($a and yield from $b);
+
+print ($a and print $b);
+
+-(-$a);
++(+$a);
+-(--$a);
++(++$a);
+
+// The following will currently add unnecessary parentheses, because the pretty printer is not aware that assignment
+// and incdec only work on variables.
+!$a = $b;
+++$a ** $b;
+$a ** $b++;
+-----
+echo 'abc' . 'cde' . 'fgh';
+echo 'abc' . ('cde' . 'fgh');
+echo 'abc' . 1 + 2 . 'fgh';
+echo 'abc' . (1 + 2) . 'fgh';
+echo 1 * 2 + 3 / 4 % 5 . 6;
+echo 1 * (2 + 3) / (4 % (5 . 6));
+$a = $b = $c = $d = $f && true;
+($a = $b = $c = $d = $f) && true;
+$a = $b = $c = $d = $f and true;
+$a = $b = $c = $d = ($f and true);
+$a ? $b : $c ? $d : $e ? $f : $g;
+$a ? $b : ($c ? $d : ($e ? $f : $g));
+$a ? $b ? $c : $d : $f;
+$a ?? $b ?? $c;
+($a ?? $b) ?? $c;
+$a ?? ($b ? $c : $d);
+$a || ($b ?? $c);
+(1 > 0) > (1 < 0);
+++$a + $b;
+$a + $b++;
+$a ** $b ** $c;
+($a ** $b) ** $c;
+-1 ** 2;
+yield from $a and yield from $b;
+yield from ($a and yield from $b);
+print ($a and print $b);
+-(-$a);
++(+$a);
+-(--$a);
++(++$a);
+// The following will currently add unnecessary parentheses, because the pretty printer is not aware that assignment
+// and incdec only work on variables.
+!($a = $b);
+(++$a) ** $b;
+$a ** ($b++);