Annotation of embedaddon/php/ext/mbstring/tests/mb_strtoupper_variation4.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test mb_strtoupper() function : usage varitations - Pass different character types to check conversion is correct
3: --SKIPIF--
4: <?php
5: extension_loaded('mbstring') or die('skip');
6: function_exists('mb_strtoupper') or die("skip mb_strtoupper() is not available in this build");
7: ?>
8: --FILE--
9: <?php
10: /* Prototype : string mb_strtoupper(string $sourcestring [, string $encoding]
11: * Description: Returns a uppercased version of $sourcestring
12: * Source code: ext/mbstring/mbstring.c
13: */
14:
15: /*
16: * Pass characters from different languages to check that mb_strtoupper is
17: * doing a correct case conversion
18: */
19:
20: echo "*** Testing mb_strtoupper() : usage variations ***\n";
21:
22: $uppers = array('Basic Latin' => b'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
23: 'Characters With Accents' => base64_decode('w4DDgcOCw4PDhMOFw4bDh8OIw4nDisOLw4zDjcOOw4/DkMORw5LDk8OUw5XDlg=='),
24: 'Russian' => base64_decode('0JDQkdCS0JPQlNCV0JbQlw=='));
25: $lowers = array('Basic Latin' => b'abcdefghijklmnopqrstuvwxyz',
26: 'Characters With Accents' => base64_decode('w6DDocOiw6PDpMOlw6bDp8Oow6nDqsOrw6zDrcOuw6/DsMOxw7LDs8O0w7XDtg=='),
27: 'Russian' => base64_decode('0LDQsdCy0LPQtNC10LbQtw=='));
28:
29: foreach ($lowers as $lang => $sourcestring) {
30: echo "\n-- $lang --\n";
31: $a = mb_strtoupper($sourcestring, 'UTF-8');
32: var_dump(base64_encode($a));
33: if ($a == $uppers[$lang]) {
34: echo "Correctly Converted\n";
35: } else {
36: echo "Incorrectly Converted\n";
37: }
38: }
39:
40: echo "Done";
41: ?>
42:
43: --EXPECTF--
44: *** Testing mb_strtoupper() : usage variations ***
45:
46: -- Basic Latin --
47: string(36) "QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVo="
48: Correctly Converted
49:
50: -- Characters With Accents --
51: string(64) "w4DDgcOCw4PDhMOFw4bDh8OIw4nDisOLw4zDjcOOw4/DkMORw5LDk8OUw5XDlg=="
52: Correctly Converted
53:
54: -- Russian --
55: string(24) "0JDQkdCS0JPQlNCV0JbQlw=="
56: Correctly Converted
57: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>