Annotation of embedaddon/php/ext/standard/tests/strings/strspn_variation3.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test strspn() function : usage variations - unexpected values of start argument
3: --FILE--
4: <?php
5: /* Prototype : proto int strspn(string str, string mask [, int start [, int len]])
6: * Description: Finds length of initial segment consisting entirely of characters found in mask.
7: If start or/and length is provided works like strspn(substr($s,$start,$len),$good_chars)
8: * Source code: ext/standard/string.c
9: * Alias to functions: none
10: */
11:
12: error_reporting(E_ALL & ~E_NOTICE);
13:
14: /*
15: * Testing strspn() : with unexpected values of start argument
16: */
17:
18: echo "*** Testing strspn() : with unexpected values of start argument ***\n";
19:
20: // initialing required variables
21: $str = 'string_val';
22: $mask = 'soibtFTf1234567890';
23: $len = 10;
24:
25: //get an unset variable
26: $unset_var = 10;
27: unset ($unset_var);
28:
29: // declaring class
30: class sample {
31: public function __toString() {
32: return "object";
33: }
34: }
35:
36: // creating a file resource
37: $file_handle = fopen(__FILE__, 'r');
38:
39:
40: //array of values to iterate over
41: $values = array(
42:
43: // float data
44: 10.5,
45: -10.5,
46: 10.1234567e8,
47: 10.7654321E-8,
48: .5,
49:
50: // array data
51: array(),
52: array(0),
53: array(1),
54: array(1, 2),
55: array('color' => 'red', 'item' => 'pen'),
56:
57: // null data
58: NULL,
59: null,
60:
61: // boolean data
62: true,
63: false,
64: TRUE,
65: FALSE,
66:
67: // empty data
68: "",
69: '',
70:
71: // string data
72: "string",
73: 'string',
74:
75: // object data
76: new sample(),
77:
78: // undefined data
79: $undefined_var,
80:
81: // unset data
82: $unset_var,
83:
84: // resource
85: $file_handle
86: );
87:
88: // loop through each element of the array for start
89:
90: foreach($values as $value) {
91: echo "\n-- Iteration with start value as \"$value\" --\n";
92: var_dump( strspn($str,$mask,$value) ); // with default len value
93: var_dump( strspn($str,$mask,$value,$len) ); // with all args
94: };
95:
96: // closing the resource
97: fclose($file_handle);
98:
99: echo "Done"
100: ?>
101: --EXPECTF--
102: *** Testing strspn() : with unexpected values of start argument ***
103:
104: -- Iteration with start value as "10.5" --
105: int(0)
106: int(0)
107:
108: -- Iteration with start value as "-10.5" --
109: int(2)
110: int(2)
111:
112: -- Iteration with start value as "1012345670" --
113: bool(false)
114: bool(false)
115:
116: -- Iteration with start value as "1.07654321E-7" --
117: int(2)
118: int(2)
119:
120: -- Iteration with start value as "0.5" --
121: int(2)
122: int(2)
123:
124: -- Iteration with start value as "Array" --
125:
126: Warning: strspn() expects parameter 3 to be long, array given in %s on line %d
127: NULL
128:
129: Warning: strspn() expects parameter 3 to be long, array given in %s on line %d
130: NULL
131:
132: -- Iteration with start value as "Array" --
133:
134: Warning: strspn() expects parameter 3 to be long, array given in %s on line %d
135: NULL
136:
137: Warning: strspn() expects parameter 3 to be long, array given in %s on line %d
138: NULL
139:
140: -- Iteration with start value as "Array" --
141:
142: Warning: strspn() expects parameter 3 to be long, array given in %s on line %d
143: NULL
144:
145: Warning: strspn() expects parameter 3 to be long, array given in %s on line %d
146: NULL
147:
148: -- Iteration with start value as "Array" --
149:
150: Warning: strspn() expects parameter 3 to be long, array given in %s on line %d
151: NULL
152:
153: Warning: strspn() expects parameter 3 to be long, array given in %s on line %d
154: NULL
155:
156: -- Iteration with start value as "Array" --
157:
158: Warning: strspn() expects parameter 3 to be long, array given in %s on line %d
159: NULL
160:
161: Warning: strspn() expects parameter 3 to be long, array given in %s on line %d
162: NULL
163:
164: -- Iteration with start value as "" --
165: int(2)
166: int(2)
167:
168: -- Iteration with start value as "" --
169: int(2)
170: int(2)
171:
172: -- Iteration with start value as "1" --
173: int(1)
174: int(1)
175:
176: -- Iteration with start value as "" --
177: int(2)
178: int(2)
179:
180: -- Iteration with start value as "1" --
181: int(1)
182: int(1)
183:
184: -- Iteration with start value as "" --
185: int(2)
186: int(2)
187:
188: -- Iteration with start value as "" --
189:
190: Warning: strspn() expects parameter 3 to be long, string given in %s on line %d
191: NULL
192:
193: Warning: strspn() expects parameter 3 to be long, string given in %s on line %d
194: NULL
195:
196: -- Iteration with start value as "" --
197:
198: Warning: strspn() expects parameter 3 to be long, string given in %s on line %d
199: NULL
200:
201: Warning: strspn() expects parameter 3 to be long, string given in %s on line %d
202: NULL
203:
204: -- Iteration with start value as "string" --
205:
206: Warning: strspn() expects parameter 3 to be long, string given in %s on line %d
207: NULL
208:
209: Warning: strspn() expects parameter 3 to be long, string given in %s on line %d
210: NULL
211:
212: -- Iteration with start value as "string" --
213:
214: Warning: strspn() expects parameter 3 to be long, string given in %s on line %d
215: NULL
216:
217: Warning: strspn() expects parameter 3 to be long, string given in %s on line %d
218: NULL
219:
220: -- Iteration with start value as "object" --
221:
222: Warning: strspn() expects parameter 3 to be long, object given in %s on line %d
223: NULL
224:
225: Warning: strspn() expects parameter 3 to be long, object given in %s on line %d
226: NULL
227:
228: -- Iteration with start value as "" --
229: int(2)
230: int(2)
231:
232: -- Iteration with start value as "" --
233: int(2)
234: int(2)
235:
236: -- Iteration with start value as "Resource id #%d" --
237:
238: Warning: strspn() expects parameter 3 to be long, resource given in %s on line %d
239: NULL
240:
241: Warning: strspn() expects parameter 3 to be long, resource given in %s on line %d
242: NULL
243: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>