Return to str_pad_variation3.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / strings |
1.1 misho 1: --TEST-- 2: Test str_pad() function : usage variations - unexpected inputs for '$pad_string' argument 3: --FILE-- 4: <?php 5: /* Prototype : string str_pad ( string $input , int $pad_length [, string $pad_string [, int $pad_type ]] ) 6: * Description: Pad a string to a certain length with another string 7: * Source code: ext/standard/string.c 8: */ 9: 10: /* Test str_pad() function: with unexpected inputs for '$pad_string' 11: * and expected type for '$input' and '$pad_length' 12: */ 13: 14: echo "*** Testing str_pad() function: with unexpected inputs for 'pad_string' argument ***\n"; 15: 16: //get an unset variable 17: $unset_var = 'string_val'; 18: unset($unset_var); 19: 20: //defining a class 21: class sample { 22: public function __toString() { 23: return "sample object"; 24: } 25: } 26: 27: //getting the resource 28: $file_handle = fopen(__FILE__, "r"); 29: 30: // array with different values for $input 31: $pad_strings = array ( 32: 33: // integer values 34: /*1*/ 0, 35: 1, 36: -2, 37: 2147483647, 38: -2147483648, 39: 40: // float values 41: /*6*/ 10.5, 42: -20.5, 43: 10.1234567e10, 44: 45: // array values 46: /*9*/ array(), 47: array(0), 48: array(1, 2), 49: 50: // boolean values 51: /*12*/ true, 52: false, 53: TRUE, 54: FALSE, 55: 56: // null vlaues 57: /*16*/ NULL, 58: null, 59: 60: // objects 61: /*18*/ new sample(), 62: 63: // resource 64: /*19*/ $file_handle, 65: 66: // undefined variable 67: /*20*/ @$undefined_var, 68: 69: // unset variable 70: /*21*/ @$unset_var 71: ); 72: 73: //defining '$input' argument 74: $input = "Test string"; 75: $pad_length = 20; 76: 77: // loop through with each element of the $pad_strings array to test str_pad() function 78: $count = 1; 79: foreach($pad_strings as $pad_string) { 80: echo "-- Iteration $count --\n"; 81: var_dump( str_pad($input, $pad_length, $pad_string) ); 82: $count ++; 83: } 84: 85: fclose($file_handle); //closing the file handle 86: 87: ?> 88: ===DONE=== 89: --EXPECTF-- 90: *** Testing str_pad() function: with unexpected inputs for 'pad_string' argument *** 91: -- Iteration 1 -- 92: string(20) "Test string000000000" 93: -- Iteration 2 -- 94: string(20) "Test string111111111" 95: -- Iteration 3 -- 96: string(20) "Test string-2-2-2-2-" 97: -- Iteration 4 -- 98: string(20) "Test string214748364" 99: -- Iteration 5 -- 100: string(20) "Test string-21474836" 101: -- Iteration 6 -- 102: string(20) "Test string10.510.51" 103: -- Iteration 7 -- 104: string(20) "Test string-20.5-20." 105: -- Iteration 8 -- 106: string(20) "Test string101234567" 107: -- Iteration 9 -- 108: 109: Warning: str_pad() expects parameter 3 to be string, array given in %s on line %d 110: NULL 111: -- Iteration 10 -- 112: 113: Warning: str_pad() expects parameter 3 to be string, array given in %s on line %d 114: NULL 115: -- Iteration 11 -- 116: 117: Warning: str_pad() expects parameter 3 to be string, array given in %s on line %d 118: NULL 119: -- Iteration 12 -- 120: string(20) "Test string111111111" 121: -- Iteration 13 -- 122: 123: Warning: str_pad(): Padding string cannot be empty in %s on line %d 124: NULL 125: -- Iteration 14 -- 126: string(20) "Test string111111111" 127: -- Iteration 15 -- 128: 129: Warning: str_pad(): Padding string cannot be empty in %s on line %d 130: NULL 131: -- Iteration 16 -- 132: 133: Warning: str_pad(): Padding string cannot be empty in %s on line %d 134: NULL 135: -- Iteration 17 -- 136: 137: Warning: str_pad(): Padding string cannot be empty in %s on line %d 138: NULL 139: -- Iteration 18 -- 140: string(20) "Test stringsample ob" 141: -- Iteration 19 -- 142: 143: Warning: str_pad() expects parameter 3 to be string, resource given in %s on line %d 144: NULL 145: -- Iteration 20 -- 146: 147: Warning: str_pad(): Padding string cannot be empty in %s on line %d 148: NULL 149: -- Iteration 21 -- 150: 151: Warning: str_pad(): Padding string cannot be empty in %s on line %d 152: NULL 153: ===DONE===