Annotation of embedaddon/php/ext/tokenizer/tests/token_get_all_variation16.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test token_get_all() function : usage variations - with function constructs
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 different function keywords
12: * function - T_FUNCTION(333), return - T_RETURN(335)
13: * different functions:
14: * include() - T_INCLUDE(262), print() - T_PRINT(266),
15: * isset() - T_ISSET(349), list() - T_LIST(358),
16: * require() - T_REQUIRE(259), empty() - T_EMPTY(350),
17: * declare() - T_DECLARE(324), array() - T_ARRAY(359),
18: * __halt_compiler() - T_HALT_COMPILER(351)
19: */
20:
21: echo "*** Testing token_get_all() : with different function constructs ***\n";
22:
23: $source = '<?php
24: declare(VALUE=100);
25: include("addfile.php");
26: require("sumfile.php");
27:
28: function myFunction($a)
29: {
30: if($a % 2)
31: return 1;
32: else
33: exit;
34: }
35:
36: $a = VALUE;
37: $b = 20;
38: $c = array(1,2);
39: $b >>= 2;
40:
41: if($b <= 0)
42: die;
43: else
44: print($b);
45:
46: list($value1,$value2) = $c;
47: if(empty($value1) && !isset($value1)) {
48: __halt_compiler();
49: }
50: ?>';
51: $tokens = token_get_all($source);
52: var_dump($tokens);
53:
54: echo "Done"
55: ?>
56: --EXPECTF--
57: *** Testing token_get_all() : with different function constructs ***
58: array(135) {
59: [0]=>
60: array(3) {
61: [0]=>
62: int(%d)
63: [1]=>
64: string(6) "<?php
65: "
66: [2]=>
67: int(1)
68: }
69: [1]=>
70: array(3) {
71: [0]=>
72: int(%d)
73: [1]=>
74: string(7) "declare"
75: [2]=>
76: int(2)
77: }
78: [2]=>
79: string(1) "("
80: [3]=>
81: array(3) {
82: [0]=>
83: int(%d)
84: [1]=>
85: string(5) "VALUE"
86: [2]=>
87: int(2)
88: }
89: [4]=>
90: string(1) "="
91: [5]=>
92: array(3) {
93: [0]=>
94: int(%d)
95: [1]=>
96: string(3) "100"
97: [2]=>
98: int(2)
99: }
100: [6]=>
101: string(1) ")"
102: [7]=>
103: string(1) ";"
104: [8]=>
105: array(3) {
106: [0]=>
107: int(%d)
108: [1]=>
109: string(1) "
110: "
111: [2]=>
112: int(2)
113: }
114: [9]=>
115: array(3) {
116: [0]=>
117: int(%d)
118: [1]=>
119: string(7) "include"
120: [2]=>
121: int(3)
122: }
123: [10]=>
124: string(1) "("
125: [11]=>
126: array(3) {
127: [0]=>
128: int(%d)
129: [1]=>
130: string(13) ""addfile.php""
131: [2]=>
132: int(3)
133: }
134: [12]=>
135: string(1) ")"
136: [13]=>
137: string(1) ";"
138: [14]=>
139: array(3) {
140: [0]=>
141: int(%d)
142: [1]=>
143: string(1) "
144: "
145: [2]=>
146: int(3)
147: }
148: [15]=>
149: array(3) {
150: [0]=>
151: int(%d)
152: [1]=>
153: string(7) "require"
154: [2]=>
155: int(4)
156: }
157: [16]=>
158: string(1) "("
159: [17]=>
160: array(3) {
161: [0]=>
162: int(%d)
163: [1]=>
164: string(13) ""sumfile.php""
165: [2]=>
166: int(4)
167: }
168: [18]=>
169: string(1) ")"
170: [19]=>
171: string(1) ";"
172: [20]=>
173: array(3) {
174: [0]=>
175: int(%d)
176: [1]=>
177: string(2) "
178:
179: "
180: [2]=>
181: int(4)
182: }
183: [21]=>
184: array(3) {
185: [0]=>
186: int(%d)
187: [1]=>
188: string(8) "function"
189: [2]=>
190: int(6)
191: }
192: [22]=>
193: array(3) {
194: [0]=>
195: int(%d)
196: [1]=>
197: string(1) " "
198: [2]=>
199: int(6)
200: }
201: [23]=>
202: array(3) {
203: [0]=>
204: int(%d)
205: [1]=>
206: string(10) "myFunction"
207: [2]=>
208: int(6)
209: }
210: [24]=>
211: string(1) "("
212: [25]=>
213: array(3) {
214: [0]=>
215: int(%d)
216: [1]=>
217: string(2) "$a"
218: [2]=>
219: int(6)
220: }
221: [26]=>
222: string(1) ")"
223: [27]=>
224: array(3) {
225: [0]=>
226: int(%d)
227: [1]=>
228: string(1) "
229: "
230: [2]=>
231: int(6)
232: }
233: [28]=>
234: string(1) "{"
235: [29]=>
236: array(3) {
237: [0]=>
238: int(%d)
239: [1]=>
240: string(3) "
241: "
242: [2]=>
243: int(7)
244: }
245: [30]=>
246: array(3) {
247: [0]=>
248: int(%d)
249: [1]=>
250: string(2) "if"
251: [2]=>
252: int(8)
253: }
254: [31]=>
255: string(1) "("
256: [32]=>
257: array(3) {
258: [0]=>
259: int(%d)
260: [1]=>
261: string(2) "$a"
262: [2]=>
263: int(8)
264: }
265: [33]=>
266: array(3) {
267: [0]=>
268: int(%d)
269: [1]=>
270: string(1) " "
271: [2]=>
272: int(8)
273: }
274: [34]=>
275: string(1) "%"
276: [35]=>
277: array(3) {
278: [0]=>
279: int(%d)
280: [1]=>
281: string(1) " "
282: [2]=>
283: int(8)
284: }
285: [36]=>
286: array(3) {
287: [0]=>
288: int(%d)
289: [1]=>
290: string(1) "2"
291: [2]=>
292: int(8)
293: }
294: [37]=>
295: string(1) ")"
296: [38]=>
297: array(3) {
298: [0]=>
299: int(%d)
300: [1]=>
301: string(5) "
302: "
303: [2]=>
304: int(8)
305: }
306: [39]=>
307: array(3) {
308: [0]=>
309: int(%d)
310: [1]=>
311: string(6) "return"
312: [2]=>
313: int(9)
314: }
315: [40]=>
316: array(3) {
317: [0]=>
318: int(%d)
319: [1]=>
320: string(1) " "
321: [2]=>
322: int(9)
323: }
324: [41]=>
325: array(3) {
326: [0]=>
327: int(%d)
328: [1]=>
329: string(1) "1"
330: [2]=>
331: int(9)
332: }
333: [42]=>
334: string(1) ";"
335: [43]=>
336: array(3) {
337: [0]=>
338: int(%d)
339: [1]=>
340: string(3) "
341: "
342: [2]=>
343: int(9)
344: }
345: [44]=>
346: array(3) {
347: [0]=>
348: int(%d)
349: [1]=>
350: string(4) "else"
351: [2]=>
352: int(10)
353: }
354: [45]=>
355: array(3) {
356: [0]=>
357: int(%d)
358: [1]=>
359: string(5) "
360: "
361: [2]=>
362: int(10)
363: }
364: [46]=>
365: array(3) {
366: [0]=>
367: int(%d)
368: [1]=>
369: string(4) "exit"
370: [2]=>
371: int(11)
372: }
373: [47]=>
374: string(1) ";"
375: [48]=>
376: array(3) {
377: [0]=>
378: int(%d)
379: [1]=>
380: string(1) "
381: "
382: [2]=>
383: int(11)
384: }
385: [49]=>
386: string(1) "}"
387: [50]=>
388: array(3) {
389: [0]=>
390: int(%d)
391: [1]=>
392: string(2) "
393:
394: "
395: [2]=>
396: int(12)
397: }
398: [51]=>
399: array(3) {
400: [0]=>
401: int(%d)
402: [1]=>
403: string(2) "$a"
404: [2]=>
405: int(14)
406: }
407: [52]=>
408: array(3) {
409: [0]=>
410: int(%d)
411: [1]=>
412: string(1) " "
413: [2]=>
414: int(14)
415: }
416: [53]=>
417: string(1) "="
418: [54]=>
419: array(3) {
420: [0]=>
421: int(%d)
422: [1]=>
423: string(1) " "
424: [2]=>
425: int(14)
426: }
427: [55]=>
428: array(3) {
429: [0]=>
430: int(%d)
431: [1]=>
432: string(5) "VALUE"
433: [2]=>
434: int(14)
435: }
436: [56]=>
437: string(1) ";"
438: [57]=>
439: array(3) {
440: [0]=>
441: int(%d)
442: [1]=>
443: string(1) "
444: "
445: [2]=>
446: int(14)
447: }
448: [58]=>
449: array(3) {
450: [0]=>
451: int(%d)
452: [1]=>
453: string(2) "$b"
454: [2]=>
455: int(15)
456: }
457: [59]=>
458: array(3) {
459: [0]=>
460: int(%d)
461: [1]=>
462: string(1) " "
463: [2]=>
464: int(15)
465: }
466: [60]=>
467: string(1) "="
468: [61]=>
469: array(3) {
470: [0]=>
471: int(%d)
472: [1]=>
473: string(1) " "
474: [2]=>
475: int(15)
476: }
477: [62]=>
478: array(3) {
479: [0]=>
480: int(%d)
481: [1]=>
482: string(2) "20"
483: [2]=>
484: int(15)
485: }
486: [63]=>
487: string(1) ";"
488: [64]=>
489: array(3) {
490: [0]=>
491: int(%d)
492: [1]=>
493: string(1) "
494: "
495: [2]=>
496: int(15)
497: }
498: [65]=>
499: array(3) {
500: [0]=>
501: int(%d)
502: [1]=>
503: string(2) "$c"
504: [2]=>
505: int(16)
506: }
507: [66]=>
508: array(3) {
509: [0]=>
510: int(%d)
511: [1]=>
512: string(1) " "
513: [2]=>
514: int(16)
515: }
516: [67]=>
517: string(1) "="
518: [68]=>
519: array(3) {
520: [0]=>
521: int(%d)
522: [1]=>
523: string(1) " "
524: [2]=>
525: int(16)
526: }
527: [69]=>
528: array(3) {
529: [0]=>
530: int(%d)
531: [1]=>
532: string(5) "array"
533: [2]=>
534: int(16)
535: }
536: [70]=>
537: string(1) "("
538: [71]=>
539: array(3) {
540: [0]=>
541: int(%d)
542: [1]=>
543: string(1) "1"
544: [2]=>
545: int(16)
546: }
547: [72]=>
548: string(1) ","
549: [73]=>
550: array(3) {
551: [0]=>
552: int(%d)
553: [1]=>
554: string(1) "2"
555: [2]=>
556: int(16)
557: }
558: [74]=>
559: string(1) ")"
560: [75]=>
561: string(1) ";"
562: [76]=>
563: array(3) {
564: [0]=>
565: int(%d)
566: [1]=>
567: string(1) "
568: "
569: [2]=>
570: int(16)
571: }
572: [77]=>
573: array(3) {
574: [0]=>
575: int(%d)
576: [1]=>
577: string(2) "$b"
578: [2]=>
579: int(17)
580: }
581: [78]=>
582: array(3) {
583: [0]=>
584: int(%d)
585: [1]=>
586: string(1) " "
587: [2]=>
588: int(17)
589: }
590: [79]=>
591: array(3) {
592: [0]=>
593: int(%d)
594: [1]=>
595: string(3) ">>="
596: [2]=>
597: int(17)
598: }
599: [80]=>
600: array(3) {
601: [0]=>
602: int(%d)
603: [1]=>
604: string(1) " "
605: [2]=>
606: int(17)
607: }
608: [81]=>
609: array(3) {
610: [0]=>
611: int(%d)
612: [1]=>
613: string(1) "2"
614: [2]=>
615: int(17)
616: }
617: [82]=>
618: string(1) ";"
619: [83]=>
620: array(3) {
621: [0]=>
622: int(%d)
623: [1]=>
624: string(2) "
625:
626: "
627: [2]=>
628: int(17)
629: }
630: [84]=>
631: array(3) {
632: [0]=>
633: int(%d)
634: [1]=>
635: string(2) "if"
636: [2]=>
637: int(19)
638: }
639: [85]=>
640: string(1) "("
641: [86]=>
642: array(3) {
643: [0]=>
644: int(%d)
645: [1]=>
646: string(2) "$b"
647: [2]=>
648: int(19)
649: }
650: [87]=>
651: array(3) {
652: [0]=>
653: int(%d)
654: [1]=>
655: string(1) " "
656: [2]=>
657: int(19)
658: }
659: [88]=>
660: array(3) {
661: [0]=>
662: int(%d)
663: [1]=>
664: string(2) "<="
665: [2]=>
666: int(19)
667: }
668: [89]=>
669: array(3) {
670: [0]=>
671: int(%d)
672: [1]=>
673: string(1) " "
674: [2]=>
675: int(19)
676: }
677: [90]=>
678: array(3) {
679: [0]=>
680: int(%d)
681: [1]=>
682: string(1) "0"
683: [2]=>
684: int(19)
685: }
686: [91]=>
687: string(1) ")"
688: [92]=>
689: array(3) {
690: [0]=>
691: int(%d)
692: [1]=>
693: string(3) "
694: "
695: [2]=>
696: int(19)
697: }
698: [93]=>
699: array(3) {
700: [0]=>
701: int(%d)
702: [1]=>
703: string(3) "die"
704: [2]=>
705: int(20)
706: }
707: [94]=>
708: string(1) ";"
709: [95]=>
710: array(3) {
711: [0]=>
712: int(%d)
713: [1]=>
714: string(1) "
715: "
716: [2]=>
717: int(20)
718: }
719: [96]=>
720: array(3) {
721: [0]=>
722: int(%d)
723: [1]=>
724: string(4) "else"
725: [2]=>
726: int(21)
727: }
728: [97]=>
729: array(3) {
730: [0]=>
731: int(%d)
732: [1]=>
733: string(3) "
734: "
735: [2]=>
736: int(21)
737: }
738: [98]=>
739: array(3) {
740: [0]=>
741: int(%d)
742: [1]=>
743: string(5) "print"
744: [2]=>
745: int(22)
746: }
747: [99]=>
748: string(1) "("
749: [100]=>
750: array(3) {
751: [0]=>
752: int(%d)
753: [1]=>
754: string(2) "$b"
755: [2]=>
756: int(22)
757: }
758: [101]=>
759: string(1) ")"
760: [102]=>
761: string(1) ";"
762: [103]=>
763: array(3) {
764: [0]=>
765: int(%d)
766: [1]=>
767: string(2) "
768:
769: "
770: [2]=>
771: int(22)
772: }
773: [104]=>
774: array(3) {
775: [0]=>
776: int(%d)
777: [1]=>
778: string(4) "list"
779: [2]=>
780: int(24)
781: }
782: [105]=>
783: string(1) "("
784: [106]=>
785: array(3) {
786: [0]=>
787: int(%d)
788: [1]=>
789: string(7) "$value1"
790: [2]=>
791: int(24)
792: }
793: [107]=>
794: string(1) ","
795: [108]=>
796: array(3) {
797: [0]=>
798: int(%d)
799: [1]=>
800: string(7) "$value2"
801: [2]=>
802: int(24)
803: }
804: [109]=>
805: string(1) ")"
806: [110]=>
807: array(3) {
808: [0]=>
809: int(%d)
810: [1]=>
811: string(1) " "
812: [2]=>
813: int(24)
814: }
815: [111]=>
816: string(1) "="
817: [112]=>
818: array(3) {
819: [0]=>
820: int(%d)
821: [1]=>
822: string(1) " "
823: [2]=>
824: int(24)
825: }
826: [113]=>
827: array(3) {
828: [0]=>
829: int(%d)
830: [1]=>
831: string(2) "$c"
832: [2]=>
833: int(24)
834: }
835: [114]=>
836: string(1) ";"
837: [115]=>
838: array(3) {
839: [0]=>
840: int(%d)
841: [1]=>
842: string(1) "
843: "
844: [2]=>
845: int(24)
846: }
847: [116]=>
848: array(3) {
849: [0]=>
850: int(%d)
851: [1]=>
852: string(2) "if"
853: [2]=>
854: int(25)
855: }
856: [117]=>
857: string(1) "("
858: [118]=>
859: array(3) {
860: [0]=>
861: int(%d)
862: [1]=>
863: string(5) "empty"
864: [2]=>
865: int(25)
866: }
867: [119]=>
868: string(1) "("
869: [120]=>
870: array(3) {
871: [0]=>
872: int(%d)
873: [1]=>
874: string(7) "$value1"
875: [2]=>
876: int(25)
877: }
878: [121]=>
879: string(1) ")"
880: [122]=>
881: array(3) {
882: [0]=>
883: int(%d)
884: [1]=>
885: string(1) " "
886: [2]=>
887: int(25)
888: }
889: [123]=>
890: array(3) {
891: [0]=>
892: int(%d)
893: [1]=>
894: string(2) "&&"
895: [2]=>
896: int(25)
897: }
898: [124]=>
899: array(3) {
900: [0]=>
901: int(%d)
902: [1]=>
903: string(1) " "
904: [2]=>
905: int(25)
906: }
907: [125]=>
908: string(1) "!"
909: [126]=>
910: array(3) {
911: [0]=>
912: int(%d)
913: [1]=>
914: string(5) "isset"
915: [2]=>
916: int(25)
917: }
918: [127]=>
919: string(1) "("
920: [128]=>
921: array(3) {
922: [0]=>
923: int(%d)
924: [1]=>
925: string(7) "$value1"
926: [2]=>
927: int(25)
928: }
929: [129]=>
930: string(1) ")"
931: [130]=>
932: string(1) ")"
933: [131]=>
934: array(3) {
935: [0]=>
936: int(%d)
937: [1]=>
938: string(1) " "
939: [2]=>
940: int(25)
941: }
942: [132]=>
943: string(1) "{"
944: [133]=>
945: array(3) {
946: [0]=>
947: int(%d)
948: [1]=>
949: string(3) "
950: "
951: [2]=>
952: int(25)
953: }
954: [134]=>
955: array(3) {
956: [0]=>
957: int(%d)
958: [1]=>
959: string(15) "__halt_compiler"
960: [2]=>
961: int(26)
962: }
963: }
964: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>