token_get_all_variation2.phpt 5.3 KB

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