Annotation of embedaddon/php/ext/tokenizer/tests/token_get_all_variation10.phpt, revision 1.1.1.2
1.1 misho 1: --TEST--
2: Test token_get_all() function : usage variations - with constant tokens
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)
8: * Description: splits the given source into an array of PHP languange tokens
9: * Source code: ext/tokenizer/tokenizer.c
10: */
11:
12: /*
13: * Using different types of constants in 'source' string to check them for token
14: * integer const - T_LNUMBER(305)
15: * float/double/real const - T_DNUMBER(306)
16: * string cosnt - T_CONSTANT_ESCAPED_STRING(315)
17: * bool const (no tokens specified) - T_UNKNOWN(307)
18: * null const (no tokens specified) - T_UNKNOWN(307)
19: */
20:
21: echo "*** Testing token_get_all() : 'source' string with different constants ***\n";
22:
23: $a = 1;
24: $b = 0;
25:
26: $source = array (
27: // int const
28: '<?php $a = 1 + 034; $b = $a + 0x3F; ?>',
29:
30: // float const
31: '<?php $a = 0.23E-2 + 0.43e2 + 0.5; ?>',
32:
33: // string const
34: '<?php $a = "hello ".\'world\'; ?>',
35:
36: // bool const
37: "<?php \$a = (\$b)? true : false; ?>",
38: "<?php \$b = (\$a)? FALSE : TRUE; ?>",
39:
40: // null const
41: '<?php $b = null | NULL; ?>'
42: );
43: for($count = 0; $count < count($source); $count++) {
44: echo "-- Iteration ".($count + 1)." --\n";
45: var_dump( token_get_all($source[$count]));
46: }
47:
48: echo "Done"
49: ?>
50: --EXPECTF--
51: *** Testing token_get_all() : 'source' string with different constants ***
52: -- Iteration 1 --
53: array(24) {
54: [0]=>
55: array(3) {
56: [0]=>
1.1.1.2 ! misho 57: int(%d)
1.1 misho 58: [1]=>
59: string(6) "<?php "
60: [2]=>
61: int(1)
62: }
63: [1]=>
64: array(3) {
65: [0]=>
1.1.1.2 ! misho 66: int(%d)
1.1 misho 67: [1]=>
68: string(2) "$a"
69: [2]=>
70: int(1)
71: }
72: [2]=>
73: array(3) {
74: [0]=>
1.1.1.2 ! misho 75: int(%d)
1.1 misho 76: [1]=>
77: string(1) " "
78: [2]=>
79: int(1)
80: }
81: [3]=>
82: string(1) "="
83: [4]=>
84: array(3) {
85: [0]=>
1.1.1.2 ! misho 86: int(%d)
1.1 misho 87: [1]=>
88: string(1) " "
89: [2]=>
90: int(1)
91: }
92: [5]=>
93: array(3) {
94: [0]=>
1.1.1.2 ! misho 95: int(%d)
1.1 misho 96: [1]=>
97: string(1) "1"
98: [2]=>
99: int(1)
100: }
101: [6]=>
102: array(3) {
103: [0]=>
1.1.1.2 ! misho 104: int(%d)
1.1 misho 105: [1]=>
106: string(1) " "
107: [2]=>
108: int(1)
109: }
110: [7]=>
111: string(1) "+"
112: [8]=>
113: array(3) {
114: [0]=>
1.1.1.2 ! misho 115: int(%d)
1.1 misho 116: [1]=>
117: string(1) " "
118: [2]=>
119: int(1)
120: }
121: [9]=>
122: array(3) {
123: [0]=>
1.1.1.2 ! misho 124: int(%d)
1.1 misho 125: [1]=>
126: string(3) "034"
127: [2]=>
128: int(1)
129: }
130: [10]=>
131: string(1) ";"
132: [11]=>
133: array(3) {
134: [0]=>
1.1.1.2 ! misho 135: int(%d)
1.1 misho 136: [1]=>
137: string(1) " "
138: [2]=>
139: int(1)
140: }
141: [12]=>
142: array(3) {
143: [0]=>
1.1.1.2 ! misho 144: int(%d)
1.1 misho 145: [1]=>
146: string(2) "$b"
147: [2]=>
148: int(1)
149: }
150: [13]=>
151: array(3) {
152: [0]=>
1.1.1.2 ! misho 153: int(%d)
1.1 misho 154: [1]=>
155: string(1) " "
156: [2]=>
157: int(1)
158: }
159: [14]=>
160: string(1) "="
161: [15]=>
162: array(3) {
163: [0]=>
1.1.1.2 ! misho 164: int(%d)
1.1 misho 165: [1]=>
166: string(1) " "
167: [2]=>
168: int(1)
169: }
170: [16]=>
171: array(3) {
172: [0]=>
1.1.1.2 ! misho 173: int(%d)
1.1 misho 174: [1]=>
175: string(2) "$a"
176: [2]=>
177: int(1)
178: }
179: [17]=>
180: array(3) {
181: [0]=>
1.1.1.2 ! misho 182: int(%d)
1.1 misho 183: [1]=>
184: string(1) " "
185: [2]=>
186: int(1)
187: }
188: [18]=>
189: string(1) "+"
190: [19]=>
191: array(3) {
192: [0]=>
1.1.1.2 ! misho 193: int(%d)
1.1 misho 194: [1]=>
195: string(1) " "
196: [2]=>
197: int(1)
198: }
199: [20]=>
200: array(3) {
201: [0]=>
1.1.1.2 ! misho 202: int(%d)
1.1 misho 203: [1]=>
204: string(4) "0x3F"
205: [2]=>
206: int(1)
207: }
208: [21]=>
209: string(1) ";"
210: [22]=>
211: array(3) {
212: [0]=>
1.1.1.2 ! misho 213: int(%d)
1.1 misho 214: [1]=>
215: string(1) " "
216: [2]=>
217: int(1)
218: }
219: [23]=>
220: array(3) {
221: [0]=>
1.1.1.2 ! misho 222: int(%d)
1.1 misho 223: [1]=>
224: string(2) "?>"
225: [2]=>
226: int(1)
227: }
228: }
229: -- Iteration 2 --
230: array(17) {
231: [0]=>
232: array(3) {
233: [0]=>
1.1.1.2 ! misho 234: int(%d)
1.1 misho 235: [1]=>
236: string(6) "<?php "
237: [2]=>
238: int(1)
239: }
240: [1]=>
241: array(3) {
242: [0]=>
1.1.1.2 ! misho 243: int(%d)
1.1 misho 244: [1]=>
245: string(2) "$a"
246: [2]=>
247: int(1)
248: }
249: [2]=>
250: array(3) {
251: [0]=>
1.1.1.2 ! misho 252: int(%d)
1.1 misho 253: [1]=>
254: string(1) " "
255: [2]=>
256: int(1)
257: }
258: [3]=>
259: string(1) "="
260: [4]=>
261: array(3) {
262: [0]=>
1.1.1.2 ! misho 263: int(%d)
1.1 misho 264: [1]=>
265: string(1) " "
266: [2]=>
267: int(1)
268: }
269: [5]=>
270: array(3) {
271: [0]=>
1.1.1.2 ! misho 272: int(%d)
1.1 misho 273: [1]=>
274: string(7) "0.23E-2"
275: [2]=>
276: int(1)
277: }
278: [6]=>
279: array(3) {
280: [0]=>
1.1.1.2 ! misho 281: int(%d)
1.1 misho 282: [1]=>
283: string(1) " "
284: [2]=>
285: int(1)
286: }
287: [7]=>
288: string(1) "+"
289: [8]=>
290: array(3) {
291: [0]=>
1.1.1.2 ! misho 292: int(%d)
1.1 misho 293: [1]=>
294: string(1) " "
295: [2]=>
296: int(1)
297: }
298: [9]=>
299: array(3) {
300: [0]=>
1.1.1.2 ! misho 301: int(%d)
1.1 misho 302: [1]=>
303: string(6) "0.43e2"
304: [2]=>
305: int(1)
306: }
307: [10]=>
308: array(3) {
309: [0]=>
1.1.1.2 ! misho 310: int(%d)
1.1 misho 311: [1]=>
312: string(1) " "
313: [2]=>
314: int(1)
315: }
316: [11]=>
317: string(1) "+"
318: [12]=>
319: array(3) {
320: [0]=>
1.1.1.2 ! misho 321: int(%d)
1.1 misho 322: [1]=>
323: string(1) " "
324: [2]=>
325: int(1)
326: }
327: [13]=>
328: array(3) {
329: [0]=>
1.1.1.2 ! misho 330: int(%d)
1.1 misho 331: [1]=>
332: string(3) "0.5"
333: [2]=>
334: int(1)
335: }
336: [14]=>
337: string(1) ";"
338: [15]=>
339: array(3) {
340: [0]=>
1.1.1.2 ! misho 341: int(%d)
1.1 misho 342: [1]=>
343: string(1) " "
344: [2]=>
345: int(1)
346: }
347: [16]=>
348: array(3) {
349: [0]=>
1.1.1.2 ! misho 350: int(%d)
1.1 misho 351: [1]=>
352: string(2) "?>"
353: [2]=>
354: int(1)
355: }
356: }
357: -- Iteration 3 --
358: array(11) {
359: [0]=>
360: array(3) {
361: [0]=>
1.1.1.2 ! misho 362: int(%d)
1.1 misho 363: [1]=>
364: string(6) "<?php "
365: [2]=>
366: int(1)
367: }
368: [1]=>
369: array(3) {
370: [0]=>
1.1.1.2 ! misho 371: int(%d)
1.1 misho 372: [1]=>
373: string(2) "$a"
374: [2]=>
375: int(1)
376: }
377: [2]=>
378: array(3) {
379: [0]=>
1.1.1.2 ! misho 380: int(%d)
1.1 misho 381: [1]=>
382: string(1) " "
383: [2]=>
384: int(1)
385: }
386: [3]=>
387: string(1) "="
388: [4]=>
389: array(3) {
390: [0]=>
1.1.1.2 ! misho 391: int(%d)
1.1 misho 392: [1]=>
393: string(1) " "
394: [2]=>
395: int(1)
396: }
397: [5]=>
398: array(3) {
399: [0]=>
1.1.1.2 ! misho 400: int(%d)
1.1 misho 401: [1]=>
402: string(8) ""hello ""
403: [2]=>
404: int(1)
405: }
406: [6]=>
407: string(1) "."
408: [7]=>
409: array(3) {
410: [0]=>
1.1.1.2 ! misho 411: int(%d)
1.1 misho 412: [1]=>
413: string(7) "'world'"
414: [2]=>
415: int(1)
416: }
417: [8]=>
418: string(1) ";"
419: [9]=>
420: array(3) {
421: [0]=>
1.1.1.2 ! misho 422: int(%d)
1.1 misho 423: [1]=>
424: string(1) " "
425: [2]=>
426: int(1)
427: }
428: [10]=>
429: array(3) {
430: [0]=>
1.1.1.2 ! misho 431: int(%d)
1.1 misho 432: [1]=>
433: string(2) "?>"
434: [2]=>
435: int(1)
436: }
437: }
438: -- Iteration 4 --
439: array(18) {
440: [0]=>
441: array(3) {
442: [0]=>
1.1.1.2 ! misho 443: int(%d)
1.1 misho 444: [1]=>
445: string(6) "<?php "
446: [2]=>
447: int(1)
448: }
449: [1]=>
450: array(3) {
451: [0]=>
1.1.1.2 ! misho 452: int(%d)
1.1 misho 453: [1]=>
454: string(2) "$a"
455: [2]=>
456: int(1)
457: }
458: [2]=>
459: array(3) {
460: [0]=>
1.1.1.2 ! misho 461: int(%d)
1.1 misho 462: [1]=>
463: string(1) " "
464: [2]=>
465: int(1)
466: }
467: [3]=>
468: string(1) "="
469: [4]=>
470: array(3) {
471: [0]=>
1.1.1.2 ! misho 472: int(%d)
1.1 misho 473: [1]=>
474: string(1) " "
475: [2]=>
476: int(1)
477: }
478: [5]=>
479: string(1) "("
480: [6]=>
481: array(3) {
482: [0]=>
1.1.1.2 ! misho 483: int(%d)
1.1 misho 484: [1]=>
485: string(2) "$b"
486: [2]=>
487: int(1)
488: }
489: [7]=>
490: string(1) ")"
491: [8]=>
492: string(1) "?"
493: [9]=>
494: array(3) {
495: [0]=>
1.1.1.2 ! misho 496: int(%d)
1.1 misho 497: [1]=>
498: string(1) " "
499: [2]=>
500: int(1)
501: }
502: [10]=>
503: array(3) {
504: [0]=>
1.1.1.2 ! misho 505: int(%d)
1.1 misho 506: [1]=>
507: string(4) "true"
508: [2]=>
509: int(1)
510: }
511: [11]=>
512: array(3) {
513: [0]=>
1.1.1.2 ! misho 514: int(%d)
1.1 misho 515: [1]=>
516: string(1) " "
517: [2]=>
518: int(1)
519: }
520: [12]=>
521: string(1) ":"
522: [13]=>
523: array(3) {
524: [0]=>
1.1.1.2 ! misho 525: int(%d)
1.1 misho 526: [1]=>
527: string(1) " "
528: [2]=>
529: int(1)
530: }
531: [14]=>
532: array(3) {
533: [0]=>
1.1.1.2 ! misho 534: int(%d)
1.1 misho 535: [1]=>
536: string(5) "false"
537: [2]=>
538: int(1)
539: }
540: [15]=>
541: string(1) ";"
542: [16]=>
543: array(3) {
544: [0]=>
1.1.1.2 ! misho 545: int(%d)
1.1 misho 546: [1]=>
547: string(1) " "
548: [2]=>
549: int(1)
550: }
551: [17]=>
552: array(3) {
553: [0]=>
1.1.1.2 ! misho 554: int(%d)
1.1 misho 555: [1]=>
556: string(2) "?>"
557: [2]=>
558: int(1)
559: }
560: }
561: -- Iteration 5 --
562: array(18) {
563: [0]=>
564: array(3) {
565: [0]=>
1.1.1.2 ! misho 566: int(%d)
1.1 misho 567: [1]=>
568: string(6) "<?php "
569: [2]=>
570: int(1)
571: }
572: [1]=>
573: array(3) {
574: [0]=>
1.1.1.2 ! misho 575: int(%d)
1.1 misho 576: [1]=>
577: string(2) "$b"
578: [2]=>
579: int(1)
580: }
581: [2]=>
582: array(3) {
583: [0]=>
1.1.1.2 ! misho 584: int(%d)
1.1 misho 585: [1]=>
586: string(1) " "
587: [2]=>
588: int(1)
589: }
590: [3]=>
591: string(1) "="
592: [4]=>
593: array(3) {
594: [0]=>
1.1.1.2 ! misho 595: int(%d)
1.1 misho 596: [1]=>
597: string(1) " "
598: [2]=>
599: int(1)
600: }
601: [5]=>
602: string(1) "("
603: [6]=>
604: array(3) {
605: [0]=>
1.1.1.2 ! misho 606: int(%d)
1.1 misho 607: [1]=>
608: string(2) "$a"
609: [2]=>
610: int(1)
611: }
612: [7]=>
613: string(1) ")"
614: [8]=>
615: string(1) "?"
616: [9]=>
617: array(3) {
618: [0]=>
1.1.1.2 ! misho 619: int(%d)
1.1 misho 620: [1]=>
621: string(1) " "
622: [2]=>
623: int(1)
624: }
625: [10]=>
626: array(3) {
627: [0]=>
1.1.1.2 ! misho 628: int(%d)
1.1 misho 629: [1]=>
630: string(5) "FALSE"
631: [2]=>
632: int(1)
633: }
634: [11]=>
635: array(3) {
636: [0]=>
1.1.1.2 ! misho 637: int(%d)
1.1 misho 638: [1]=>
639: string(1) " "
640: [2]=>
641: int(1)
642: }
643: [12]=>
644: string(1) ":"
645: [13]=>
646: array(3) {
647: [0]=>
1.1.1.2 ! misho 648: int(%d)
1.1 misho 649: [1]=>
650: string(1) " "
651: [2]=>
652: int(1)
653: }
654: [14]=>
655: array(3) {
656: [0]=>
1.1.1.2 ! misho 657: int(%d)
1.1 misho 658: [1]=>
659: string(4) "TRUE"
660: [2]=>
661: int(1)
662: }
663: [15]=>
664: string(1) ";"
665: [16]=>
666: array(3) {
667: [0]=>
1.1.1.2 ! misho 668: int(%d)
1.1 misho 669: [1]=>
670: string(1) " "
671: [2]=>
672: int(1)
673: }
674: [17]=>
675: array(3) {
676: [0]=>
1.1.1.2 ! misho 677: int(%d)
1.1 misho 678: [1]=>
679: string(2) "?>"
680: [2]=>
681: int(1)
682: }
683: }
684: -- Iteration 6 --
685: array(13) {
686: [0]=>
687: array(3) {
688: [0]=>
1.1.1.2 ! misho 689: int(%d)
1.1 misho 690: [1]=>
691: string(6) "<?php "
692: [2]=>
693: int(1)
694: }
695: [1]=>
696: array(3) {
697: [0]=>
1.1.1.2 ! misho 698: int(%d)
1.1 misho 699: [1]=>
700: string(2) "$b"
701: [2]=>
702: int(1)
703: }
704: [2]=>
705: array(3) {
706: [0]=>
1.1.1.2 ! misho 707: int(%d)
1.1 misho 708: [1]=>
709: string(1) " "
710: [2]=>
711: int(1)
712: }
713: [3]=>
714: string(1) "="
715: [4]=>
716: array(3) {
717: [0]=>
1.1.1.2 ! misho 718: int(%d)
1.1 misho 719: [1]=>
720: string(1) " "
721: [2]=>
722: int(1)
723: }
724: [5]=>
725: array(3) {
726: [0]=>
1.1.1.2 ! misho 727: int(%d)
1.1 misho 728: [1]=>
729: string(4) "null"
730: [2]=>
731: int(1)
732: }
733: [6]=>
734: array(3) {
735: [0]=>
1.1.1.2 ! misho 736: int(%d)
1.1 misho 737: [1]=>
738: string(1) " "
739: [2]=>
740: int(1)
741: }
742: [7]=>
743: string(1) "|"
744: [8]=>
745: array(3) {
746: [0]=>
1.1.1.2 ! misho 747: int(%d)
1.1 misho 748: [1]=>
749: string(1) " "
750: [2]=>
751: int(1)
752: }
753: [9]=>
754: array(3) {
755: [0]=>
1.1.1.2 ! misho 756: int(%d)
1.1 misho 757: [1]=>
758: string(4) "NULL"
759: [2]=>
760: int(1)
761: }
762: [10]=>
763: string(1) ";"
764: [11]=>
765: array(3) {
766: [0]=>
1.1.1.2 ! misho 767: int(%d)
1.1 misho 768: [1]=>
769: string(1) " "
770: [2]=>
771: int(1)
772: }
773: [12]=>
774: array(3) {
775: [0]=>
1.1.1.2 ! misho 776: int(%d)
1.1 misho 777: [1]=>
778: string(2) "?>"
779: [2]=>
780: int(1)
781: }
782: }
783: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>