1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003 |
- --TEST--
- Test token_get_all() function : usage variations - with function constructs
- --SKIPIF--
- <?php if (!extension_loaded("tokenizer")) print "skip"; ?>
- --FILE--
- <?php
- /* Prototype : array token_get_all(string $source)
- * Description: splits the given source into an array of PHP languange tokens
- * Source code: ext/tokenizer/tokenizer.c
- */
- /*
- * Testing token_get_all() with different function keywords
- * function - T_FUNCTION(333), return - T_RETURN(335)
- * different functions:
- * include() - T_INCLUDE(262), print() - T_PRINT(266),
- * isset() - T_ISSET(349), list() - T_LIST(358),
- * require() - T_REQUIRE(259), empty() - T_EMPTY(350),
- * declare() - T_DECLARE(324), array() - T_ARRAY(359),
- * __halt_compiler() - T_HALT_COMPILER(351)
- */
- echo "*** Testing token_get_all() : with different function constructs ***\n";
- $source = '<?php
- declare(VALUE=100);
- include("addfile.php");
- require("sumfile.php");
- function myFunction($a)
- {
- if($a % 2)
- return 1;
- else
- exit;
- }
- $a = VALUE;
- $b = 20;
- $c = array(1,2);
- $b >>= 2;
- if($b <= 0)
- die;
- else
- print($b);
- list($value1,$value2) = $c;
- if(empty($value1) && !isset($value1)) {
- myFunction();
- }
- ?>';
- $tokens = token_get_all($source);
- var_dump($tokens);
- echo "Done";
- ?>
- --EXPECTF--
- *** Testing token_get_all() : with different function constructs ***
- array(142) {
- [0]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(6) "<?php
- "
- [2]=>
- int(1)
- }
- [1]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(7) "declare"
- [2]=>
- int(2)
- }
- [2]=>
- string(1) "("
- [3]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(5) "VALUE"
- [2]=>
- int(2)
- }
- [4]=>
- string(1) "="
- [5]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(3) "100"
- [2]=>
- int(2)
- }
- [6]=>
- string(1) ")"
- [7]=>
- string(1) ";"
- [8]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "
- "
- [2]=>
- int(2)
- }
- [9]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(7) "include"
- [2]=>
- int(3)
- }
- [10]=>
- string(1) "("
- [11]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(13) ""addfile.php""
- [2]=>
- int(3)
- }
- [12]=>
- string(1) ")"
- [13]=>
- string(1) ";"
- [14]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "
- "
- [2]=>
- int(3)
- }
- [15]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(7) "require"
- [2]=>
- int(4)
- }
- [16]=>
- string(1) "("
- [17]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(13) ""sumfile.php""
- [2]=>
- int(4)
- }
- [18]=>
- string(1) ")"
- [19]=>
- string(1) ";"
- [20]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "
- "
- [2]=>
- int(4)
- }
- [21]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(8) "function"
- [2]=>
- int(6)
- }
- [22]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(6)
- }
- [23]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(10) "myFunction"
- [2]=>
- int(6)
- }
- [24]=>
- string(1) "("
- [25]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "$a"
- [2]=>
- int(6)
- }
- [26]=>
- string(1) ")"
- [27]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "
- "
- [2]=>
- int(6)
- }
- [28]=>
- string(1) "{"
- [29]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(3) "
- "
- [2]=>
- int(7)
- }
- [30]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "if"
- [2]=>
- int(8)
- }
- [31]=>
- string(1) "("
- [32]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "$a"
- [2]=>
- int(8)
- }
- [33]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(8)
- }
- [34]=>
- string(1) "%"
- [35]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(8)
- }
- [36]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "2"
- [2]=>
- int(8)
- }
- [37]=>
- string(1) ")"
- [38]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(5) "
- "
- [2]=>
- int(8)
- }
- [39]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(6) "return"
- [2]=>
- int(9)
- }
- [40]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(9)
- }
- [41]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "1"
- [2]=>
- int(9)
- }
- [42]=>
- string(1) ";"
- [43]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(3) "
- "
- [2]=>
- int(9)
- }
- [44]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(4) "else"
- [2]=>
- int(10)
- }
- [45]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(5) "
- "
- [2]=>
- int(10)
- }
- [46]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(4) "exit"
- [2]=>
- int(11)
- }
- [47]=>
- string(1) ";"
- [48]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "
- "
- [2]=>
- int(11)
- }
- [49]=>
- string(1) "}"
- [50]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "
- "
- [2]=>
- int(12)
- }
- [51]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "$a"
- [2]=>
- int(14)
- }
- [52]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(14)
- }
- [53]=>
- string(1) "="
- [54]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(14)
- }
- [55]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(5) "VALUE"
- [2]=>
- int(14)
- }
- [56]=>
- string(1) ";"
- [57]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "
- "
- [2]=>
- int(14)
- }
- [58]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "$b"
- [2]=>
- int(15)
- }
- [59]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(15)
- }
- [60]=>
- string(1) "="
- [61]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(15)
- }
- [62]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "20"
- [2]=>
- int(15)
- }
- [63]=>
- string(1) ";"
- [64]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "
- "
- [2]=>
- int(15)
- }
- [65]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "$c"
- [2]=>
- int(16)
- }
- [66]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(16)
- }
- [67]=>
- string(1) "="
- [68]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(16)
- }
- [69]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(5) "array"
- [2]=>
- int(16)
- }
- [70]=>
- string(1) "("
- [71]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "1"
- [2]=>
- int(16)
- }
- [72]=>
- string(1) ","
- [73]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "2"
- [2]=>
- int(16)
- }
- [74]=>
- string(1) ")"
- [75]=>
- string(1) ";"
- [76]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "
- "
- [2]=>
- int(16)
- }
- [77]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "$b"
- [2]=>
- int(17)
- }
- [78]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(17)
- }
- [79]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(3) ">>="
- [2]=>
- int(17)
- }
- [80]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(17)
- }
- [81]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "2"
- [2]=>
- int(17)
- }
- [82]=>
- string(1) ";"
- [83]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "
- "
- [2]=>
- int(17)
- }
- [84]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "if"
- [2]=>
- int(19)
- }
- [85]=>
- string(1) "("
- [86]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "$b"
- [2]=>
- int(19)
- }
- [87]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(19)
- }
- [88]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "<="
- [2]=>
- int(19)
- }
- [89]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(19)
- }
- [90]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "0"
- [2]=>
- int(19)
- }
- [91]=>
- string(1) ")"
- [92]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(3) "
- "
- [2]=>
- int(19)
- }
- [93]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(3) "die"
- [2]=>
- int(20)
- }
- [94]=>
- string(1) ";"
- [95]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "
- "
- [2]=>
- int(20)
- }
- [96]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(4) "else"
- [2]=>
- int(21)
- }
- [97]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(3) "
- "
- [2]=>
- int(21)
- }
- [98]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(5) "print"
- [2]=>
- int(22)
- }
- [99]=>
- string(1) "("
- [100]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "$b"
- [2]=>
- int(22)
- }
- [101]=>
- string(1) ")"
- [102]=>
- string(1) ";"
- [103]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "
- "
- [2]=>
- int(22)
- }
- [104]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(4) "list"
- [2]=>
- int(24)
- }
- [105]=>
- string(1) "("
- [106]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(7) "$value1"
- [2]=>
- int(24)
- }
- [107]=>
- string(1) ","
- [108]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(7) "$value2"
- [2]=>
- int(24)
- }
- [109]=>
- string(1) ")"
- [110]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(24)
- }
- [111]=>
- string(1) "="
- [112]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(24)
- }
- [113]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "$c"
- [2]=>
- int(24)
- }
- [114]=>
- string(1) ";"
- [115]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "
- "
- [2]=>
- int(24)
- }
- [116]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "if"
- [2]=>
- int(25)
- }
- [117]=>
- string(1) "("
- [118]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(5) "empty"
- [2]=>
- int(25)
- }
- [119]=>
- string(1) "("
- [120]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(7) "$value1"
- [2]=>
- int(25)
- }
- [121]=>
- string(1) ")"
- [122]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(25)
- }
- [123]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "&&"
- [2]=>
- int(25)
- }
- [124]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(25)
- }
- [125]=>
- string(1) "!"
- [126]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(5) "isset"
- [2]=>
- int(25)
- }
- [127]=>
- string(1) "("
- [128]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(7) "$value1"
- [2]=>
- int(25)
- }
- [129]=>
- string(1) ")"
- [130]=>
- string(1) ")"
- [131]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(25)
- }
- [132]=>
- string(1) "{"
- [133]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(3) "
- "
- [2]=>
- int(25)
- }
- [134]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(10) "myFunction"
- [2]=>
- int(26)
- }
- [135]=>
- string(1) "("
- [136]=>
- string(1) ")"
- [137]=>
- string(1) ";"
- [138]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "
- "
- [2]=>
- int(26)
- }
- [139]=>
- string(1) "}"
- [140]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "
- "
- [2]=>
- int(27)
- }
- [141]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "?>"
- [2]=>
- int(28)
- }
- }
- Done
|