|
|
1.1 misho 1: --TEST--
2: Bug #26463 (token_get_all() does not correctly handle semicolons after T_END_HEREDOC)
3: --SKIPIF--
4: <?php if (!extension_loaded("tokenizer")) print "skip"; ?>
5: --FILE--
6: <?php
7: $str = '<?php
8: $x=<<<DD
9: jhdsjkfhjdsh
10: DD
11: ."";
12: $a=<<<DDDD
13: jhdsjkfhjdsh
14: DDDD;
15: ?>';
16: var_dump(token_get_all($str));
17: ?>
18: --EXPECTF--
19: array(19) {
20: [0]=>
21: array(3) {
22: [0]=>
23: int(%d)
24: [1]=>
25: string(6) "<?php
26: "
27: [2]=>
28: int(1)
29: }
30: [1]=>
31: array(3) {
32: [0]=>
33: int(%d)
34: [1]=>
35: string(2) "$x"
36: [2]=>
37: int(2)
38: }
39: [2]=>
40: string(1) "="
41: [3]=>
42: array(3) {
43: [0]=>
44: int(%d)
45: [1]=>
46: string(6) "<<<DD
47: "
48: [2]=>
49: int(2)
50: }
51: [4]=>
52: array(3) {
53: [0]=>
54: int(%d)
55: [1]=>
56: string(13) "jhdsjkfhjdsh
57: "
58: [2]=>
59: int(3)
60: }
61: [5]=>
62: array(3) {
63: [0]=>
64: int(%d)
65: [1]=>
66: string(2) "DD"
67: [2]=>
68: int(4)
69: }
70: [6]=>
71: array(3) {
72: [0]=>
73: int(%d)
74: [1]=>
75: string(1) "
76: "
77: [2]=>
78: int(4)
79: }
80: [7]=>
81: string(1) "."
82: [8]=>
83: array(3) {
84: [0]=>
85: int(%d)
86: [1]=>
87: string(2) """"
88: [2]=>
89: int(5)
90: }
91: [9]=>
92: string(1) ";"
93: [10]=>
94: array(3) {
95: [0]=>
96: int(%d)
97: [1]=>
98: string(1) "
99: "
100: [2]=>
101: int(5)
102: }
103: [11]=>
104: array(3) {
105: [0]=>
106: int(%d)
107: [1]=>
108: string(2) "$a"
109: [2]=>
110: int(6)
111: }
112: [12]=>
113: string(1) "="
114: [13]=>
115: array(3) {
116: [0]=>
117: int(%d)
118: [1]=>
119: string(8) "<<<DDDD
120: "
121: [2]=>
122: int(6)
123: }
124: [14]=>
125: array(3) {
126: [0]=>
127: int(%d)
128: [1]=>
129: string(13) "jhdsjkfhjdsh
130: "
131: [2]=>
132: int(7)
133: }
134: [15]=>
135: array(3) {
136: [0]=>
137: int(%d)
138: [1]=>
139: string(4) "DDDD"
140: [2]=>
141: int(8)
142: }
143: [16]=>
144: string(1) ";"
145: [17]=>
146: array(3) {
147: [0]=>
148: int(%d)
149: [1]=>
150: string(1) "
151: "
152: [2]=>
153: int(8)
154: }
155: [18]=>
156: array(3) {
157: [0]=>
158: int(%d)
159: [1]=>
160: string(2) "?>"
161: [2]=>
162: int(9)
163: }
164: }