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