1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
--TEST--
mb_ucfirst(), mb_lcfirst functions tests
--EXTENSIONS--
mbstring
--FILE--
<?php
mb_internal_encoding("UTF-8");
function test_ascii_mb_ucfirst() {
for ($i = 0; $i < 128; $i++) {
if ($i >= 97 && $i <= 122) { /* a to z */
if (mb_ucfirst(chr($i)) !== chr($i - (97 - 65))) {
echo "mb_ucfirst compare failed: " . chr($i) . "\n";
}
} else {
if (mb_ucfirst(chr($i)) !== chr($i)) {
echo "mb_ucfirst compare failed: " . chr($i) . "\n";
}
}
}
echo "Done mb_ucfirst\n";
}
function test_ascii_mb_lcfirst() {
for ($i = 0; $i < 128; $i++) {
if ($i >= 65 && $i <= 90) { /* A to Z */
if (mb_lcfirst(chr($i)) !== chr($i + (97 - 65))) {
echo "mb_lcfirst compare failed: " . chr($i) . "\n";
return;
}
} else {
if (mb_lcfirst(chr($i)) !== chr($i)) {
echo "mb_lcfirst compare failed: " . chr($i) . "\n";
return;
}
}
}
echo "Done mb_lcfirst\n";
}
echo "== Empty String ==\n";
var_dump(mb_ucfirst(""));
var_dump(mb_lcfirst(""));
echo "== ASCII ==\n";
test_ascii_mb_ucfirst();
test_ascii_mb_lcfirst();
echo "== mb_ucfirst ==\n";
var_dump(mb_ucfirst("ab"));
var_dump(mb_ucfirst("ABS"));
var_dump(mb_ucfirst("đắt quá!"));
var_dump(mb_ucfirst("აბგ"));
var_dump(mb_ucfirst("lj"));
echo "== mb_lcfirst ==\n";
var_dump(mb_lcfirst("ABS"));
var_dump(mb_lcfirst("Xin chào"));
var_dump(mb_lcfirst("Đẹp quá!"));
echo "== SJIS ==\n";
var_dump(bin2hex(mb_ucfirst(mb_convert_encoding("ebi", "SJIS", "UTF-8"), "SJIS")));
var_dump(bin2hex(mb_lcfirst(mb_convert_encoding("EBI", "SJIS", "UTF-8"), "SJIS")));
var_dump(bin2hex(mb_ucfirst(hex2bin("8471"), "SJIS"))); /* б */
var_dump(bin2hex(mb_lcfirst(hex2bin("8441"), "SJIS"))); /* Б */
var_dump(bin2hex(mb_ucfirst(hex2bin("83bf"), "SJIS"))); /* α */
var_dump(bin2hex(mb_lcfirst(hex2bin("839f"), "SJIS"))); /* Α */
var_dump(bin2hex(mb_lcfirst(hex2bin("82a0"), "SJIS"))); /* あ */
var_dump(bin2hex(mb_ucfirst(hex2bin("83bf8471"), "SJIS")));
var_dump(bin2hex(mb_lcfirst(hex2bin("839f8441"), "SJIS")));
echo "== EUC-JP ==\n";
var_dump(bin2hex(mb_ucfirst(hex2bin("a6d8"), "EUC-JP"))); /* Ω */
var_dump(bin2hex(mb_lcfirst(hex2bin("a6b8"), "EUC-JP"))); /* ω */
var_dump(bin2hex(mb_ucfirst(hex2bin("a4a2a4a2"), "EUC-JP"))); /* あ */
echo "== Longer strings ==\n";
var_dump(mb_ucfirst("э" . str_repeat("A", 65536)) === "Э" . str_repeat("A", 65536));
var_dump(mb_lcfirst("Э" . str_repeat("A", 65536)) === "э" . str_repeat("A", 65536));
?>
--EXPECT--
== Empty String ==
string(0) ""
string(0) ""
== ASCII ==
Done mb_ucfirst
Done mb_lcfirst
== mb_ucfirst ==
string(6) "Ab"
string(9) "ABS"
string(12) "Đắt quá!"
string(9) "აბგ"
string(2) "Lj"
== mb_lcfirst ==
string(9) "aBS"
string(9) "xin chào"
string(12) "đẹp quá!"
== SJIS ==
string(12) "826482828289"
string(12) "828582618268"
string(4) "8441"
string(4) "8471"
string(4) "839f"
string(4) "83bf"
string(4) "82a0"
string(8) "839f8471"
string(8) "83bf8441"
== EUC-JP ==
string(4) "a6b8"
string(4) "a6d8"
string(8) "a4a2a4a2"
== Longer strings ==
bool(true)
bool(true)
|