zoe             Wed Mar 28 10:31:13 2007 UTC

  Added files:                 
    /php-src/ext/standard/tests/strings ltrim.phpt rtrim.phpt 
                                        str_pad.phpt 
  Log:
  New tests for ltrim, rtrim, str_pad
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/ltrim.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/strings/ltrim.phpt
+++ php-src/ext/standard/tests/strings/ltrim.phpt
--TEST--
Test ltrim() function
--FILE--
<?php

/*  Testing for Error conditions  */

/*  Invalid Number of Arguments */

 echo "\n *** Output for Error Conditions ***\n";

 echo "\n *** Output for zero argument ***\n";
 var_dump( ltrim() );

 echo "\n *** Output for more than valid number of arguments (Valid are 1 or 2 
arguments) ***\n";
 var_dump( ltrim("", " ", 1) );

/* heredoc string */
$str = <<<EOD
us
ing heredoc string
EOD;

echo "\n *** Using heredoc string ***\n";
var_dump( ltrim($str, "\nusi") );

/* Testing the Normal behaviour of ltrim() function */

 echo "\n *** Output for Normal Behaviour ***\n";
 var_dump ( ltrim(" \t\0    ltrim test") );                      /* without 
second Argument */
 var_dump ( ltrim("   ltrim test" , "") );                       /* no 
characters in second Argument */
 var_dump ( ltrim("        ltrim test", NULL) );                 /* with NULL 
as second Argument */
 var_dump ( ltrim("        ltrim test", true) );                 /* with 
boolean value as second Argument */
 var_dump ( ltrim("        ltrim test", " ") );                  /* with single 
space as second Argument */
 var_dump ( ltrim("\t\n\r\0\x0B ltrim test", "\t\n\r\0\x0B") );  /* with 
multiple escape sequences as second Argument */
 var_dump ( ltrim("ABCXYZltrim test", "A..Z") );                 /* with 
characters range as second Argument */
 var_dump ( ltrim("0123456789ltrim test", "0..9") );             /* with 
numbers range as second Argument */
 var_dump ( ltrim("@$#ltrim test", "[EMAIL PROTECTED]") );                     
/* with some special characters as second Argument */
 

 echo "\n *** Output for  scalar argument) ***\n";
 var_dump( ltrim(  12345  ) );                                   /* Scalar 
argument */

 echo "\n *** Output for  NULL argument) ***\n";
 var_dump( ltrim(NULL) );                                        /* NULL 
Argument */

echo "\nDone\n";

?>
--EXPECTF--
*** Output for Error Conditions ***

 *** Output for zero argument ***

Warning: ltrim() expects at least 1 parameter, 0 given in %s on line %d
NULL

 *** Output for more than valid number of arguments (Valid are 1 or 2 
arguments) ***

Warning: ltrim() expects at most 2 parameters, 3 given in %s on line %d
NULL

 *** Using heredoc string ***
string(17) "ng heredoc string"

 *** Output for Normal Behaviour ***
string(10) "ltrim test"
string(13) "   ltrim test"
string(18) "        ltrim test"
string(18) "        ltrim test"
string(10) "ltrim test"
string(11) " ltrim test"
string(10) "ltrim test"
string(10) "ltrim test"
string(10) "ltrim test"

 *** Output for  scalar argument) ***
string(5) "12345"

 *** Output for  NULL argument) ***
string(0) ""

Done

http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/rtrim.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/strings/rtrim.phpt
+++ php-src/ext/standard/tests/strings/rtrim.phpt
--TEST--
Testing rtrim() function
--FILE--
<?php

/*  Testing for Error conditions  */

/*  Invalid Number of Arguments */

 echo "\n *** Output for Error Conditions ***\n";
 rtrim();
 rtrim("", " ", 1);

/* Testing the Normal behaviour of rtrim() function */

 echo "\n *** Output for Normal Behaviour ***\n";
 var_dump ( rtrim("rtrim test   \t\0 ") );                       /* without 
second Argument */
 var_dump ( rtrim("rtrim test   " , "") );                       /* no 
characters in second Argument */
 var_dump ( rtrim("rtrim test        ", NULL) );                 /* with NULL 
as second Argument */
 var_dump ( rtrim("rtrim test        ", true) );                 /* with 
boolean value as second Argument */
 var_dump ( rtrim("rtrim test        ", " ") );                  /* with single 
space as second Argument */
 var_dump ( rtrim("rtrim test \t\n\r\0\x0B", "\t\n\r\0\x0B") );  /* with 
multiple escape sequences as second Argument */
 var_dump ( rtrim("rtrim testABCXYZ", "A..Z") );                 /* with 
characters range as second Argument */
 var_dump ( rtrim("rtrim test0123456789", "0..9") );             /* with 
numbers range as second Argument */
 var_dump ( rtrim("rtrim test$#@", "[EMAIL PROTECTED]") );                     
/* with some special characters as second Argument */


/* Use of class and objects */
echo "\n*** Checking with OBJECTS ***\n";
class string1 {
  public function __toString() {
    return "Object";
  }
}
$obj = new string1;
var_dump( rtrim($obj, "tc") );

/* String with embedded NULL */
echo "\n*** String with embedded NULL ***\n";
var_dump( rtrim("234\x0005678\x0000efgh\xijkl\x0n1", "\x0n1") );

/* heredoc string */
$str = <<<EOD
us
ing heredoc string
EOD;

echo "\n *** Using heredoc string ***\n";
var_dump( rtrim($str, "ing") );

echo "Done\n";
?>
--EXPECTF--
*** Output for Error Conditions ***

Warning: rtrim() expects at least 1 parameter, 0 given in %s on line %d

Warning: rtrim() expects at most 2 parameters, 3 given in %s on line %d

 *** Output for Normal Behaviour ***
string(10) "rtrim test"
string(13) "rtrim test   "
string(18) "rtrim test        "
string(18) "rtrim test        "
string(10) "rtrim test"
string(11) "rtrim test "
string(10) "rtrim test"
string(10) "rtrim test"
string(10) "rtrim test"

*** Checking with OBJECTS ***
string(4) "Obje"

*** String with embedded NULL ***
string(22) "234

 *** Using heredoc string ***
string(18) "us
ing heredoc str"
Done

http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/str_pad.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/strings/str_pad.phpt
+++ php-src/ext/standard/tests/strings/str_pad.phpt
--TEST--
"str_pad()" function
--FILE--
<?php
/* Pad a string to a certain length with another string */

echo "\n#### Basic operations ####\n";
$input_string = "str_pad()";
$pad_length = 20;
$pad_string = "-+";
var_dump( str_pad($input_string, $pad_length) ); // default pad_string & 
pad_type
var_dump( str_pad($input_string, $pad_length, $pad_string) ); // default 
pad_type
var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_LEFT) ); 
var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_RIGHT) );
var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_BOTH) );

echo "\n#### variations with input string and pad-length ####\n";
/* different input string variation */
$input_strings = array( 
                   "variation", // normal string
                   chr(0).chr(255).chr(128).chr(234).chr(143),  // >7-bit ASCII
                   "",  // empty string
                   NULL,  // NULL
                   true,  // boolean 
                   15,  // numeric
                   15.55,  // numeric
                   "2990"  // numeric string
                 );
/* different pad_lengths */
$pad_lengths = array(
                 -1,  // negative value
                 0,  // pad_length < sizeof(input_string)
                 9,  // pad_length <= sizeof(input_string)
                 10,  // pad_length > sizeof(input_string) 
                 16  // pad_length > sizeof(input_string)
               );
$pad_string = "=";
/*loop through to use each varient of $pad_length on
  each element of $input_strings array */
foreach ($input_strings as $input_string ) {
  foreach ($pad_lengths as $pad_length ) {
    var_dump( str_pad($input_string, $pad_length) ); // default pad_string & 
pad_type
    var_dump( str_pad($input_string, $pad_length, $pad_string) ); // default 
pad_type
    var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_LEFT) ); 
    var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_RIGHT) );
    var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_BOTH) );
  }
}

echo "\n#### variation with pad string ####\n";
$pad_strings = array ("=", 1, true, "string_pad", 1.5, "\t", '\t');
$input_string="variation";
$pad_length = 16;
foreach ( $pad_strings as $pad_string ) {
    var_dump( str_pad($input_string, $pad_length, $pad_string) ); // default 
pad_type
    var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_LEFT) ); 
    var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_RIGHT) );
    var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_BOTH) );
}

echo "\n#### error conditions ####";
/* args less than min. expected of 2 */
str_pad();
str_pad($input_string);

/* args more than expected,expected 4 */
str_pad($input_tring, $pad_length, $pad_string, STR_PAD_LEFT, NULL );

echo "\n--- padding string as null ---";
str_pad($input_string, 12, NULL);
str_pad($input_string, 12, "");

/* bad pad_type - passing an undefined one */
var_dump( str_pad($input_string, $pad_length, "+", 15) );

echo "Done\n";
?>
--EXPECTF--
#### Basic operations ####
string(20) "str_pad()           "
string(20) "str_pad()-+-+-+-+-+-"
string(20) "-+-+-+-+-+-str_pad()"
string(20) "str_pad()-+-+-+-+-+-"
string(20) "-+-+-str_pad()-+-+-+"

#### variations with input string and pad-length ####
string(9) "variation"
string(9) "variation"
string(9) "variation"
string(9) "variation"
string(9) "variation"
string(9) "variation"
string(9) "variation"
string(9) "variation"
string(9) "variation"
string(9) "variation"
string(9) "variation"
string(9) "variation"
string(9) "variation"
string(9) "variation"
string(9) "variation"
string(10) "variation "
string(10) "variation="
string(10) "=variation"
string(10) "variation="
string(10) "variation="
string(16) "variation       "
string(16) "variation======="
string(16) "=======variation"
string(16) "variation======="
string(16) "===variation===="
string(5) "
string(5) "
string(5) "
string(5) "
string(5) "
string(5) "
string(5) "
string(5) "
string(5) "
string(5) "
string(9) "
string(9) "
string(9) "====
string(9) "
string(9) "==
string(10) "
string(10) "
string(10) "=====
string(10) "
string(10) "==
string(16) "
string(16) "
string(16) "===========
string(16) "
string(16) "=====
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(9) "         "
string(9) "========="
string(9) "========="
string(9) "========="
string(9) "========="
string(10) "          "
string(10) "=========="
string(10) "=========="
string(10) "=========="
string(10) "=========="
string(16) "                "
string(16) "================"
string(16) "================"
string(16) "================"
string(16) "================"
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(9) "         "
string(9) "========="
string(9) "========="
string(9) "========="
string(9) "========="
string(10) "          "
string(10) "=========="
string(10) "=========="
string(10) "=========="
string(10) "=========="
string(16) "                "
string(16) "================"
string(16) "================"
string(16) "================"
string(16) "================"
string(1) "1"
string(1) "1"
string(1) "1"
string(1) "1"
string(1) "1"
string(1) "1"
string(1) "1"
string(1) "1"
string(1) "1"
string(1) "1"
string(9) "1        "
string(9) "1========"
string(9) "========1"
string(9) "1========"
string(9) "====1===="
string(10) "1         "
string(10) "1========="
string(10) "=========1"
string(10) "1========="
string(10) "====1====="
string(16) "1               "
string(16) "1==============="
string(16) "===============1"
string(16) "1==============="
string(16) "=======1========"
string(2) "15"
string(2) "15"
string(2) "15"
string(2) "15"
string(2) "15"
string(2) "15"
string(2) "15"
string(2) "15"
string(2) "15"
string(2) "15"
string(9) "15       "
string(9) "15======="
string(9) "=======15"
string(9) "15======="
string(9) "===15===="
string(10) "15        "
string(10) "15========"
string(10) "========15"
string(10) "15========"
string(10) "====15===="
string(16) "15              "
string(16) "15=============="
string(16) "==============15"
string(16) "15=============="
string(16) "=======15======="
string(5) "15.55"
string(5) "15.55"
string(5) "15.55"
string(5) "15.55"
string(5) "15.55"
string(5) "15.55"
string(5) "15.55"
string(5) "15.55"
string(5) "15.55"
string(5) "15.55"
string(9) "15.55    "
string(9) "15.55===="
string(9) "====15.55"
string(9) "15.55===="
string(9) "==15.55=="
string(10) "15.55     "
string(10) "15.55====="
string(10) "=====15.55"
string(10) "15.55====="
string(10) "==15.55==="
string(16) "15.55           "
string(16) "15.55==========="
string(16) "===========15.55"
string(16) "15.55==========="
string(16) "=====15.55======"
string(4) "2990"
string(4) "2990"
string(4) "2990"
string(4) "2990"
string(4) "2990"
string(4) "2990"
string(4) "2990"
string(4) "2990"
string(4) "2990"
string(4) "2990"
string(9) "2990     "
string(9) "2990====="
string(9) "=====2990"
string(9) "2990====="
string(9) "==2990==="
string(10) "2990      "
string(10) "2990======"
string(10) "======2990"
string(10) "2990======"
string(10) "===2990==="
string(16) "2990            "
string(16) "2990============"
string(16) "============2990"
string(16) "2990============"
string(16) "======2990======"

#### variation with pad string ####
string(16) "variation======="
string(16) "=======variation"
string(16) "variation======="
string(16) "===variation===="
string(16) "variation1111111"
string(16) "1111111variation"
string(16) "variation1111111"
string(16) "111variation1111"
string(16) "variation1111111"
string(16) "1111111variation"
string(16) "variation1111111"
string(16) "111variation1111"
string(16) "variationstring_"
string(16) "string_variation"
string(16) "variationstring_"
string(16) "strvariationstri"
string(16) "variation1.51.51"
string(16) "1.51.51variation"
string(16) "variation1.51.51"
string(16) "1.5variation1.51"
string(16) "variation                                                   "
string(16) "                                                    variation"
string(16) "variation                                                   "
string(16) "                    variation                               "
string(16) "variation\t\t\t\"
string(16) "\t\t\t\variation"
string(16) "variation\t\t\t\"
string(16) "\t\variation\t\t"

#### error conditions ####
Warning: Wrong parameter count for str_pad() in %s on line %d

Warning: Wrong parameter count for str_pad() in %s on line %d

Notice: Undefined variable: input_tring in %s on line %d

Warning: Wrong parameter count for str_pad() in %s on line %d

--- padding string as null ---
Warning: str_pad(): Padding string cannot be empty in %s on line %d

Warning: str_pad(): Padding string cannot be empty in %s on line %d

Warning: str_pad(): Padding type has to be STR_PAD_LEFT, STR_PAD_RIGHT, or 
STR_PAD_BOTH in %s on line %d
NULL
Done

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to