--TEST--
"ucfirst()" function
--INI--
precision=14
--FILE--
<?php
echo "#### Basic and Various operations ####\n";
$str_array = array(
"testing ucfirst.",
"1.testing ucfirst",
"hELLO wORLD",
'hELLO wORLD',
"\0", "\x00", "\x000",
"abcd", 'xyz', string, "-3",
-3,
'-3.344',
-3.344,
NULL,
"NULL",
"0",
0,
TRUE, "TRUE",
"1",
1,
1.234444,
FALSE,
"FALSE",
" ",
" ",
'b', '\t', "\t",
"12",
"12twelve", );
foreach ($str_array as $string) {
var_dump( ucfirst($string) );
}
echo "\n#### Testing Miscelleneous inputs ####\n";
echo "--- Testing arrays ---";
$str_arr = array("hello", "?world", "!$%**()%**[][[[&@#~!", array());
var_dump( ucfirst($str_arr) );
echo "\n--- Testing objects ---\n";
class string {
function __toString() {
return "hello, world";
}
}
$obj_string = new string;
var_dump(ucfirst("$obj_string"));
echo "\n--- Testing Resources ---\n";
$filename1 = "dummy.txt";
$file1 = fopen($filename1, "w");
$string1 = get_resource_type($file1);
$string2 = (int)get_resource_type($file1);
var_dump(ucfirst($string1));
var_dump(ucfirst($string2));
fclose($file1); unlink("$filename1");
echo "\n--- Testing a longer and heredoc string ---\n";
$string = <<<EOD
abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
@#$%^&**&^%$#@!~:())))((((&&&**%$###@@@!!!~~~~@###$%^&*
abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
EOD;
var_dump(ucfirst($string));
echo "\n--- Testing a heredoc null string ---\n";
$str = <<<EOD
EOD;
var_dump(ucfirst($str));
echo "\n--- Testing simple and complex syntax strings ---\n";
$str = 'world';
var_dump(ucfirst("$str"));
var_dump(ucfirst("$str'S"));
var_dump(ucfirst("$strS"));
var_dump(ucfirst("${str}S"));
var_dump(ucfirst("{$str}S"));
echo "\n--- Nested ucfirst() ---\n";
var_dump(ucfirst(ucfirst("hello")));
echo "\n#### error conditions ####";
ucfirst();
ucfirst($str_array[0], $str_array[1]);
ucfirst((int)10, (int)20);
echo "Done\n";
?>
--EXPECTF--
#### Basic and Various operations ####
Notice: Use of undefined constant string - assumed 'string' in %s on line %d
string(16) "Testing ucfirst."
string(17) "1.testing ucfirst"
string(11) "HELLO wORLD"
string(11) "HELLO wORLD"
string(1) "