Annotation of embedaddon/php/ext/standard/tests/strings/str_split_variation5.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test str_split() function : usage variations - different heredoc strings as 'str' argument
3: --FILE--
4: <?php
5: /* Prototype : array str_split(string $str [, int $split_length] )
6: * Description: Convert a string to an array. If split_length is
7: specified, break the string down into chunks each
8: split_length characters long.
9: * Source code: ext/standard/string.c
10: * Alias to functions: none
11: */
12:
13: /*
14: * Passing different heredoc strings as 'str' argument to the str_split()
15: * with 'split_length' 10
16: */
17:
18: echo "*** Testing str_split() : heredoc strings as 'str' argument ***\n";
19:
20: // Initializing required variables
21: $split_length = 10;
22:
23: // Null heredoc string
24: $heredoc_null = <<<EOT1
25: EOT1;
26:
27: // heredoc string with single character
28: $heredoc_char = <<<EOT2
29: a
30: EOT2;
31:
32: // simple heredoc string
33: $heredoc_str = <<<EOT3
34: This is simple heredoc string
35: EOT3;
36:
37: // heredoc with special characters
38: $heredoc_spchar = <<<EOT4
39: This checks heredoc with $, %, &, chars
40: EOT4;
41:
42: // blank heredoc string
43: $heredoc_blank = <<<EOT5
44:
45: EOT5;
46:
47: // heredoc with different white space characters
48: $heredoc_escchar = <<<EOT6
49: This checks\t str_split()\nEscape\rchars
50: EOT6;
51:
52: // heredoc with multiline
53: $heredoc_multiline= <<<EOT7
54: This is to check str_split
55: function with multiline
56: heredoc
57: EOT7;
58:
59: // heredoc with quotes and slashes
60: $heredoc_quote_slash = <<<EOT8
61: "To check " in heredoc"
62: I'm sure it'll work also with \
63: which is single slash
64: EOT8;
65:
66: //different heredoc strings for 'str'
67: $heredoc_array = array(
68: $heredoc_null,
69: $heredoc_blank,
70: $heredoc_char,
71: $heredoc_str,
72: $heredoc_multiline,
73: $heredoc_spchar,
74: $heredoc_escchar,
75: $heredoc_quote_slash
76: );
77:
78:
79: // loop through each element of the 'heredoc_array' for 'str'
80: $count = 0;
81: foreach($heredoc_array as $str) {
82: echo "-- Iteration ".($count+1). " --\n";
83: var_dump( str_split($str, $split_length) );
84: $count++;
85: };
86:
87: echo "Done"
88: ?>
89: --EXPECTF--
90: *** Testing str_split() : heredoc strings as 'str' argument ***
91: -- Iteration 1 --
92: array(1) {
93: [0]=>
94: string(0) ""
95: }
96: -- Iteration 2 --
97: array(1) {
98: [0]=>
99: string(0) ""
100: }
101: -- Iteration 3 --
102: array(1) {
103: [0]=>
104: string(1) "a"
105: }
106: -- Iteration 4 --
107: array(3) {
108: [0]=>
109: string(10) "This is si"
110: [1]=>
111: string(10) "mple hered"
112: [2]=>
113: string(9) "oc string"
114: }
115: -- Iteration 5 --
116: array(6) {
117: [0]=>
118: string(10) "This is to"
119: [1]=>
120: string(10) " check str"
121: [2]=>
122: string(10) "_split
123: fun"
124: [3]=>
125: string(10) "ction with"
126: [4]=>
127: string(10) " multiline"
128: [5]=>
129: string(8) "
130: heredoc"
131: }
132: -- Iteration 6 --
133: array(4) {
134: [0]=>
135: string(10) "This check"
136: [1]=>
137: string(10) "s heredoc "
138: [2]=>
139: string(10) "with $, %,"
140: [3]=>
141: string(9) " &, chars"
142: }
143: -- Iteration 7 --
144: array(4) {
145: [0]=>
146: string(10) "This check"
147: [1]=>
148: string(10) "s str_spl"
149: [2]=>
150: string(10) "it()
151: Escap"
152: [3]=>
153: string(7) "e
chars"
154: }
155: -- Iteration 8 --
156: array(8) {
157: [0]=>
158: string(10) ""To check "
159: [1]=>
160: string(10) "" in hered"
161: [2]=>
162: string(10) "oc"
163: I'm su"
164: [3]=>
165: string(10) "re it'll w"
166: [4]=>
167: string(10) "ork also w"
168: [5]=>
169: string(10) "ith \
170: whic"
171: [6]=>
172: string(10) "h is singl"
173: [7]=>
174: string(7) "e slash"
175: }
176: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>