123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- --TEST--
- "ucfirst()" function
- --INI--
- precision=14
- --FILE--
- <?php
- /* Make a string's first character uppercase */
- echo "#### Basic and Various operations ####\n";
- $str_array = array(
- "testing ucfirst.",
- "1.testing ucfirst",
- "hELLO wORLD",
- 'hELLO wORLD',
- "\0", // Null
- "\x00", // Hex Null
- "\x000",
- "abcd", // double quoted string
- 'xyz', // single quoted string
- "-3",
- -3,
- '-3.344',
- -3.344,
- "NULL",
- "0",
- 0,
- TRUE, // bool type
- "TRUE",
- "1",
- 1,
- 1.234444,
- FALSE,
- "FALSE",
- " ",
- " ",
- 'b', // single char
- '\t', // escape sequences
- "\t",
- "12",
- "12twelve", // int + string
- );
- /* loop to test working of ucfirst with different values */
- foreach ($str_array as $string) {
- var_dump( ucfirst($string) );
- }
- echo "\n#### Testing miscellaneous inputs ####\n";
- echo "\n--- Testing objects ---\n";
- /* we get "Recoverable fatal error: saying Object of class could not be converted
- to string" by default when an object is passed instead of string:
- The error can be avoided by choosing the __toString magix method as follows: */
- class StringCapable {
- function __toString() {
- return "hello, world";
- }
- }
- $obj_string = new StringCapable;
- var_dump(ucfirst("$obj_string"));
- 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';
- /* Simple syntax */
- var_dump(ucfirst("$str"));
- var_dump(ucfirst("$str'S"));
- var_dump(ucfirst("$strS"));
- /* String with curly braces, complex syntax */
- var_dump(ucfirst("${str}S"));
- var_dump(ucfirst("{$str}S"));
- echo "\n--- Nested ucfirst() ---\n";
- var_dump(ucfirst(ucfirst("hello")));
- echo "Done\n";
- ?>
- --EXPECTF--
- #### Basic and Various operations ####
- string(16) "Testing ucfirst."
- string(17) "1.testing ucfirst"
- string(11) "HELLO wORLD"
- string(11) "HELLO wORLD"
- string(1) "%0"
- string(1) "%0"
- string(2) "%00"
- string(4) "Abcd"
- string(3) "Xyz"
- string(2) "-3"
- string(2) "-3"
- string(6) "-3.344"
- string(6) "-3.344"
- string(4) "NULL"
- string(1) "0"
- string(1) "0"
- string(1) "1"
- string(4) "TRUE"
- string(1) "1"
- string(1) "1"
- string(8) "1.234444"
- string(0) ""
- string(5) "FALSE"
- string(1) " "
- string(5) " "
- string(1) "B"
- string(2) "\t"
- string(1) " "
- string(2) "12"
- string(8) "12twelve"
- #### Testing miscellaneous inputs ####
- --- Testing objects ---
- string(12) "Hello, world"
- --- Testing a longer and heredoc string ---
- string(639) "Abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
- abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
- abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
- abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
- abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
- abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
- abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
- @#$%^&**&^%$#@!~:())))((((&&&**%$###@@@!!!~~~~@###$%^&*
- abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789"
- --- Testing a heredoc null string ---
- string(0) ""
- --- Testing simple and complex syntax strings ---
- string(5) "World"
- string(7) "World'S"
- Warning: Undefined variable $strS in %s on line %d
- string(0) ""
- string(6) "WorldS"
- string(6) "WorldS"
- --- Nested ucfirst() ---
- string(5) "Hello"
- Done
|