mb_chr.phpt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. --TEST--
  2. mb_chr()
  3. --EXTENSIONS--
  4. mbstring
  5. --FILE--
  6. <?php
  7. var_dump(
  8. "\u{20bb7}" === mb_chr(0x20bb7),
  9. "\x8f\xa1\xef" === mb_chr(0x50aa, "EUC-JP-2004"),
  10. false === mb_chr(0xd800),
  11. false === mb_chr(0x1f600, "EUC-JP-2004")
  12. );
  13. // Invalid
  14. try {
  15. var_dump( mb_chr(0xd800, "typo") );
  16. } catch (\ValueError $e) {
  17. echo $e->getMessage() . \PHP_EOL;
  18. }
  19. try {
  20. var_dump( mb_chr(0xd800, "pass") );
  21. } catch (\ValueError $e) {
  22. echo $e->getMessage() . \PHP_EOL;
  23. }
  24. try {
  25. var_dump( mb_chr(0xd800, "jis") );
  26. } catch (\ValueError $e) {
  27. echo $e->getMessage() . \PHP_EOL;
  28. }
  29. try {
  30. var_dump( mb_chr(0xd800, "cp50222") );
  31. } catch (\ValueError $e) {
  32. echo $e->getMessage() . \PHP_EOL;
  33. }
  34. try {
  35. var_dump( mb_chr(0xd800, "utf-7") );
  36. } catch (\ValueError $e) {
  37. echo $e->getMessage() . \PHP_EOL;
  38. }
  39. mb_internal_encoding("utf-7");
  40. try {
  41. var_dump( mb_chr(0xd800) );
  42. } catch (\ValueError $e) {
  43. echo $e->getMessage() . \PHP_EOL;
  44. }
  45. ?>
  46. --EXPECT--
  47. bool(true)
  48. bool(true)
  49. bool(true)
  50. bool(true)
  51. mb_chr(): Argument #2 ($encoding) must be a valid encoding, "typo" given
  52. mb_chr(): Argument #2 ($encoding) must be a valid encoding, "pass" given
  53. mb_chr() does not support the "JIS" encoding
  54. mb_chr() does not support the "CP50222" encoding
  55. mb_chr() does not support the "UTF-7" encoding
  56. mb_chr() does not support the "UTF-7" encoding