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