ru_php/ext/mbstring/tests/mb_ucfirst_lcfirst.phpt

110 lines
3 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

--TEST--
mb_ucfirst(), mb_lcfirst functions tests
--EXTENSIONS--
mbstring
--INI--
internal_encoding=UTF-8
--FILE--
<?php
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)