summaryrefslogtreecommitdiff
path: root/ext/tokenizer/tests/bug76991.phpt
blob: 72f36cec3f766cc2ee4d367de184b19e3cc4f471 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
--TEST--
Bug #76991: Incorrect tokenization of multiple invalid flexible heredoc strings
--SKIPIF--
<?php if (!extension_loaded("tokenizer")) print "skip tokenizer extension not enabled"; ?>
--FILE--
<?php

$code = <<<CODE
<?php
<<<TEST
\$a
 TEST;

<<<END
\$a
 END;
CODE;
foreach (token_get_all($code) as $token) {
    if (is_array($token)) {
        echo token_name($token[0]) . ": " .str_replace("\n", '\n', $token[1]);
    } else {
        echo $token;
    }
    echo "\n";
}

?>
--EXPECT--
T_OPEN_TAG: <?php\n
T_START_HEREDOC: <<<TEST\n
T_VARIABLE: $a
T_ENCAPSED_AND_WHITESPACE: \n
T_END_HEREDOC:  TEST
;
T_WHITESPACE: \n\n
T_START_HEREDOC: <<<END\n
T_VARIABLE: $a
T_ENCAPSED_AND_WHITESPACE: \n
T_END_HEREDOC:  END
;