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