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