Annotation of embedaddon/php/ext/standard/tests/strings/sprintf_variation15.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test sprintf() function : usage variations - string formats with string values
3: --FILE--
4: <?php
5: /* Prototype : string sprintf(string $format [, mixed $arg1 [, mixed ...]])
6: * Description: Return a formatted string
7: * Source code: ext/standard/formatted_print.c
8: */
9:
10:
11: echo "*** Testing sprintf() : string formats with string values ***\n";
12:
13: // defining different heredoc strings
14: /* string created using Heredoc (<<<) */
15: $heredoc_string = <<<EOT
16: This is string defined
17: using heredoc.
18: EOT;
19:
20: /* heredoc string with only numerics */
21: $heredoc_numeric_string = <<<EOT
22: 123456 3993
23: 4849 string
24: EOT;
25:
26: /* null heardoc string */
27: $heredoc_empty_string = <<<EOT
28: EOT;
29: $heredoc_null_string = <<<EOT
30: NULL
31: EOT;
32:
33: // array of strings used to test the function
34: $string_values = array(
35: "",
36: " ",
37: '',
38: ' ',
39: "string",
40: 'string',
41: "NULL",
42: 'null',
43: "FALSE",
44: 'true',
45: "\x0b",
46: "\0",
47: '\0',
48: '\060',
49: "\070",
50: "0x55F",
51: "055",
52: "@#$#$%%$^^$%^%^$^&",
53: $heredoc_string,
54: $heredoc_numeric_string,
55: $heredoc_empty_string,
56: $heredoc_null_string
57: );
58:
59: // array of string formats
60: $string_formats = array(
61: "%s", "%hs", "%ls",
62: "%Ls"," %s", "%s ",
63: "\t%s", "\n%s", "%4s",
64: "%30s", "%[a-zA-Z0-9]", "%*s"
65: );
66:
67: $count = 1;
68: foreach($string_values as $string_value) {
69: echo "\n-- Iteration $count --\n";
70:
71: foreach($string_formats as $format) {
72: var_dump( sprintf($format, $string_value) );
73: }
74: $count++;
75: };
76:
77: echo "Done";
78: ?>
79: --EXPECTF--
80: *** Testing sprintf() : string formats with string values ***
81:
82: -- Iteration 1 --
83: string(0) ""
84: string(1) "s"
85: string(0) ""
86: string(1) "s"
87: string(1) " "
88: string(1) " "
89: string(1) " "
90: string(1) "
91: "
92: string(4) " "
93: string(30) " "
94: string(10) "a-zA-Z0-9]"
95: string(1) "s"
96:
97: -- Iteration 2 --
98: string(1) " "
99: string(1) "s"
100: string(1) " "
101: string(1) "s"
102: string(2) " "
103: string(2) " "
104: string(2) " "
105: string(2) "
106: "
107: string(4) " "
108: string(30) " "
109: string(10) "a-zA-Z0-9]"
110: string(1) "s"
111:
112: -- Iteration 3 --
113: string(0) ""
114: string(1) "s"
115: string(0) ""
116: string(1) "s"
117: string(1) " "
118: string(1) " "
119: string(1) " "
120: string(1) "
121: "
122: string(4) " "
123: string(30) " "
124: string(10) "a-zA-Z0-9]"
125: string(1) "s"
126:
127: -- Iteration 4 --
128: string(1) " "
129: string(1) "s"
130: string(1) " "
131: string(1) "s"
132: string(2) " "
133: string(2) " "
134: string(2) " "
135: string(2) "
136: "
137: string(4) " "
138: string(30) " "
139: string(10) "a-zA-Z0-9]"
140: string(1) "s"
141:
142: -- Iteration 5 --
143: string(6) "string"
144: string(1) "s"
145: string(6) "string"
146: string(1) "s"
147: string(7) " string"
148: string(7) "string "
149: string(7) " string"
150: string(7) "
151: string"
152: string(6) "string"
153: string(30) " string"
154: string(10) "a-zA-Z0-9]"
155: string(1) "s"
156:
157: -- Iteration 6 --
158: string(6) "string"
159: string(1) "s"
160: string(6) "string"
161: string(1) "s"
162: string(7) " string"
163: string(7) "string "
164: string(7) " string"
165: string(7) "
166: string"
167: string(6) "string"
168: string(30) " string"
169: string(10) "a-zA-Z0-9]"
170: string(1) "s"
171:
172: -- Iteration 7 --
173: string(4) "NULL"
174: string(1) "s"
175: string(4) "NULL"
176: string(1) "s"
177: string(5) " NULL"
178: string(5) "NULL "
179: string(5) " NULL"
180: string(5) "
181: NULL"
182: string(4) "NULL"
183: string(30) " NULL"
184: string(10) "a-zA-Z0-9]"
185: string(1) "s"
186:
187: -- Iteration 8 --
188: string(4) "null"
189: string(1) "s"
190: string(4) "null"
191: string(1) "s"
192: string(5) " null"
193: string(5) "null "
194: string(5) " null"
195: string(5) "
196: null"
197: string(4) "null"
198: string(30) " null"
199: string(10) "a-zA-Z0-9]"
200: string(1) "s"
201:
202: -- Iteration 9 --
203: string(5) "FALSE"
204: string(1) "s"
205: string(5) "FALSE"
206: string(1) "s"
207: string(6) " FALSE"
208: string(6) "FALSE "
209: string(6) " FALSE"
210: string(6) "
211: FALSE"
212: string(5) "FALSE"
213: string(30) " FALSE"
214: string(10) "a-zA-Z0-9]"
215: string(1) "s"
216:
217: -- Iteration 10 --
218: string(4) "true"
219: string(1) "s"
220: string(4) "true"
221: string(1) "s"
222: string(5) " true"
223: string(5) "true "
224: string(5) " true"
225: string(5) "
226: true"
227: string(4) "true"
228: string(30) " true"
229: string(10) "a-zA-Z0-9]"
230: string(1) "s"
231:
232: -- Iteration 11 --
233: string(1) ""
234: string(1) "s"
235: string(1) ""
236: string(1) "s"
237: string(2) " "
238: string(2) " "
239: string(2) " "
240: string(2) "
241: "
242: string(4) " "
243: string(30) " "
244: string(10) "a-zA-Z0-9]"
245: string(1) "s"
246:
247: -- Iteration 12 --
248: string(1) "