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