/hphp/test/zend/bad/ext/standard/tests/strings/str_repeat.php
PHP | 58 lines | 42 code | 8 blank | 8 comment | 1 complexity | e5631052371a0fff8fa0f1a48e2bc8da MD5 | raw file
Possible License(s): LGPL-2.1, BSD-2-Clause, BSD-3-Clause, MPL-2.0-no-copyleft-exception, MIT, LGPL-2.0, Apache-2.0
- <?php
- /* Prototype: string str_repeat ( string $input, int $multiplier );
- Description: Returns input repeated multiplier times. multiplier has to be
- greater than or equal to 0. If the multiplier is set to 0, the function
- will return an empty string.
- */
- echo "*** Testing str_repeat() with possible strings ***";
- $variations = array(
- 'a',
- 'foo',
- 'barbazbax',
- "\x00",
- '\0',
- NULL,
- TRUE,
- 4,
- 1.23,
- "",
- " "
- );
- /* variations in string and multiplier as an integer */
- foreach($variations as $input) {
- echo "\n--- str_repeat() of '$input' ---\n" ;
- for($n=0; $n<4; $n++) {
- echo "-- after repeating $n times is => ";
- echo str_repeat($input, $n)."\n";
- }
- }
- /* variations in multiplier as well as string to be repeated. Same varient
- values are used as string to be repeated as well as multiplier */
- echo "\n\n*** Testing str_repeat() with various strings & multiplier value ***";
- foreach ( $variations as $input ) {
- echo "\n--- str_repeat() of '$input' ---\n" ;
- foreach ( $variations as $multiplier ) {
- echo "-- after repeating '$multiplier' times is => ";
- var_dump( str_repeat($input, $multiplier) );
- }
- }
- echo "\n*** Testing str_repeat() with complex strings containing
- other than 7-bit chars ***\n";
- $str = chr(0).chr(128).chr(129).chr(234).chr(235).chr(254).chr(255);
- var_dump(str_repeat($str, chr(51))); // ASCII value of '3' given
- var_dump(str_repeat($str, 3));
- echo "\n\n*** Testing error conditions ***";
- var_dump( str_repeat() ); // Zero args
- var_dump( str_repeat($input[0]) ); // args < expected
- var_dump( str_repeat($input[0], 3, 4) ); // args > expected
- var_dump( str_repeat($input[0], -1) ); // Invalid arg for multiplier
- echo "Done\n";
- ?>