mb_strtolower_variation4.phpt 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. --TEST--
  2. Test mb_strtolower() function : usage variations - pass different characters to check conversion is correct
  3. --SKIPIF--
  4. <?php
  5. extension_loaded('mbstring') or die('skip');
  6. function_exists('mb_strtolower') or die("skip mb_strtolower() is not available in this build");
  7. ?>
  8. --FILE--
  9. <?php
  10. /* Prototype : string mb_strtolower(string $sourcestring [, string $encoding])
  11. * Description: Returns a lowercased version of $sourcestring
  12. * Source code: ext/mbstring/mbstring.c
  13. */
  14. /*
  15. * Pass accented characters and Russian characters to check case conversion is correct
  16. */
  17. echo "*** Testing mb_strtolower() : usage variations ***\n";
  18. $uppers = array('Basic Latin' => b'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
  19. 'Characters With Accents' => base64_decode('w4DDgcOCw4PDhMOFw4bDh8OIw4nDisOLw4zDjcOOw4/DkMORw5LDk8OUw5XDlg=='),
  20. 'Russian' => base64_decode('0JDQkdCS0JPQlNCV0JbQlw=='));
  21. $lowers = array('Basic Latin' => b'abcdefghijklmnopqrstuvwxyz',
  22. 'Characters With Accents' => base64_decode('w6DDocOiw6PDpMOlw6bDp8Oow6nDqsOrw6zDrcOuw6/DsMOxw7LDs8O0w7XDtg=='),
  23. 'Russian' => base64_decode('0LDQsdCy0LPQtNC10LbQtw=='));
  24. foreach ($uppers as $lang => $sourcestring) {
  25. echo "\n-- $lang --\n";
  26. $a = mb_strtolower($sourcestring, 'utf-8');
  27. var_dump(base64_encode($a));
  28. if ($a == $lowers[$lang]) {
  29. echo "Correctly Converted\n";
  30. } else {
  31. echo "Incorrectly Converted\n";
  32. }
  33. }
  34. echo "Done";
  35. ?>
  36. --EXPECTF--
  37. *** Testing mb_strtolower() : usage variations ***
  38. -- Basic Latin --
  39. string(36) "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXo="
  40. Correctly Converted
  41. -- Characters With Accents --
  42. string(64) "w6DDocOiw6PDpMOlw6bDp8Oow6nDqsOrw6zDrcOuw6/DsMOxw7LDs8O0w7XDtg=="
  43. Correctly Converted
  44. -- Russian --
  45. string(24) "0LDQsdCy0LPQtNC10LbQtw=="
  46. Correctly Converted
  47. Done