Annotation of embedaddon/php/ext/tokenizer/tests/token_get_all_variation12.phpt, revision 1.1.1.2

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>