token_get_all_variation6.phpt 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394
  1. --TEST--
  2. Test token_get_all() function : usage variations - with bitwise operators
  3. --SKIPIF--
  4. <?php if (!extension_loaded("tokenizer")) print "skip"; ?>
  5. --FILE--
  6. <?php
  7. /* Prototype : array token_get_all(string $source)
  8. * Description: splits the given source into an array of PHP languange tokens
  9. * Source code: ext/tokenizer/tokenizer.c
  10. */
  11. /*
  12. * Passing 'source' argument with different bitwise operators to test them for token
  13. * << - T_SL(287)
  14. * >> - T_SR(286)
  15. */
  16. echo "*** Testing token_get_all() : 'source' string with different bitwise operators ***\n";
  17. // bitwise operators : '<<' , '>>'
  18. $source = '<?php
  19. $a = 2, $b = 4;
  20. $a = $a << 2;
  21. $b = $b >> 2;
  22. var_dump($a);
  23. var_dump($b);
  24. ?>';
  25. var_dump( token_get_all($source));
  26. echo "Done"
  27. ?>
  28. --EXPECTF--
  29. *** Testing token_get_all() : 'source' string with different bitwise operators ***
  30. array(50) {
  31. [0]=>
  32. array(3) {
  33. [0]=>
  34. int(%d)
  35. [1]=>
  36. string(6) "<?php
  37. "
  38. [2]=>
  39. int(1)
  40. }
  41. [1]=>
  42. array(3) {
  43. [0]=>
  44. int(%d)
  45. [1]=>
  46. string(2) "$a"
  47. [2]=>
  48. int(2)
  49. }
  50. [2]=>
  51. array(3) {
  52. [0]=>
  53. int(%d)
  54. [1]=>
  55. string(1) " "
  56. [2]=>
  57. int(2)
  58. }
  59. [3]=>
  60. string(1) "="
  61. [4]=>
  62. array(3) {
  63. [0]=>
  64. int(%d)
  65. [1]=>
  66. string(1) " "
  67. [2]=>
  68. int(2)
  69. }
  70. [5]=>
  71. array(3) {
  72. [0]=>
  73. int(%d)
  74. [1]=>
  75. string(1) "2"
  76. [2]=>
  77. int(2)
  78. }
  79. [6]=>
  80. string(1) ","
  81. [7]=>
  82. array(3) {
  83. [0]=>
  84. int(%d)
  85. [1]=>
  86. string(1) " "
  87. [2]=>
  88. int(2)
  89. }
  90. [8]=>
  91. array(3) {
  92. [0]=>
  93. int(%d)
  94. [1]=>
  95. string(2) "$b"
  96. [2]=>
  97. int(2)
  98. }
  99. [9]=>
  100. array(3) {
  101. [0]=>
  102. int(%d)
  103. [1]=>
  104. string(1) " "
  105. [2]=>
  106. int(2)
  107. }
  108. [10]=>
  109. string(1) "="
  110. [11]=>
  111. array(3) {
  112. [0]=>
  113. int(%d)
  114. [1]=>
  115. string(1) " "
  116. [2]=>
  117. int(2)
  118. }
  119. [12]=>
  120. array(3) {
  121. [0]=>
  122. int(%d)
  123. [1]=>
  124. string(1) "4"
  125. [2]=>
  126. int(2)
  127. }
  128. [13]=>
  129. string(1) ";"
  130. [14]=>
  131. array(3) {
  132. [0]=>
  133. int(%d)
  134. [1]=>
  135. string(1) "
  136. "
  137. [2]=>
  138. int(2)
  139. }
  140. [15]=>
  141. array(3) {
  142. [0]=>
  143. int(%d)
  144. [1]=>
  145. string(2) "$a"
  146. [2]=>
  147. int(%d)
  148. }
  149. [16]=>
  150. array(3) {
  151. [0]=>
  152. int(%d)
  153. [1]=>
  154. string(1) " "
  155. [2]=>
  156. int(%d)
  157. }
  158. [17]=>
  159. string(1) "="
  160. [18]=>
  161. array(3) {
  162. [0]=>
  163. int(%d)
  164. [1]=>
  165. string(1) " "
  166. [2]=>
  167. int(%d)
  168. }
  169. [19]=>
  170. array(3) {
  171. [0]=>
  172. int(%d)
  173. [1]=>
  174. string(2) "$a"
  175. [2]=>
  176. int(%d)
  177. }
  178. [20]=>
  179. array(3) {
  180. [0]=>
  181. int(%d)
  182. [1]=>
  183. string(1) " "
  184. [2]=>
  185. int(%d)
  186. }
  187. [21]=>
  188. array(3) {
  189. [0]=>
  190. int(%d)
  191. [1]=>
  192. string(2) "<<"
  193. [2]=>
  194. int(%d)
  195. }
  196. [22]=>
  197. array(3) {
  198. [0]=>
  199. int(%d)
  200. [1]=>
  201. string(1) " "
  202. [2]=>
  203. int(%d)
  204. }
  205. [23]=>
  206. array(3) {
  207. [0]=>
  208. int(%d)
  209. [1]=>
  210. string(1) "2"
  211. [2]=>
  212. int(%d)
  213. }
  214. [24]=>
  215. string(1) ";"
  216. [25]=>
  217. array(3) {
  218. [0]=>
  219. int(%d)
  220. [1]=>
  221. string(1) "
  222. "
  223. [2]=>
  224. int(%d)
  225. }
  226. [26]=>
  227. array(3) {
  228. [0]=>
  229. int(%d)
  230. [1]=>
  231. string(2) "$b"
  232. [2]=>
  233. int(4)
  234. }
  235. [27]=>
  236. array(3) {
  237. [0]=>
  238. int(%d)
  239. [1]=>
  240. string(1) " "
  241. [2]=>
  242. int(4)
  243. }
  244. [28]=>
  245. string(1) "="
  246. [29]=>
  247. array(3) {
  248. [0]=>
  249. int(%d)
  250. [1]=>
  251. string(1) " "
  252. [2]=>
  253. int(4)
  254. }
  255. [30]=>
  256. array(3) {
  257. [0]=>
  258. int(%d)
  259. [1]=>
  260. string(2) "$b"
  261. [2]=>
  262. int(4)
  263. }
  264. [31]=>
  265. array(3) {
  266. [0]=>
  267. int(%d)
  268. [1]=>
  269. string(1) " "
  270. [2]=>
  271. int(4)
  272. }
  273. [32]=>
  274. array(3) {
  275. [0]=>
  276. int(%d)
  277. [1]=>
  278. string(2) ">>"
  279. [2]=>
  280. int(4)
  281. }
  282. [33]=>
  283. array(3) {
  284. [0]=>
  285. int(%d)
  286. [1]=>
  287. string(1) " "
  288. [2]=>
  289. int(4)
  290. }
  291. [34]=>
  292. array(3) {
  293. [0]=>
  294. int(%d)
  295. [1]=>
  296. string(1) "2"
  297. [2]=>
  298. int(4)
  299. }
  300. [35]=>
  301. string(1) ";"
  302. [36]=>
  303. array(3) {
  304. [0]=>
  305. int(%d)
  306. [1]=>
  307. string(1) "
  308. "
  309. [2]=>
  310. int(4)
  311. }
  312. [37]=>
  313. array(3) {
  314. [0]=>
  315. int(%d)
  316. [1]=>
  317. string(8) "var_dump"
  318. [2]=>
  319. int(5)
  320. }
  321. [38]=>
  322. string(1) "("
  323. [39]=>
  324. array(3) {
  325. [0]=>
  326. int(%d)
  327. [1]=>
  328. string(2) "$a"
  329. [2]=>
  330. int(5)
  331. }
  332. [40]=>
  333. string(1) ")"
  334. [41]=>
  335. string(1) ";"
  336. [42]=>
  337. array(3) {
  338. [0]=>
  339. int(%d)
  340. [1]=>
  341. string(1) "
  342. "
  343. [2]=>
  344. int(5)
  345. }
  346. [43]=>
  347. array(3) {
  348. [0]=>
  349. int(%d)
  350. [1]=>
  351. string(8) "var_dump"
  352. [2]=>
  353. int(6)
  354. }
  355. [44]=>
  356. string(1) "("
  357. [45]=>
  358. array(3) {
  359. [0]=>
  360. int(%d)
  361. [1]=>
  362. string(2) "$b"
  363. [2]=>
  364. int(6)
  365. }
  366. [46]=>
  367. string(1) ")"
  368. [47]=>
  369. string(1) ";"
  370. [48]=>
  371. array(3) {
  372. [0]=>
  373. int(%d)
  374. [1]=>
  375. string(1) "
  376. "
  377. [2]=>
  378. int(6)
  379. }
  380. [49]=>
  381. array(3) {
  382. [0]=>
  383. int(%d)
  384. [1]=>
  385. string(2) "?>"
  386. [2]=>
  387. int(7)
  388. }
  389. }
  390. Done