Annotation of embedaddon/php/ext/tokenizer/tests/token_get_all_variation12.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test token_get_all() function : usage variations - with predefined language constants
3: --FILE--
4: <?php
5: /* Prototype : array token_get_all(string $source)
6: * Description: splits the given source into an array of PHP languange tokens
7: * Source code: ext/tokenizer/tokenizer.c
8: */
9:
10: /*
11: * Testing token_get_all() with following predefined language constants:
12: * __FILE__ - T_FILE(364)
13: * __CLASS__ - T_CLASS_C(360)
14: * __FUNCTION__ - T_FUNC_C(362)
15: * __LINE__ - T_LINE(363)
16: * __METHOD__ - T_METHOD_C(361)
17: */
18:
19: echo "*** Testing token_get_all() : with language constants ***\n";
20:
21: // parsing __FILE__ token
22: echo "-- with FILE --\n";
23: $source = "<?php
24: \$fp = fopen(__FILE__, 'r');
25: ?>";
26: var_dump( token_get_all($source));
27:
28: // parsing __CLASS__ and __FUNCTION__ tokens
29: echo "-- with CLASS and FUNCTION --\n";
30: $source = '<?php
31: class MyClass
32: {
33: echo __CLASS__;
34: function myFunction()
35: { echo __FUNCTION__; }
36: }
37: ?>';
38: var_dump( token_get_all($source));
39:
40: // parsing __LINE__ and __METHOD__ tokens
41: echo "-- with LINE and METHOD --\n";
42: $source = '<?php
43: $a = __LINE__;
44: $b = $b.__METHOD__;
45: ?>';
46: var_dump( token_get_all($source));
47:
48: echo "Done"
49: ?>
50: --EXPECTF--
51: *** Testing token_get_all() : with language constants ***
52: -- with FILE --
53: array(16) {
54: [0]=>
55: array(3) {
56: [0]=>
57: int(368)
58: [1]=>
59: string(6) "<?php "
60: [2]=>
61: int(1)
62: }
63: [1]=>
64: array(3) {
65: [0]=>
66: int(371)
67: [1]=>
68: string(1) "
69: "
70: [2]=>
71: int(1)
72: }
73: [2]=>
74: array(3) {
75: [0]=>
76: int(309)
77: [1]=>
78: string(3) "$fp"
79: [2]=>
80: int(2)
81: }
82: [3]=>
83: array(3) {
84: [0]=>
85: int(371)
86: [1]=>
87: string(1) " "
88: [2]=>
89: int(2)
90: }
91: [4]=>
92: string(1) "="
93: [5]=>
94: array(3) {
95: [0]=>
96: int(371)
97: [1]=>
98: string(2) " "
99: [2]=>
100: int(2)
101: }
102: [6]=>
103: array(3) {
104: [0]=>
105: int(307)
106: [1]=>
107: string(5) "fopen"
108: [2]=>
109: int(2)
110: }
111: [7]=>
112: string(1) "("
113: [8]=>
114: array(3) {
115: [0]=>
116: int(365)
117: [1]=>
118: string(8) "__FILE__"
119: [2]=>
120: int(2)
121: }
122: [9]=>
123: string(1) ","
124: [10]=>
125: array(3) {
126: [0]=>
127: int(371)
128: [1]=>
129: string(1) " "
130: [2]=>
131: int(2)
132: }
133: [11]=>
134: array(3) {
135: [0]=>
136: int(315)
137: [1]=>
138: string(3) "'r'"
139: [2]=>
140: int(2)
141: }
142: [12]=>
143: string(1) ")"
144: [13]=>
145: string(1) ";"
146: [14]=>
147: array(3) {
148: [0]=>
149: int(371)
150: [1]=>
151: string(1) "
152: "
153: [2]=>
154: int(2)
155: }
156: [15]=>
157: array(3) {
158: [0]=>
159: int(370)
160: [1]=>
161: string(2) "?>"
162: [2]=>
163: int(3)
164: }
165: }
166: -- with CLASS and FUNCTION --
167: array(30) {
168: [0]=>
169: array(3) {
170: [0]=>
171: int(368)
172: [1]=>
173: string(6) "<?php
174: "
175: [2]=>
176: int(1)
177: }
178: [1]=>
179: array(3) {
180: [0]=>
181: int(353)
182: [1]=>
183: string(5) "class"
184: [2]=>
185: int(2)
186: }
187: [2]=>
188: array(3) {
189: [0]=>
190: int(371)
191: [1]=>
192: string(1) " "
193: [2]=>
194: int(2)
195: }
196: [3]=>
197: array(3) {
198: [0]=>
199: int(307)
200: [1]=>
201: string(7) "MyClass"
202: [2]=>
203: int(2)
204: }
205: [4]=>
206: array(3) {
207: [0]=>
208: int(371)
209: [1]=>
210: string(1) "
211: "
212: [2]=>
213: int(2)
214: }
215: [5]=>
216: string(1) "{"
217: [6]=>
218: array(3) {
219: [0]=>
220: int(371)
221: [1]=>
222: string(3) "
223: "
224: [2]=>
225: int(3)
226: }
227: [7]=>
228: array(3) {
229: [0]=>
230: int(316)
231: [1]=>
232: string(4) "echo"
233: [2]=>
234: int(4)
235: }
236: [8]=>
237: array(3) {
238: [0]=>
239: int(371)
240: [1]=>
241: string(2) " "
242: [2]=>
243: int(4)
244: }
245: [9]=>
246: array(3) {
247: [0]=>
248: int(361)
249: [1]=>
250: string(9) "__CLASS__"
251: [2]=>
252: int(4)
253: }
254: [10]=>
255: string(1) ";"
256: [11]=>
257: array(3) {
258: [0]=>
259: int(371)
260: [1]=>
261: string(3) "
262: "
263: [2]=>
264: int(4)
265: }
266: [12]=>
267: array(3) {
268: [0]=>
269: int(334)
270: [1]=>
271: string(8) "function"
272: [2]=>
273: int(5)
274: }
275: [13]=>
276: array(3) {
277: [0]=>
278: int(371)
279: [1]=>
280: string(1) " "
281: [2]=>
282: int(5)
283: }
284: [14]=>
285: array(3) {
286: [0]=>
287: int(307)
288: [1]=>
289: string(10) "myFunction"
290: [2]=>
291: int(5)
292: }
293: [15]=>
294: string(1) "("
295: [16]=>
296: string(1) ")"
297: [17]=>
298: array(3) {
299: [0]=>
300: int(371)
301: [1]=>
302: string(3) "
303: "
304: [2]=>
305: int(5)
306: }
307: [18]=>
308: string(1) "{"
309: [19]=>
310: array(3) {
311: [0]=>
312: int(371)
313: [1]=>
314: string(2) " "
315: [2]=>
316: int(6)
317: }
318: [20]=>
319: array(3) {
320: [0]=>
321: int(316)
322: [1]=>
323: string(4) "echo"
324: [2]=>
325: int(6)
326: }
327: [21]=>
328: array(3) {
329: [0]=>
330: int(371)
331: [1]=>
332: string(2) " "
333: [2]=>
334: int(6)
335: }
336: [22]=>
337: array(3) {
338: [0]=>
339: int(363)
340: [1]=>
341: string(12) "__FUNCTION__"
342: [2]=>
343: int(6)
344: }
345: [23]=>
346: string(1) ";"
347: [24]=>
348: array(3) {
349: [0]=>
350: int(371)
351: [1]=>
352: string(1) " "
353: [2]=>
354: int(6)
355: }
356: [25]=>
357: string(1) "}"
358: [26]=>
359: array(3) {
360: [0]=>
361: int(371)
362: [1]=>
363: string(1) "
364: "
365: [2]=>
366: int(6)
367: }
368: [27]=>
369: string(1) "}"
370: [28]=>
371: array(3) {
372: [0]=>
373: int(371)
374: [1]=>
375: string(1) "
376: "
377: [2]=>
378: int(7)
379: }
380: [29]=>
381: array(3) {
382: [0]=>
383: int(370)
384: [1]=>
385: string(2) "?>"
386: [2]=>
387: int(8)
388: }
389: }
390: -- with LINE and METHOD --
391: array(19) {
392: [0]=>
393: array(3) {
394: [0]=>
395: int(368)
396: [1]=>
397: string(6) "<?php
398: "
399: [2]=>
400: int(1)
401: }
402: [1]=>
403: array(3) {
404: [0]=>
405: int(371)
406: [1]=>
407: string(2) " "
408: [2]=>
409: int(2)
410: }
411: [2]=>
412: array(3) {
413: [0]=>
414: int(309)
415: [1]=>
416: string(2) "$a"
417: [2]=>
418: int(2)
419: }
420: [3]=>
421: array(3) {
422: [0]=>
423: int(371)
424: [1]=>
425: string(1) " "
426: [2]=>
427: int(2)
428: }
429: [4]=>
430: string(1) "="
431: [5]=>
432: array(3) {
433: [0]=>
434: int(371)
435: [1]=>
436: string(1) " "
437: [2]=>
438: int(2)
439: }
440: [6]=>
441: array(3) {
442: [0]=>
443: int(364)
444: [1]=>
445: string(8) "__LINE__"
446: [2]=>
447: int(2)
448: }
449: [7]=>
450: string(1) ";"
451: [8]=>
452: array(3) {
453: [0]=>
454: int(371)
455: [1]=>
456: string(3) "
457: "
458: [2]=>
459: int(2)
460: }
461: [9]=>
462: array(3) {
463: [0]=>
464: int(309)
465: [1]=>
466: string(2) "$b"
467: [2]=>
468: int(3)
469: }
470: [10]=>
471: array(3) {
472: [0]=>
473: int(371)
474: [1]=>
475: string(1) " "
476: [2]=>
477: int(3)
478: }
479: [11]=>
480: string(1) "="
481: [12]=>
482: array(3) {
483: [0]=>
484: int(371)
485: [1]=>
486: string(1) " "
487: [2]=>
488: int(3)
489: }
490: [13]=>
491: array(3) {
492: [0]=>
493: int(309)
494: [1]=>
495: string(2) "$b"
496: [2]=>
497: int(3)
498: }
499: [14]=>
500: string(1) "."
501: [15]=>
502: array(3) {
503: [0]=>
504: int(362)
505: [1]=>
506: string(10) "__METHOD__"
507: [2]=>
508: int(3)
509: }
510: [16]=>
511: string(1) ";"
512: [17]=>
513: array(3) {
514: [0]=>
515: int(371)
516: [1]=>
517: string(1) "
518: "
519: [2]=>
520: int(3)
521: }
522: [18]=>
523: array(3) {
524: [0]=>
525: int(370)
526: [1]=>
527: string(2) "?>"
528: [2]=>
529: int(4)
530: }
531: }
532: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>