123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248 |
- --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
- string, // without quotes
- "-3",
- -3,
- '-3.344',
- -3.344,
- NULL,
- "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 Miscelleneous inputs ####\n";
- echo "--- Testing arrays ---";
- $str_arr = array("Hello", "?world", "!$%**()%**[][[[&@#~!", array());
- var_dump( lcfirst($str_arr) );
- 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 "Catchable 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 string {
- function __toString() {
- return "Hello world";
- }
- }
- $obj_string = new string;
- var_dump(lcfirst("$obj_string"));
- echo "\n--- Testing Resources ---\n";
- $filename1 = "dummy.txt";
- $file1 = fopen($filename1, "w"); // creating new file
- /* getting resource type for file handle */
- $string1 = get_resource_type($file1);
- $string2 = (int)get_resource_type($file1); // converting stream type to int
- /* $string1 is of "stream" type */
- var_dump(lcfirst($string1));
- /* $string2 holds a value of "int(0)" */
- var_dump(lcfirst($string2));
- fclose($file1); // closing the file "dummy.txt"
- unlink("$filename1"); // deletes "dummy.txt"
- 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 "\n#### error conditions ####";
- /* Zero arguments */
- lcfirst();
- /* More than expected no. of args */
- lcfirst($str_array[0], $str_array[1]);
- lcfirst((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 lcfirst."
- string(17) "1.testing lcfirst"
- string(11) "hELLO wORLD"
- string(11) "hELLO wORLD"
- string(1) "�"
- string(1) "�"
- string(2) "�0"
- string(4) "abcd"
- string(3) "xyz"
- string(6) "string"
- string(2) "-3"
- string(2) "-3"
- string(6) "-3.344"
- string(6) "-3.344"
- string(0) ""
- 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 Miscelleneous inputs ####
- --- Testing arrays ---
- Warning: lcfirst() expects parameter 1 to be string, array given in %s on line %d
- NULL
- --- Testing lowercamelcase action call example ---
- string(%d) "partnerName"
- --- Testing objects ---
- string(11) "hello world"
- --- Testing Resources ---
- string(6) "stream"
- string(1) "0"
- --- 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"
- Notice: Undefined variable: strS in %s on line %d
- string(0) ""
- string(6) "worldS"
- string(6) "worldS"
- --- Nested lcfirst() ---
- string(5) "hello"
- #### error conditions ####
- Warning: lcfirst() expects exactly 1 parameter, 0 given in %s on line %d
- Warning: lcfirst() expects exactly 1 parameter, 2 given in %s on line %d
- Warning: lcfirst() expects exactly 1 parameter, 2 given in %s on line %d
- Done
|