Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / vendor / nikic / php-parser / test / code / prettyPrinter / expr / parentheses.test
1 Pretty printer generates least-parentheses output
2 -----
3 <?php
4
5 echo 'abc' . 'cde' . 'fgh';
6 echo 'abc' . ('cde' . 'fgh');
7
8 echo 'abc' . 1 + 2 . 'fgh';
9 echo 'abc' . (1 + 2) . 'fgh';
10
11 echo 1 * 2 + 3 / 4 % 5 . 6;
12 echo 1 * (2 + 3) / (4 % (5 . 6));
13
14 $a = $b = $c = $d = $f && true;
15 ($a = $b = $c = $d = $f) && true;
16 $a = $b = $c = $d = $f and true;
17 $a = $b = $c = $d = ($f and true);
18
19 $a ? $b : $c ? $d : $e ? $f : $g;
20 $a ? $b : ($c ? $d : ($e ? $f : $g));
21 $a ? $b ? $c : $d : $f;
22
23 $a ?? $b ?? $c;
24 ($a ?? $b) ?? $c;
25 $a ?? ($b ? $c : $d);
26 $a || ($b ?? $c);
27
28 (1 > 0) > (1 < 0);
29 ++$a + $b;
30 $a + $b++;
31
32 $a ** $b ** $c;
33 ($a ** $b) ** $c;
34 -1 ** 2;
35
36 yield from $a and yield from $b;
37 yield from ($a and yield from $b);
38
39 print ($a and print $b);
40
41 -(-$a);
42 +(+$a);
43 -(--$a);
44 +(++$a);
45
46 // The following will currently add unnecessary parentheses, because the pretty printer is not aware that assignment
47 // and incdec only work on variables.
48 !$a = $b;
49 ++$a ** $b;
50 $a ** $b++;
51 -----
52 echo 'abc' . 'cde' . 'fgh';
53 echo 'abc' . ('cde' . 'fgh');
54 echo 'abc' . 1 + 2 . 'fgh';
55 echo 'abc' . (1 + 2) . 'fgh';
56 echo 1 * 2 + 3 / 4 % 5 . 6;
57 echo 1 * (2 + 3) / (4 % (5 . 6));
58 $a = $b = $c = $d = $f && true;
59 ($a = $b = $c = $d = $f) && true;
60 $a = $b = $c = $d = $f and true;
61 $a = $b = $c = $d = ($f and true);
62 $a ? $b : $c ? $d : $e ? $f : $g;
63 $a ? $b : ($c ? $d : ($e ? $f : $g));
64 $a ? $b ? $c : $d : $f;
65 $a ?? $b ?? $c;
66 ($a ?? $b) ?? $c;
67 $a ?? ($b ? $c : $d);
68 $a || ($b ?? $c);
69 (1 > 0) > (1 < 0);
70 ++$a + $b;
71 $a + $b++;
72 $a ** $b ** $c;
73 ($a ** $b) ** $c;
74 -1 ** 2;
75 yield from $a and yield from $b;
76 yield from ($a and yield from $b);
77 print ($a and print $b);
78 -(-$a);
79 +(+$a);
80 -(--$a);
81 +(++$a);
82 // The following will currently add unnecessary parentheses, because the pretty printer is not aware that assignment
83 // and incdec only work on variables.
84 !($a = $b);
85 (++$a) ** $b;
86 $a ** ($b++);