--TEST--
Testing rtrim() function
--FILE--
<?php
echo "\n *** Output for Error Conditions ***\n";
rtrim();
rtrim("", " ", 1);
echo "\n *** Output for Normal Behaviour ***\n";
var_dump ( rtrim("rtrim test \t\0 ") );
var_dump ( rtrim("rtrim test " , "") );
var_dump ( rtrim("rtrim test ", NULL) );
var_dump ( rtrim("rtrim test ", true) );
var_dump ( rtrim("rtrim test ", " ") );
var_dump ( rtrim("rtrim test \t\n\r\0\x0B", "\t\n\r\0\x0B") );
var_dump ( rtrim("rtrim testABCXYZ", "A..Z") );
var_dump ( rtrim("rtrim test0123456789", "0..9") );
var_dump ( rtrim("rtrim test$#@", "#@$") );
echo "\n*** Checking with OBJECTS ***\n";
class string1 {
public function __toString() {
return "Object";
}
}
$obj = new string1;
var_dump( rtrim($obj, "tc") );
echo "\n*** String with embedded NULL ***\n";
var_dump( rtrim("234\x0005678\x0000efgh\xijkl\x0n1", "\x0n1") );
$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 05678 00efgh\xijkl"
*** Using heredoc string ***
string(18) "us
ing heredoc str"
Done