Annotation of embedaddon/php/ext/tokenizer/tests/token_get_all_variation12.phpt, revision 1.1.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>