Skip to content

Commit c55d7b2

Browse files
committed
Add test case for ASCII and SJIS (other encoding)
1 parent aa58c7f commit c55d7b2

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

ext/mbstring/tests/mb_ucfirst_lcfirst.phpt

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,45 @@ mbstring
55
--FILE--
66
<?php
77
mb_internal_encoding("UTF-8");
8+
9+
function test_ascii_mb_ucfirst() {
10+
for ($i = 0; $i < 128; $i++) {
11+
if ($i >= 97 && $i <= 122) { /* a to z */
12+
if (mb_ucfirst(chr($i)) !== chr($i - (97 - 65))) {
13+
echo "mb_ucfirst compare failed: " . chr($i) . "\n";
14+
}
15+
} else {
16+
if (mb_ucfirst(chr($i)) !== chr($i)) {
17+
echo "mb_ucfirst compare failed: " . chr($i) . "\n";
18+
}
19+
}
20+
}
21+
echo "Done mb_ucfirst\n";
22+
}
23+
24+
function test_ascii_mb_lcfirst() {
25+
for ($i = 0; $i < 128; $i++) {
26+
if ($i >= 65 && $i <= 90) { /* A to Z */
27+
if (mb_lcfirst(chr($i)) !== chr($i + (97 - 65))) {
28+
echo "mb_lcfirst compare failed: " . chr($i) . "\n";
29+
return;
30+
}
31+
} else {
32+
if (mb_lcfirst(chr($i)) !== chr($i)) {
33+
echo "mb_lcfirst compare failed: " . chr($i) . "\n";
34+
return;
35+
}
36+
}
37+
}
38+
echo "Done mb_lcfirst\n";
39+
}
40+
841
echo "== Empty String ==\n";
942
var_dump(mb_ucfirst(""));
1043
var_dump(mb_lcfirst(""));
44+
echo "== ASCII ==\n";
45+
test_ascii_mb_ucfirst();
46+
test_ascii_mb_lcfirst();
1147
echo "== mb_ucfirst ==\n";
1248
var_dump(mb_ucfirst("ab"));
1349
var_dump(mb_ucfirst("ABS"));
@@ -18,11 +54,19 @@ echo "== mb_lcfirst ==\n";
1854
var_dump(mb_lcfirst("ABS"));
1955
var_dump(mb_lcfirst("Xin chào"));
2056
var_dump(mb_lcfirst("Đẹp quá!"));
57+
echo "== SJIS ==\n";
58+
var_dump(bin2hex(mb_ucfirst(mb_convert_encoding("ebi", "SJIS", "UTF-8"), "SJIS")));
59+
var_dump(bin2hex(mb_lcfirst(mb_convert_encoding("EBI", "SJIS", "UTF-8"), "SJIS")));
60+
var_dump(bin2hex(mb_ucfirst(hex2bin("8471"), "SJIS"))); /* б */
61+
var_dump(bin2hex(mb_lcfirst(hex2bin("8441"), "SJIS"))); /* Б */
2162
?>
2263
--EXPECT--
2364
== Empty String ==
2465
string(0) ""
2566
string(0) ""
67+
== ASCII ==
68+
Done mb_ucfirst
69+
Done mb_lcfirst
2670
== mb_ucfirst ==
2771
string(6) "Ab"
2872
string(9) "ABS"
@@ -33,3 +77,8 @@ string(2) "Lj"
3377
string(9) "aBS"
3478
string(9) "xin chào"
3579
string(12) "đẹp quá!"
80+
== SJIS ==
81+
string(12) "826482828289"
82+
string(12) "828582618268"
83+
string(4) "8441"
84+
string(4) "8471"

0 commit comments

Comments
 (0)