123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- --TEST--
- lcfirst() function
- --INI--
- precision=14
- --FILE--
- <?php
- /* Make a string's first character uppercase */
- echo "#### Basic and Various operations ####\n";
- $str_array = array(
- "TesTing lcfirst.",
- "1.testing lcfirst",
- "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 lcfirst with different values */
- foreach ($str_array as $string) {
- var_dump( lcfirst($string) );
- }
- echo "\n#### Testing miscellaneous inputs ####\n";
- echo "\n--- Testing lowercamelcase action call example ---\n";
- class Setter {
- protected $vars = array('partnerName' => false);
- public function __call($m, $v) {
- if (stristr($m, 'set')) {
- $action = lcfirst(substr($m, 3));
- $this->$action = $v[0];
- }
- }
- public function __set($key, $value) {
- if (array_key_exists($key, $this->vars)) {
- $this->vars[$key] = $value;
- }
- }
- public function __get($key) {
- if (array_key_exists($key, $this->vars)) {
- return $this->vars[$key];
- }
- }
- }
- $class = new Setter();
- $class->setPartnerName('partnerName');
- var_dump($class->partnerName);
- 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 stringObject {
- function __toString() {
- return "Hello world";
- }
- }
- $obj_string = new stringObject;
- var_dump(lcfirst("$obj_string"));
- echo "\n--- Testing a longer and heredoc string ---\n";
- $string = <<<EOD
- Abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
- abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
- abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
- abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
- abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
- abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
- abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
- @#$%^&**&^%$#@!~:())))((((&&&**%$###@@@!!!~~~~@###$%^&*
- abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
- EOD;
- var_dump(lcfirst($string));
- echo "\n--- Testing a heredoc null string ---\n";
- $str = <<<EOD
- EOD;
- var_dump(lcfirst($str));
- echo "\n--- Testing simple and complex syntax strings ---\n";
- $str = 'world';
- /* Simple syntax */
- var_dump(lcfirst("$str"));
- var_dump(lcfirst("$str'S"));
- var_dump(lcfirst("$strS"));
- /* String with curly braces, complex syntax */
- var_dump(lcfirst("${str}S"));
- var_dump(lcfirst("{$str}S"));
- echo "\n--- Nested lcfirst() ---\n";
- var_dump(lcfirst(lcfirst("hello")));
- echo "Done\n";
- ?>
- --EXPECTF--
- #### Basic and Various operations ####
- string(16) "tesTing lcfirst."
- string(17) "1.testing lcfirst"
- 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 lowercamelcase action call example ---
- string(%d) "partnerName"
- --- Testing objects ---
- string(11) "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 lcfirst() ---
- string(5) "hello"
- Done
|