Annotation of embedaddon/php/ext/standard/tests/strings/str_pad_variation4.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test str_pad() function : usage variations - unexpected inputs for '$pad_type' 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_type'
11: * and expected type for '$input', '$pad_length' and '$pad_string'
12: */
13:
14: echo "*** Testing str_pad() function: with unexpected inputs for 'pad_type' 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: // array with different values for $input
28: $pad_types = array (
29:
30: // integer values
31: /*1*/ 0, // == STR_PAD_LEFT
32: 1, // == STR_PAD_RIGHT
33: 2, // == STR_PAD_BOTH
34: -2,
35: 2147483647,
36: -2147483648,
37:
38: // float values
39: /*7*/ 10.5,
40: -20.5,
41: 10.1234567e10,
42:
43: // string data
44: /*10*/ "abc",
45: "STR_PAD_LEFT",
46: "2",
47: "0x2",
48: "02",
49:
50: // array values
51: /*15*/ array(),
52: array(0),
53: array(1, 2),
54:
55: // boolean values
56: /*18*/ true,
57: false,
58: TRUE,
59: FALSE,
60:
61: // null vlaues
62: /*22*/ NULL,
63: null,
64:
65: // objects
66: /*24*/ new sample(),
67:
68: // undefined variable
69: /*25*/ @$undefined_var,
70:
71: // unset variable
72: /*26*/ @$unset_var
73: );
74:
75: //defining '$input' argument
76: $input = "Test string";
77: $pad_length = 20;
78: $pad_string = "*";
79:
80: // loop through with each element of the $pad_types array to test str_pad() function
81: $count = 1;
82: foreach($pad_types as $pad_type) {
83: echo "-- Iteration $count --\n";
84: var_dump( str_pad($input, $pad_length, $pad_string, $pad_type) );
85: $count ++;
86: }
87:
88: ?>
89: ===DONE===
90: --EXPECTF--
91: *** Testing str_pad() function: with unexpected inputs for 'pad_type' argument ***
92: -- Iteration 1 --
93: string(20) "*********Test string"
94: -- Iteration 2 --
95: string(20) "Test string*********"
96: -- Iteration 3 --
97: string(20) "****Test string*****"
98: -- Iteration 4 --
99:
100: Warning: str_pad(): Padding type has to be STR_PAD_LEFT, STR_PAD_RIGHT, or STR_PAD_BOTH in %s on line %d
101: NULL
102: -- Iteration 5 --
103:
104: Warning: str_pad(): Padding type has to be STR_PAD_LEFT, STR_PAD_RIGHT, or STR_PAD_BOTH in %s on line %d
105: NULL
106: -- Iteration 6 --
107:
108: Warning: str_pad(): Padding type has to be STR_PAD_LEFT, STR_PAD_RIGHT, or STR_PAD_BOTH in %s on line %d
109: NULL
110: -- Iteration 7 --
111:
112: Warning: str_pad(): Padding type has to be STR_PAD_LEFT, STR_PAD_RIGHT, or STR_PAD_BOTH in %s on line %d
113: NULL
114: -- Iteration 8 --
115:
116: Warning: str_pad(): Padding type has to be STR_PAD_LEFT, STR_PAD_RIGHT, or STR_PAD_BOTH in %s on line %d
117: NULL
118: -- Iteration 9 --
119:
120: Warning: str_pad(): Padding type has to be STR_PAD_LEFT, STR_PAD_RIGHT, or STR_PAD_BOTH in %s on line %d
121: NULL
122: -- Iteration 10 --
123:
124: Warning: str_pad() expects parameter 4 to be long, string given in %s on line %d
125: NULL
126: -- Iteration 11 --
127:
128: Warning: str_pad() expects parameter 4 to be long, string given in %s on line %d
129: NULL
130: -- Iteration 12 --
131: string(20) "****Test string*****"
132: -- Iteration 13 --
133: string(20) "****Test string*****"
134: -- Iteration 14 --
135: string(20) "****Test string*****"
136: -- Iteration 15 --
137:
138: Warning: str_pad() expects parameter 4 to be long, array given in %s on line %d
139: NULL
140: -- Iteration 16 --
141:
142: Warning: str_pad() expects parameter 4 to be long, array given in %s on line %d
143: NULL
144: -- Iteration 17 --
145:
146: Warning: str_pad() expects parameter 4 to be long, array given in %s on line %d
147: NULL
148: -- Iteration 18 --
149: string(20) "Test string*********"
150: -- Iteration 19 --
151: string(20) "*********Test string"
152: -- Iteration 20 --
153: string(20) "Test string*********"
154: -- Iteration 21 --
155: string(20) "*********Test string"
156: -- Iteration 22 --
157: string(20) "*********Test string"
158: -- Iteration 23 --
159: string(20) "*********Test string"
160: -- Iteration 24 --
161:
162: Warning: str_pad() expects parameter 4 to be long, object given in %s on line %d
163: NULL
164: -- Iteration 25 --
165: string(20) "*********Test string"
166: -- Iteration 26 --
167: string(20) "*********Test string"
168: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>