sprintf_variation15.phpt 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331
  1. --TEST--
  2. Test sprintf() function : usage variations - string formats with string values
  3. --FILE--
  4. <?php
  5. echo "*** Testing sprintf() : string formats with string values ***\n";
  6. // defining different heredoc strings
  7. /* string created using Heredoc (<<<) */
  8. $heredoc_string = <<<EOT
  9. This is string defined
  10. using heredoc.
  11. EOT;
  12. /* heredoc string with only numerics */
  13. $heredoc_numeric_string = <<<EOT
  14. 123456 3993
  15. 4849 string
  16. EOT;
  17. /* null heardoc string */
  18. $heredoc_empty_string = <<<EOT
  19. EOT;
  20. $heredoc_null_string = <<<EOT
  21. NULL
  22. EOT;
  23. // array of strings used to test the function
  24. $string_values = array(
  25. "",
  26. " ",
  27. '',
  28. ' ',
  29. "string",
  30. 'string',
  31. "NULL",
  32. 'null',
  33. "FALSE",
  34. 'true',
  35. "\x0b",
  36. "\0",
  37. '\0',
  38. '\060',
  39. "\070",
  40. "0x55F",
  41. "055",
  42. "@#$#$%%$^^$%^%^$^&",
  43. $heredoc_string,
  44. $heredoc_numeric_string,
  45. $heredoc_empty_string,
  46. $heredoc_null_string
  47. );
  48. // array of string formats
  49. $string_formats = array(
  50. "%s", "%ls", " %s", "%s ",
  51. "\t%s", "\n%s", "%4s", "%30s",
  52. );
  53. $count = 1;
  54. foreach($string_values as $string_value) {
  55. echo "\n-- Iteration $count --\n";
  56. foreach($string_formats as $format) {
  57. var_dump( sprintf($format, $string_value) );
  58. }
  59. $count++;
  60. };
  61. echo "Done";
  62. ?>
  63. --EXPECTF--
  64. *** Testing sprintf() : string formats with string values ***
  65. -- Iteration 1 --
  66. string(0) ""
  67. string(0) ""
  68. string(1) " "
  69. string(1) " "
  70. string(1) " "
  71. string(1) "
  72. "
  73. string(4) " "
  74. string(30) " "
  75. -- Iteration 2 --
  76. string(1) " "
  77. string(1) " "
  78. string(2) " "
  79. string(2) " "
  80. string(2) " "
  81. string(2) "
  82. "
  83. string(4) " "
  84. string(30) " "
  85. -- Iteration 3 --
  86. string(0) ""
  87. string(0) ""
  88. string(1) " "
  89. string(1) " "
  90. string(1) " "
  91. string(1) "
  92. "
  93. string(4) " "
  94. string(30) " "
  95. -- Iteration 4 --
  96. string(1) " "
  97. string(1) " "
  98. string(2) " "
  99. string(2) " "
  100. string(2) " "
  101. string(2) "
  102. "
  103. string(4) " "
  104. string(30) " "
  105. -- Iteration 5 --
  106. string(6) "string"
  107. string(6) "string"
  108. string(7) " string"
  109. string(7) "string "
  110. string(7) " string"
  111. string(7) "
  112. string"
  113. string(6) "string"
  114. string(30) " string"
  115. -- Iteration 6 --
  116. string(6) "string"
  117. string(6) "string"
  118. string(7) " string"
  119. string(7) "string "
  120. string(7) " string"
  121. string(7) "
  122. string"
  123. string(6) "string"
  124. string(30) " string"
  125. -- Iteration 7 --
  126. string(4) "NULL"
  127. string(4) "NULL"
  128. string(5) " NULL"
  129. string(5) "NULL "
  130. string(5) " NULL"
  131. string(5) "
  132. NULL"
  133. string(4) "NULL"
  134. string(30) " NULL"
  135. -- Iteration 8 --
  136. string(4) "null"
  137. string(4) "null"
  138. string(5) " null"
  139. string(5) "null "
  140. string(5) " null"
  141. string(5) "
  142. null"
  143. string(4) "null"
  144. string(30) " null"
  145. -- Iteration 9 --
  146. string(5) "FALSE"
  147. string(5) "FALSE"
  148. string(6) " FALSE"
  149. string(6) "FALSE "
  150. string(6) " FALSE"
  151. string(6) "
  152. FALSE"
  153. string(5) "FALSE"
  154. string(30) " FALSE"
  155. -- Iteration 10 --
  156. string(4) "true"
  157. string(4) "true"
  158. string(5) " true"
  159. string(5) "true "
  160. string(5) " true"
  161. string(5) "
  162. true"
  163. string(4) "true"
  164. string(30) " true"
  165. -- Iteration 11 --
  166. string(1) " "
  167. string(1) " "
  168. string(2) " "
  169. string(2) " "
  170. string(2) " "
  171. string(2) "
  172. "
  173. string(4) " "
  174. string(30) " "
  175. -- Iteration 12 --
  176. string(1) "%0"
  177. string(1) "%0"
  178. string(2) " %0"
  179. string(2) "%0 "
  180. string(2) " %0"
  181. string(2) "
  182. %0"
  183. string(4) " %0"
  184. string(30) " %0"
  185. -- Iteration 13 --
  186. string(2) "\0"
  187. string(2) "\0"
  188. string(3) " \0"
  189. string(3) "\0 "
  190. string(3) " \0"
  191. string(3) "
  192. \0"
  193. string(4) " \0"
  194. string(30) " \0"
  195. -- Iteration 14 --
  196. string(4) "\060"
  197. string(4) "\060"
  198. string(5) " \060"
  199. string(5) "\060 "
  200. string(5) " \060"
  201. string(5) "
  202. \060"
  203. string(4) "\060"
  204. string(30) " \060"
  205. -- Iteration 15 --
  206. string(1) "8"
  207. string(1) "8"
  208. string(2) " 8"
  209. string(2) "8 "
  210. string(2) " 8"
  211. string(2) "
  212. 8"
  213. string(4) " 8"
  214. string(30) " 8"
  215. -- Iteration 16 --
  216. string(5) "0x55F"
  217. string(5) "0x55F"
  218. string(6) " 0x55F"
  219. string(6) "0x55F "
  220. string(6) " 0x55F"
  221. string(6) "
  222. 0x55F"
  223. string(5) "0x55F"
  224. string(30) " 0x55F"
  225. -- Iteration 17 --
  226. string(3) "055"
  227. string(3) "055"
  228. string(4) " 055"
  229. string(4) "055 "
  230. string(4) " 055"
  231. string(4) "
  232. 055"
  233. string(4) " 055"
  234. string(30) " 055"
  235. -- Iteration 18 --
  236. string(18) "@#$#$%%$^^$%^%^$^&"
  237. string(18) "@#$#$%%$^^$%^%^$^&"
  238. string(19) " @#$#$%%$^^$%^%^$^&"
  239. string(19) "@#$#$%%$^^$%^%^$^& "
  240. string(19) " @#$#$%%$^^$%^%^$^&"
  241. string(19) "
  242. @#$#$%%$^^$%^%^$^&"
  243. string(18) "@#$#$%%$^^$%^%^$^&"
  244. string(30) " @#$#$%%$^^$%^%^$^&"
  245. -- Iteration 19 --
  246. string(37) "This is string defined
  247. using heredoc."
  248. string(37) "This is string defined
  249. using heredoc."
  250. string(38) " This is string defined
  251. using heredoc."
  252. string(38) "This is string defined
  253. using heredoc. "
  254. string(38) " This is string defined
  255. using heredoc."
  256. string(38) "
  257. This is string defined
  258. using heredoc."
  259. string(37) "This is string defined
  260. using heredoc."
  261. string(37) "This is string defined
  262. using heredoc."
  263. -- Iteration 20 --
  264. string(23) "123456 3993
  265. 4849 string"
  266. string(23) "123456 3993
  267. 4849 string"
  268. string(24) " 123456 3993
  269. 4849 string"
  270. string(24) "123456 3993
  271. 4849 string "
  272. string(24) " 123456 3993
  273. 4849 string"
  274. string(24) "
  275. 123456 3993
  276. 4849 string"
  277. string(23) "123456 3993
  278. 4849 string"
  279. string(30) " 123456 3993
  280. 4849 string"
  281. -- Iteration 21 --
  282. string(0) ""
  283. string(0) ""
  284. string(1) " "
  285. string(1) " "
  286. string(1) " "
  287. string(1) "
  288. "
  289. string(4) " "
  290. string(30) " "
  291. -- Iteration 22 --
  292. string(4) "NULL"
  293. string(4) "NULL"
  294. string(5) " NULL"
  295. string(5) "NULL "
  296. string(5) " NULL"
  297. string(5) "
  298. NULL"
  299. string(4) "NULL"
  300. string(30) " NULL"
  301. Done