bug76991.phpt 644 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. --TEST--
  2. Bug #76991: Incorrect tokenization of multiple invalid flexible heredoc strings
  3. --EXTENSIONS--
  4. tokenizer
  5. --FILE--
  6. <?php
  7. $code = <<<CODE
  8. <?php
  9. <<<TEST
  10. \$a
  11. TEST;
  12. <<<END
  13. \$a
  14. END;
  15. CODE;
  16. foreach (token_get_all($code) as $token) {
  17. if (is_array($token)) {
  18. echo token_name($token[0]) . ": " .str_replace("\n", '\n', $token[1]);
  19. } else {
  20. echo $token;
  21. }
  22. echo "\n";
  23. }
  24. ?>
  25. --EXPECT--
  26. T_OPEN_TAG: <?php\n
  27. T_START_HEREDOC: <<<TEST\n
  28. T_VARIABLE: $a
  29. T_ENCAPSED_AND_WHITESPACE: \n
  30. T_END_HEREDOC: TEST
  31. ;
  32. T_WHITESPACE: \n\n
  33. T_START_HEREDOC: <<<END\n
  34. T_VARIABLE: $a
  35. T_ENCAPSED_AND_WHITESPACE: \n
  36. T_END_HEREDOC: END
  37. ;