diff options
Diffstat (limited to 'ext/tokenizer/tests/token_get_all_variation13.phpt')
-rw-r--r-- | ext/tokenizer/tests/token_get_all_variation13.phpt | 1169 |
1 files changed, 1169 insertions, 0 deletions
diff --git a/ext/tokenizer/tests/token_get_all_variation13.phpt b/ext/tokenizer/tests/token_get_all_variation13.phpt new file mode 100644 index 0000000..9b2f3bc --- /dev/null +++ b/ext/tokenizer/tests/token_get_all_variation13.phpt @@ -0,0 +1,1169 @@ +--TEST-- +Test token_get_all() function : usage variations - with class/object 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 class/object keywords + * scope related : + * static - T_STATIC(346), global - T_GLOBAL(340), + * private - T_PRIVATE(343), public - T_PUBLIC(341), + * protected - T_PROTECTED(342) + * class/object related : + * var - T_VAR(347), abstract - T_ABSTRACT(345), + * interface - T_INTERFACE(353), class - T_CLASS(352), + * extends - T_EXTENDS(354), implements - T_IMPLEMENTS(355), new - T_NEW(299) +*/ + +echo "*** Testing token_get_all() : with class/object constructs ***\n"; + +$source = '<?php +interface MyInterface +{ + public const var $var = 10; +} +abstract class MyClass +{ + private var $a; + public var $b; + protected var $c; + static $d; + final $e = 10; + + abstract public function myFunction($a); +} +class ChildClass extends MyClass implements MyInterface +{ + global $value; + function myFunction($a) + { + $a = new ChildClass(); + if($a instanceof MyClass) + echo "object created"; + } +} +ChildClass::myFunction(10); +?>'; +$tokens = token_get_all($source); +var_dump($tokens); + +echo "Done" +?> +--EXPECTF-- +*** Testing token_get_all() : with class/object constructs *** +array(145) { + [0]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(6) "<?php +" + [2]=> + int(1) + } + [1]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(9) "interface" + [2]=> + int(2) + } + [2]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(2) + } + [3]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(11) "MyInterface" + [2]=> + int(2) + } + [4]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " +" + [2]=> + int(2) + } + [5]=> + string(1) "{" + [6]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(3) " + " + [2]=> + int(%d) + } + [7]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(6) "public" + [2]=> + int(4) + } + [8]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(4) + } + [9]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(5) "const" + [2]=> + int(4) + } + [10]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(4) + } + [11]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(3) "var" + [2]=> + int(4) + } + [12]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(4) + } + [13]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(4) "$var" + [2]=> + int(4) + } + [14]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(4) + } + [15]=> + string(1) "=" + [16]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(4) + } + [17]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(2) "10" + [2]=> + int(4) + } + [18]=> + string(1) ";" + [19]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " +" + [2]=> + int(4) + } + [20]=> + string(1) "}" + [21]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " +" + [2]=> + int(5) + } + [22]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(8) "abstract" + [2]=> + int(6) + } + [23]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(6) + } + [24]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(5) "class" + [2]=> + int(6) + } + [25]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(6) + } + [26]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(7) "MyClass" + [2]=> + int(6) + } + [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(7) "private" + [2]=> + int(8) + } + [31]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(8) + } + [32]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(3) "var" + [2]=> + int(8) + } + [33]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(8) + } + [34]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(2) "$a" + [2]=> + int(8) + } + [35]=> + string(1) ";" + [36]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(3) " + " + [2]=> + int(8) + } + [37]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(6) "public" + [2]=> + int(9) + } + [38]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(9) + } + [39]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(3) "var" + [2]=> + int(9) + } + [40]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(9) + } + [41]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(2) "$b" + [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(9) "protected" + [2]=> + int(10) + } + [45]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(10) + } + [46]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(3) "var" + [2]=> + int(10) + } + [47]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(10) + } + [48]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(2) "$c" + [2]=> + int(10) + } + [49]=> + string(1) ";" + [50]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(3) " + " + [2]=> + int(10) + } + [51]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(6) "static" + [2]=> + int(11) + } + [52]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(11) + } + [53]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(2) "$d" + [2]=> + int(11) + } + [54]=> + string(1) ";" + [55]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(3) " + " + [2]=> + int(11) + } + [56]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(5) "final" + [2]=> + int(12) + } + [57]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(12) + } + [58]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(2) "$e" + [2]=> + int(12) + } + [59]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(12) + } + [60]=> + string(1) "=" + [61]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(12) + } + [62]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(2) "10" + [2]=> + int(12) + } + [63]=> + string(1) ";" + [64]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(6) " + + " + [2]=> + int(12) + } + [65]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(8) "abstract" + [2]=> + int(14) + } + [66]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(14) + } + [67]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(6) "public" + [2]=> + int(14) + } + [68]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(14) + } + [69]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(8) "function" + [2]=> + int(14) + } + [70]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(14) + } + [71]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(10) "myFunction" + [2]=> + int(14) + } + [72]=> + string(1) "(" + [73]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(2) "$a" + [2]=> + int(14) + } + [74]=> + string(1) ")" + [75]=> + string(1) ";" + [76]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " +" + [2]=> + int(14) + } + [77]=> + string(1) "}" + [78]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " +" + [2]=> + int(15) + } + [79]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(5) "class" + [2]=> + int(16) + } + [80]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(16) + } + [81]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(10) "ChildClass" + [2]=> + int(16) + } + [82]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(16) + } + [83]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(7) "extends" + [2]=> + int(16) + } + [84]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(16) + } + [85]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(7) "MyClass" + [2]=> + int(16) + } + [86]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(16) + } + [87]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(10) "implements" + [2]=> + int(16) + } + [88]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(16) + } + [89]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(11) "MyInterface" + [2]=> + int(16) + } + [90]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " +" + [2]=> + int(16) + } + [91]=> + string(1) "{" + [92]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(3) " + " + [2]=> + int(17) + } + [93]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(6) "global" + [2]=> + int(18) + } + [94]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(18) + } + [95]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(6) "$value" + [2]=> + int(18) + } + [96]=> + string(1) ";" + [97]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(3) " + " + [2]=> + int(18) + } + [98]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(8) "function" + [2]=> + int(19) + } + [99]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(19) + } + [100]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(10) "myFunction" + [2]=> + int(19) + } + [101]=> + string(1) "(" + [102]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(2) "$a" + [2]=> + int(19) + } + [103]=> + string(1) ")" + [104]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(3) " + " + [2]=> + int(19) + } + [105]=> + string(1) "{" + [106]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(5) " + " + [2]=> + int(20) + } + [107]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(2) "$a" + [2]=> + int(21) + } + [108]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(21) + } + [109]=> + string(1) "=" + [110]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(21) + } + [111]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(3) "new" + [2]=> + int(21) + } + [112]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(21) + } + [113]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(10) "ChildClass" + [2]=> + int(21) + } + [114]=> + string(1) "(" + [115]=> + string(1) ")" + [116]=> + string(1) ";" + [117]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(5) " + " + [2]=> + int(21) + } + [118]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(2) "if" + [2]=> + int(22) + } + [119]=> + string(1) "(" + [120]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(2) "$a" + [2]=> + int(22) + } + [121]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(22) + } + [122]=> + array(3) { + [0]=> + int(288) + [1]=> + string(10) "instanceof" + [2]=> + int(22) + } + [123]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(22) + } + [124]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(7) "MyClass" + [2]=> + int(22) + } + [125]=> + string(1) ")" + [126]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(7) " + " + [2]=> + int(22) + } + [127]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(4) "echo" + [2]=> + int(23) + } + [128]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " " + [2]=> + int(23) + } + [129]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(16) ""object created"" + [2]=> + int(23) + } + [130]=> + string(1) ";" + [131]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(3) " + " + [2]=> + int(23) + } + [132]=> + string(1) "}" + [133]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " +" + [2]=> + int(24) + } + [134]=> + string(1) "}" + [135]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " +" + [2]=> + int(25) + } + [136]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(10) "ChildClass" + [2]=> + int(26) + } + [137]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(2) "::" + [2]=> + int(26) + } + [138]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(10) "myFunction" + [2]=> + int(26) + } + [139]=> + string(1) "(" + [140]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(2) "10" + [2]=> + int(26) + } + [141]=> + string(1) ")" + [142]=> + string(1) ";" + [143]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " +" + [2]=> + int(26) + } + [144]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(2) "?>" + [2]=> + int(27) + } +} +Done |