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