Annotation of embedaddon/php/ext/standard/tests/strings/strspn_variation7.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test strspn() function : usage variations - with heredoc strings, varying start and default len args
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: /*
13: * Testing strspn() : with heredoc string, varying start and default len arguments
14: */
15:
16: echo "*** Testing strspn() : with different start values ***\n";
17:
18: // initialing required variables
19: // defining different heredoc strings
20: $empty_heredoc = <<<EOT
21: EOT;
22:
23: $heredoc_with_newline = <<<EOT
24: \n
25:
26: EOT;
27:
28: $heredoc_with_characters = <<<EOT
29: first line of heredoc string
30: second line of heredoc string
31: third line of heredocstring
32: EOT;
33:
34: $heredoc_with_newline_and_tabs = <<<EOT
35: hello\tworld\nhello\nworld\n
36: EOT;
37:
38: $heredoc_with_alphanumerics = <<<EOT
39: hello123world456
40: 1234hello\t1234
41: EOT;
42:
43: $heredoc_with_embedded_nulls = <<<EOT
44: hello\0world\0hello
45: \0hello\0
46: EOT;
47:
48: $heredoc_with_hexa_octal = <<<EOT
49: hello\0\100\xaaworld\0hello
50: \0hello\0
51: EOT;
52:
53: // defining array of different heredoc strings
54: $heredoc_strings = array(
55: $empty_heredoc,
56: $heredoc_with_newline,
57: $heredoc_with_characters,
58: $heredoc_with_newline_and_tabs,
59: $heredoc_with_alphanumerics,
60: $heredoc_with_embedded_nulls,
61: $heredoc_with_hexa_octal
62: );
63:
64: // defining array of different mask strings
65: $mask_array = array(
66: "",
67: '',
68: "f\nh\trstie \l",
69: 'f\n\thrstei \l',
70: "\t",
71: "t\ e",
72: '\t',
73: "f\te\h ",
74: " \t",
75: "f\t\ih\100e\xa"
76: );
77:
78: // defining array of different start values
79: $start_array = array(
80: 0,
81: 1,
82: 2,
83: -1,
84: -2,
85: 2147483647, // max positive integer
86: -2147483648, // min negative integer
87: );
88:
89:
90: // loop through each element of the array for heredoc strings, mask strings and start values
91:
92: $count = 1;
93:
94: foreach($heredoc_strings as $str) {
95: echo "\n-- Iteration $count --\n";
96: foreach($mask_array as $mask) {
97: foreach($start_array as $start) {
98: var_dump( strspn($str,$mask,$start) ); // with default len value
99: }
100: }
101: $count++;
102: }
103:
104: echo "Done"
105: ?>
106: --EXPECTF--
107: *** Testing strspn() : with different start values ***
108:
109: -- Iteration 1 --
110: int(0)
111: bool(false)
112: bool(false)
113: int(0)
114: int(0)
115: bool(false)
116: int(0)
117: int(0)
118: bool(false)
119: bool(false)
120: int(0)
121: int(0)
122: bool(false)
123: int(0)
124: int(0)
125: bool(false)
126: bool(false)
127: int(0)
128: int(0)
129: bool(false)
130: int(0)
131: int(0)
132: bool(false)
133: bool(false)
134: int(0)
135: int(0)
136: bool(false)
137: int(0)
138: int(0)
139: bool(false)
140: bool(false)
141: int(0)
142: int(0)
143: bool(false)
144: int(0)
145: int(0)
146: bool(false)
147: bool(false)
148: int(0)
149: int(0)
150: bool(false)
151: int(0)
152: int(0)
153: bool(false)
154: bool(false)
155: int(0)
156: int(0)
157: bool(false)
158: int(0)
159: int(0)
160: bool(false)
161: bool(false)
162: int(0)
163: int(0)
164: bool(false)
165: int(0)
166: int(0)
167: bool(false)
168: bool(false)
169: int(0)
170: int(0)
171: bool(false)
172: int(0)
173: int(0)
174: bool(false)
175: bool(false)
176: int(0)
177: int(0)
178: bool(false)
179: int(0)
180:
181: -- Iteration 2 --
182: int(0)
183: int(0)
184: int(0)
185: int(0)
186: int(0)
187: bool(false)
188: int(0)
189: int(0)
190: int(0)
191: int(0)
192: int(0)
193: int(0)
194: bool(false)
195: int(0)
196: int(2)
197: int(1)
198: int(0)
199: int(1)
200: int(2)
201: bool(false)
202: int(2)
203: int(0)
204: int(0)
205: int(0)
206: int(0)
207: int(0)
208: bool(false)
209: int(0)
210: int(0)
211: int(0)
212: int(0)
213: int(0)
214: int(0)
215: bool(false)
216: int(0)
217: int(0)
218: int(0)
219: int(0)
220: int(0)
221: int(0)
222: bool(false)
223: int(0)
224: int(0)
225: int(0)
226: int(0)
227: int(0)
228: int(0)
229: bool(false)
230: int(0)
231: int(0)
232: int(0)
233: int(0)
234: int(0)
235: int(0)
236: bool(false)
237: int(0)
238: int(0)
239: int(0)
240: int(0)
241: int(0)
242: int(0)
243: bool(false)
244: int(0)
245: int(2)
246: int(1)
247: int(0)
248: int(1)
249: int(2)
250: bool(false)
251: int(2)
252:
253: -- Iteration 3 --
254: int(0)
255: int(0)
256: int(0)
257: int(0)
258: int(0)
259: bool(false)
260: int(0)
261: int(0)
262: int(0)
263: int(0)
264: int(0)
265: int(0)
266: bool(false)
267: int(0)
268: int(8)
269: int(7)
270: int(6)
271: int(0)
272: int(0)
273: bool(false)
274: int(8)
275: int(11)
276: int(10)
277: int(9)
278: int(0)
279: int(1)
280: bool(false)
281: int(11)
282: int(0)
283: int(0)
284: int(0)
285: int(0)
286: int(0)
287: bool(false)
288: int(0)
289: int(0)
290: int(0)
291: int(0)
292: int(0)
293: int(0)
294: bool(false)
295: int(0)
296: int(0)
297: int(0)
298: int(0)
299: int(0)
300: int(0)
301: bool(false)
302: int(0)
303: int(1)
304: int(0)
305: int(0)
306: int(0)
307: int(0)
308: bool(false)
309: int(1)
310: int(0)
311: int(0)
312: int(0)
313: int(0)
314: int(0)
315: bool(false)
316: int(0)
317: int(2)
318: int(1)
319: int(0)
320: int(0)
321: int(0)
322: bool(false)
323: int(2)
324:
325: -- Iteration 4 --
326: int(0)
327: int(0)
328: int(0)
329: int(0)
330: int(0)
331: bool(false)
332: int(0)
333: int(0)
334: int(0)
335: int(0)
336: int(0)
337: int(0)
338: bool(false)
339: int(0)
340: int(4)
341: int(3)
342: int(2)
343: int(1)
344: int(0)
345: bool(false)
346: int(4)
347: int(4)
348: int(3)
349: int(2)
350: int(0)
351: int(0)
352: bool(false)
353: int(4)
354: int(0)
355: int(0)
356: int(0)
357: int(0)
358: int(0)
359: bool(false)
360: int(0)
361: int(0)
362: int(1)
363: int(0)
364: int(0)
365: int(0)
366: bool(false)
367: int(0)
368: int(0)
369: int(0)
370: int(0)
371: int(0)
372: int(0)
373: bool(false)
374: int(0)
375: int(2)
376: int(1)
377: int(0)
378: int(0)
379: int(0)
380: bool(false)
381: int(2)
382: int(0)
383: int(0)
384: int(0)
385: int(0)
386: int(0)
387: bool(false)
388: int(0)
389: int(2)
390: int(1)
391: int(0)
392: int(1)
393: int(0)
394: bool(false)
395: int(2)
396:
397: -- Iteration 5 --
398: int(0)
399: int(0)
400: int(0)
401: int(0)
402: int(0)
403: bool(false)
404: int(0)
405: int(0)
406: int(0)
407: int(0)
408: int(0)
409: int(0)
410: bool(false)
411: int(0)
412: int(4)
413: int(3)
414: int(2)
415: int(0)
416: int(0)
417: bool(false)
418: int(4)
419: int(4)
420: int(3)
421: int(2)
422: int(0)
423: int(0)
424: bool(false)
425: int(4)
426: int(0)
427: int(0)
428: int(0)
429: int(0)
430: int(0)
431: bool(false)
432: int(0)
433: int(0)
434: int(1)
435: int(0)
436: int(0)
437: int(0)
438: bool(false)
439: int(0)
440: int(0)
441: int(0)
442: int(0)
443: int(0)
444: int(0)
445: bool(false)
446: int(0)
447: int(2)
448: int(1)
449: int(0)
450: int(0)
451: int(0)
452: bool(false)
453: int(2)
454: int(0)
455: int(0)
456: int(0)
457: int(0)
458: int(0)
459: bool(false)
460: int(0)
461: int(2)
462: int(1)
463: int(0)
464: int(0)
465: int(0)
466: bool(false)
467: int(2)
468:
469: -- Iteration 6 --
470: int(0)
471: int(0)
472: int(0)
473: int(0)
474: int(0)
475: bool(false)
476: int(0)
477: int(0)
478: int(0)
479: int(0)
480: int(0)
481: int(0)
482: bool(false)
483: int(0)
484: int(4)
485: int(3)
486: int(2)
487: int(0)
488: int(0)
489: bool(false)
490: int(4)
491: int(4)
492: int(3)
493: int(2)
494: int(0)
495: int(0)
496: bool(false)
497: int(4)
498: int(0)
499: int(0)
500: int(0)
501: int(0)
502: int(0)
503: bool(false)
504: int(0)
505: int(0)
506: int(1)
507: int(0)
508: int(0)
509: int(0)
510: bool(false)
511: int(0)
512: int(0)
513: int(0)
514: int(0)
515: int(0)
516: int(0)
517: bool(false)
518: int(0)
519: int(2)
520: int(1)
521: int(0)
522: int(0)
523: int(0)
524: bool(false)
525: int(2)
526: int(0)
527: int(0)
528: int(0)
529: int(0)
530: int(0)
531: bool(false)
532: int(0)
533: int(2)
534: int(1)
535: int(0)
536: int(0)
537: int(0)
538: bool(false)
539: int(2)
540:
541: -- Iteration 7 --
542: int(0)
543: int(0)
544: int(0)
545: int(0)
546: int(0)
547: bool(false)
548: int(0)
549: int(0)
550: int(0)
551: int(0)
552: int(0)
553: int(0)
554: bool(false)
555: int(0)
556: int(4)
557: int(3)
558: int(2)
559: int(0)
560: int(0)
561: bool(false)
562: int(4)
563: int(4)
564: int(3)
565: int(2)
566: int(0)
567: int(0)
568: bool(false)
569: int(4)
570: int(0)
571: int(0)
572: int(0)
573: int(0)
574: int(0)
575: bool(false)
576: int(0)
577: int(0)
578: int(1)
579: int(0)
580: int(0)
581: int(0)
582: bool(false)
583: int(0)
584: int(0)
585: int(0)
586: int(0)
587: int(0)
588: int(0)
589: bool(false)
590: int(0)
591: int(2)
592: int(1)
593: int(0)
594: int(0)
595: int(0)
596: bool(false)
597: int(2)
598: int(0)
599: int(0)
600: int(0)
601: int(0)
602: int(0)
603: bool(false)
604: int(0)
605: int(2)
606: int(1)
607: int(0)
608: int(0)
609: int(0)
610: bool(false)
611: int(2)
612: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>