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

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

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