@@ -675,6 +675,84 @@ function plus($a, $b) {
675
675
<token_keyword>function </token_keyword><token_default>plus</token_default><token_keyword>(</token_keyword><token_default>$a</token_default><token_keyword>, </token_keyword><token_default>$b</token_default><token_keyword>) {</token_keyword>
676
676
<token_keyword> return </token_keyword><token_default>$a </token_default><token_keyword>+ </token_keyword><token_default>$b</token_default><token_keyword>;</token_keyword>
677
677
<token_keyword>}</token_keyword>
678
+ EOL
679
+ ),
680
+ 'Keywords: while, empty, exit ' => array (
681
+ 'original ' => <<<'EOL'
682
+ <?php
683
+ while(empty($a)) { exit; }
684
+ EOL
685
+ ,
686
+ 'expected ' => <<<'EOL'
687
+ <token_default><?php</token_default>
688
+ <token_keyword>while(empty(</token_keyword><token_default>$a</token_default><token_keyword>)) { exit; }</token_keyword>
689
+ EOL
690
+ ),
691
+ 'Keywords: type casts ' => array (
692
+ 'original ' => <<<'EOL'
693
+ <?php
694
+ $a = (int) (bool) $a . (string) $b;
695
+ EOL
696
+ ,
697
+ 'expected ' => <<<'EOL'
698
+ <token_default><?php</token_default>
699
+ <token_default>$a </token_default><token_keyword>= (int) (bool) </token_keyword><token_default>$a </token_default><token_keyword>. (string) </token_keyword><token_default>$b</token_default><token_keyword>;</token_keyword>
700
+ EOL
701
+ ),
702
+ 'Keywords: new, clone ' => array (
703
+ 'original ' => <<<'EOL'
704
+ <?php
705
+ $obj = new stdClass;
706
+ $clone = clone $obj;
707
+ EOL
708
+ ,
709
+ 'expected ' => <<<'EOL'
710
+ <token_default><?php</token_default>
711
+ <token_default>$obj </token_default><token_keyword>= new </token_keyword><token_default>stdClass</token_default><token_keyword>;</token_keyword>
712
+ <token_default>$clone </token_default><token_keyword>= clone </token_keyword><token_default>$obj</token_default><token_keyword>;</token_keyword>
713
+ EOL
714
+ ),
715
+ 'Operators: arithmetic operators ' => array (
716
+ 'original ' => <<<'EOL'
717
+ <?php
718
+ echo 1 + 2 - 2 * 10 / 5 ** 1;
719
+ EOL
720
+ ,
721
+ 'expected ' => <<<'EOL'
722
+ <token_default><?php</token_default>
723
+ <token_keyword>echo </token_keyword><token_default>1 </token_default><token_keyword>+ </token_keyword><token_default>2 </token_default><token_keyword>- </token_keyword><token_default>2 </token_default><token_keyword>* </token_keyword><token_default>10 </token_default><token_keyword>/ </token_keyword><token_default>5 </token_default><token_keyword>** </token_keyword><token_default>1</token_default><token_keyword>;</token_keyword>
724
+ EOL
725
+ ),
726
+ 'Operators: assignment operators ' => array (
727
+ 'original ' => <<<'EOL'
728
+ <?php
729
+ $a = 10;
730
+ $a *= 10;
731
+ $a ^= 10;
732
+ $a ??= $b;
733
+ EOL
734
+ ,
735
+ 'expected ' => <<<'EOL'
736
+ <token_default><?php</token_default>
737
+ <token_default>$a </token_default><token_keyword>= </token_keyword><token_default>10</token_default><token_keyword>;</token_keyword>
738
+ <token_default>$a </token_default><token_keyword>*= </token_keyword><token_default>10</token_default><token_keyword>;</token_keyword>
739
+ <token_default>$a </token_default><token_keyword>^= </token_keyword><token_default>10</token_default><token_keyword>;</token_keyword>
740
+ <token_default>$a </token_default><token_keyword>??= </token_keyword><token_default>$b</token_default><token_keyword>;</token_keyword>
741
+ EOL
742
+ ),
743
+ 'Operators: comparison, boolean and logical operators ' => array (
744
+ 'original ' => <<<'EOL'
745
+ <?php
746
+ echo '' === '' && '' !== '';
747
+ echo true || '' > '';
748
+ echo '' <=> '' and '' or ! '';
749
+ EOL
750
+ ,
751
+ 'expected ' => <<<'EOL'
752
+ <token_default><?php</token_default>
753
+ <token_keyword>echo </token_keyword><token_string>'' </token_string><token_keyword>=== </token_keyword><token_string>'' </token_string><token_keyword>&& </token_keyword><token_string>'' </token_string><token_keyword>!== </token_keyword><token_string>''</token_string><token_keyword>;</token_keyword>
754
+ <token_keyword>echo </token_keyword><token_default>true </token_default><token_keyword>|| </token_keyword><token_string>'' </token_string><token_keyword>> </token_keyword><token_string>''</token_string><token_keyword>;</token_keyword>
755
+ <token_keyword>echo </token_keyword><token_string>'' </token_string><token_keyword><=> </token_keyword><token_string>'' </token_string><token_keyword>and </token_keyword><token_string>'' </token_string><token_keyword>or ! </token_keyword><token_string>''</token_string><token_keyword>;</token_keyword>
678
756
EOL
679
757
),
680
758
);
0 commit comments