mirror of
https://github.com/php/php-src.git
synced 2024-10-21 00:12:34 +00:00
378 lines
9.6 KiB
PHP
378 lines
9.6 KiB
PHP
--TEST--
|
||
str_pad() function
|
||
--INI--
|
||
precision=14
|
||
--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(
|
||
-PHP_INT_MAX, // huge negative value
|
||
-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(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) " |