mb_regex_encoding_variation2.phpt 8.5 KB

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