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