mb_strtoupper_variation4.phpt 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. --TEST--
  2. Test mb_strtoupper() function : usage varitations - Pass different character types to check conversion is correct
  3. --EXTENSIONS--
  4. mbstring
  5. --FILE--
  6. <?php
  7. /*
  8. * Pass characters from different languages to check that mb_strtoupper is
  9. * doing a correct case conversion
  10. */
  11. echo "*** Testing mb_strtoupper() : usage variations ***\n";
  12. $uppers = array('Basic Latin' => 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
  13. 'Characters With Accents' => base64_decode('w4DDgcOCw4PDhMOFw4bDh8OIw4nDisOLw4zDjcOOw4/DkMORw5LDk8OUw5XDlg=='),
  14. 'Russian' => base64_decode('0JDQkdCS0JPQlNCV0JbQlw=='));
  15. $lowers = array('Basic Latin' => 'abcdefghijklmnopqrstuvwxyz',
  16. 'Characters With Accents' => base64_decode('w6DDocOiw6PDpMOlw6bDp8Oow6nDqsOrw6zDrcOuw6/DsMOxw7LDs8O0w7XDtg=='),
  17. 'Russian' => base64_decode('0LDQsdCy0LPQtNC10LbQtw=='));
  18. foreach ($lowers as $lang => $sourcestring) {
  19. echo "\n-- $lang --\n";
  20. $a = mb_strtoupper($sourcestring, 'UTF-8');
  21. var_dump(base64_encode($a));
  22. if ($a == $uppers[$lang]) {
  23. echo "Correctly Converted\n";
  24. } else {
  25. echo "Incorrectly Converted\n";
  26. }
  27. }
  28. echo "Done";
  29. ?>
  30. --EXPECT--
  31. *** Testing mb_strtoupper() : usage variations ***
  32. -- Basic Latin --
  33. string(36) "QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVo="
  34. Correctly Converted
  35. -- Characters With Accents --
  36. string(64) "w4DDgcOCw4PDhMOFw4bDh8OIw4nDisOLw4zDjcOOw4/DkMORw5LDk8OUw5XDlg=="
  37. Correctly Converted
  38. -- Russian --
  39. string(24) "0JDQkdCS0JPQlNCV0JbQlw=="
  40. Correctly Converted
  41. Done