mb_internal_encoding_variation2.phpt 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374
  1. --TEST--
  2. Test mb_internal_encoding() function : usage variations - Test different encodings
  3. --SKIPIF--
  4. <?php
  5. extension_loaded('mbstring') or die('skip');
  6. function_exists('mb_internal_encoding') or die("skip mb_internal_encoding() is not available in this build");
  7. ?>
  8. --FILE--
  9. <?php
  10. /* Prototype : string mb_internal_encoding([string $encoding])
  11. * Description: Sets the current internal encoding or Returns
  12. * the current internal encoding as a string
  13. * Source code: ext/mbstring/mbstring.c
  14. */
  15. /*
  16. * Test all listed encoding types from php.net to check all are known to function
  17. * NB: The strings passed are *NOT* necessarily encoded in the encoding passed to the function.
  18. * This test is purely to see whether the function recognises the encoding.
  19. */
  20. echo "*** Testing mb_internal_encoding() : usage variations ***\n";
  21. $encoding = array('UCS-4', /*1*/
  22. 'UCS-4BE',
  23. 'UCS-4LE',
  24. 'UCS-2',
  25. 'UCS-2BE', /*5*/
  26. 'UCS-2LE',
  27. 'UTF-32',
  28. 'UTF-32BE',
  29. 'UTF-32LE',
  30. 'UTF-16', /*10*/
  31. 'UTF-16BE',
  32. 'UTF-16LE',
  33. 'UTF-7',
  34. 'UTF7-IMAP',
  35. 'UTF-8', /*15*/
  36. 'ASCII',
  37. 'EUC-JP',
  38. 'SJIS',
  39. 'eucJP-win',
  40. 'SJIS-win', /*20*/
  41. 'ISO-2022-JP',
  42. 'JIS',
  43. 'ISO-8859-1',
  44. 'ISO-8859-2',
  45. 'ISO-8859-3', /*25*/
  46. 'ISO-8859-4',
  47. 'ISO-8859-5',
  48. 'ISO-8859-6',
  49. 'ISO-8859-7',
  50. 'ISO-8859-8', /*30*/
  51. 'ISO-8859-9',
  52. 'ISO-8859-10',
  53. 'ISO-8859-13',
  54. 'ISO-8859-14',
  55. 'ISO-8859-15', /*35*/
  56. 'byte2be',
  57. 'byte2le',
  58. 'byte4be',
  59. 'byte4le',
  60. 'BASE64', /*40*/
  61. 'HTML-ENTITIES',
  62. '7bit',
  63. '8bit',
  64. 'EUC-CN',
  65. 'CP936', /*45*/
  66. 'HZ',
  67. 'EUC-TW',
  68. 'CP950',
  69. 'BIG-5',
  70. 'EUC-KR', /*50*/
  71. 'UHC',
  72. 'ISO-2022-KR',
  73. 'Windows-1251',
  74. 'Windows-1252',
  75. 'CP866', /*55*/
  76. 'KOI8-R'); /*56*/
  77. $iterator = 1;
  78. foreach($encoding as $enc) {
  79. echo "\n-- Iteration $iterator --\n";
  80. var_dump(mb_internal_encoding());
  81. var_dump(mb_internal_encoding($enc));
  82. var_dump(mb_internal_encoding());
  83. $iterator++;
  84. }
  85. echo "Done";
  86. ?>
  87. --EXPECTF--
  88. *** Testing mb_internal_encoding() : usage variations ***
  89. -- Iteration 1 --
  90. string(%d) "%s"
  91. bool(true)
  92. string(5) "UCS-4"
  93. -- Iteration 2 --
  94. string(5) "UCS-4"
  95. bool(true)
  96. string(7) "UCS-4BE"
  97. -- Iteration 3 --
  98. string(7) "UCS-4BE"
  99. bool(true)
  100. string(7) "UCS-4LE"
  101. -- Iteration 4 --
  102. string(7) "UCS-4LE"
  103. bool(true)
  104. string(5) "UCS-2"
  105. -- Iteration 5 --
  106. string(5) "UCS-2"
  107. bool(true)
  108. string(7) "UCS-2BE"
  109. -- Iteration 6 --
  110. string(7) "UCS-2BE"
  111. bool(true)
  112. string(7) "UCS-2LE"
  113. -- Iteration 7 --
  114. string(7) "UCS-2LE"
  115. bool(true)
  116. string(6) "UTF-32"
  117. -- Iteration 8 --
  118. string(6) "UTF-32"
  119. bool(true)
  120. string(8) "UTF-32BE"
  121. -- Iteration 9 --
  122. string(8) "UTF-32BE"
  123. bool(true)
  124. string(8) "UTF-32LE"
  125. -- Iteration 10 --
  126. string(8) "UTF-32LE"
  127. bool(true)
  128. string(6) "UTF-16"
  129. -- Iteration 11 --
  130. string(6) "UTF-16"
  131. bool(true)
  132. string(8) "UTF-16BE"
  133. -- Iteration 12 --
  134. string(8) "UTF-16BE"
  135. bool(true)
  136. string(8) "UTF-16LE"
  137. -- Iteration 13 --
  138. string(8) "UTF-16LE"
  139. bool(true)
  140. string(5) "UTF-7"
  141. -- Iteration 14 --
  142. string(5) "UTF-7"
  143. bool(true)
  144. string(9) "UTF7-IMAP"
  145. -- Iteration 15 --
  146. string(9) "UTF7-IMAP"
  147. bool(true)
  148. string(5) "UTF-8"
  149. -- Iteration 16 --
  150. string(5) "UTF-8"
  151. bool(true)
  152. string(5) "ASCII"
  153. -- Iteration 17 --
  154. string(5) "ASCII"
  155. bool(true)
  156. string(6) "EUC-JP"
  157. -- Iteration 18 --
  158. string(6) "EUC-JP"
  159. bool(true)
  160. string(4) "SJIS"
  161. -- Iteration 19 --
  162. string(4) "SJIS"
  163. bool(true)
  164. string(9) "eucJP-win"
  165. -- Iteration 20 --
  166. string(9) "eucJP-win"
  167. bool(true)
  168. string(8) "SJIS-win"
  169. -- Iteration 21 --
  170. string(8) "SJIS-win"
  171. bool(true)
  172. string(11) "ISO-2022-JP"
  173. -- Iteration 22 --
  174. string(11) "ISO-2022-JP"
  175. bool(true)
  176. string(3) "JIS"
  177. -- Iteration 23 --
  178. string(3) "JIS"
  179. bool(true)
  180. string(10) "ISO-8859-1"
  181. -- Iteration 24 --
  182. string(10) "ISO-8859-1"
  183. bool(true)
  184. string(10) "ISO-8859-2"
  185. -- Iteration 25 --
  186. string(10) "ISO-8859-2"
  187. bool(true)
  188. string(10) "ISO-8859-3"
  189. -- Iteration 26 --
  190. string(10) "ISO-8859-3"
  191. bool(true)
  192. string(10) "ISO-8859-4"
  193. -- Iteration 27 --
  194. string(10) "ISO-8859-4"
  195. bool(true)
  196. string(10) "ISO-8859-5"
  197. -- Iteration 28 --
  198. string(10) "ISO-8859-5"
  199. bool(true)
  200. string(10) "ISO-8859-6"
  201. -- Iteration 29 --
  202. string(10) "ISO-8859-6"
  203. bool(true)
  204. string(10) "ISO-8859-7"
  205. -- Iteration 30 --
  206. string(10) "ISO-8859-7"
  207. bool(true)
  208. string(10) "ISO-8859-8"
  209. -- Iteration 31 --
  210. string(10) "ISO-8859-8"
  211. bool(true)
  212. string(10) "ISO-8859-9"
  213. -- Iteration 32 --
  214. string(10) "ISO-8859-9"
  215. bool(true)
  216. string(11) "ISO-8859-10"
  217. -- Iteration 33 --
  218. string(11) "ISO-8859-10"
  219. bool(true)
  220. string(11) "ISO-8859-13"
  221. -- Iteration 34 --
  222. string(11) "ISO-8859-13"
  223. bool(true)
  224. string(11) "ISO-8859-14"
  225. -- Iteration 35 --
  226. string(11) "ISO-8859-14"
  227. bool(true)
  228. string(11) "ISO-8859-15"
  229. -- Iteration 36 --
  230. string(11) "ISO-8859-15"
  231. bool(true)
  232. string(7) "byte2be"
  233. -- Iteration 37 --
  234. string(7) "byte2be"
  235. bool(true)
  236. string(7) "byte2le"
  237. -- Iteration 38 --
  238. string(7) "byte2le"
  239. bool(true)
  240. string(7) "byte4be"
  241. -- Iteration 39 --
  242. string(7) "byte4be"
  243. bool(true)
  244. string(7) "byte4le"
  245. -- Iteration 40 --
  246. string(7) "byte4le"
  247. bool(true)
  248. string(6) "BASE64"
  249. -- Iteration 41 --
  250. string(6) "BASE64"
  251. bool(true)
  252. string(13) "HTML-ENTITIES"
  253. -- Iteration 42 --
  254. string(13) "HTML-ENTITIES"
  255. bool(true)
  256. string(4) "7bit"
  257. -- Iteration 43 --
  258. string(4) "7bit"
  259. bool(true)
  260. string(4) "8bit"
  261. -- Iteration 44 --
  262. string(4) "8bit"
  263. bool(true)
  264. string(6) "EUC-CN"
  265. -- Iteration 45 --
  266. string(6) "EUC-CN"
  267. bool(true)
  268. string(5) "CP936"
  269. -- Iteration 46 --
  270. string(5) "CP936"
  271. bool(true)
  272. string(2) "HZ"
  273. -- Iteration 47 --
  274. string(2) "HZ"
  275. bool(true)
  276. string(6) "EUC-TW"
  277. -- Iteration 48 --
  278. string(6) "EUC-TW"
  279. bool(true)
  280. string(5) "CP950"
  281. -- Iteration 49 --
  282. string(5) "CP950"
  283. bool(true)
  284. string(5) "BIG-5"
  285. -- Iteration 50 --
  286. string(5) "BIG-5"
  287. bool(true)
  288. string(6) "EUC-KR"
  289. -- Iteration 51 --
  290. string(6) "EUC-KR"
  291. bool(true)
  292. string(3) "UHC"
  293. -- Iteration 52 --
  294. string(3) "UHC"
  295. bool(true)
  296. string(11) "ISO-2022-KR"
  297. -- Iteration 53 --
  298. string(11) "ISO-2022-KR"
  299. bool(true)
  300. string(12) "Windows-1251"
  301. -- Iteration 54 --
  302. string(12) "Windows-1251"
  303. bool(true)
  304. string(12) "Windows-1252"
  305. -- Iteration 55 --
  306. string(12) "Windows-1252"
  307. bool(true)
  308. string(5) "CP866"
  309. -- Iteration 56 --
  310. string(5) "CP866"
  311. bool(true)
  312. string(6) "KOI8-R"
  313. Done