Annotation of embedaddon/php/ext/standard/tests/strings/sprintf_variation34_64bit.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test sprintf() function : usage variations - hexa formats with integer values
3: --SKIPIF--
4: <?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?>
5: --FILE--
6: <?php
7: /* Prototype : string sprintf(string $format [, mixed $arg1 [, mixed ...]])
8: * Description: Return a formatted string
9: * Source code: ext/standard/formatted_print.c
10: */
11:
12: echo "*** Testing sprintf() : hexa formats with integer values ***\n";
13:
14: // array of integer values
15: $integer_values = array(
16: 0,
17: 1,
18: -1,
19: -2147483648, // max negative integer value
20: -2147483647,
21: 2147483647, // max positive integer value
22: 2147483640,
23: 0x123B, // integer as hexadecimal
24: 0x12ab,
25: 0Xfff,
26: 0XFA,
27: -0x80000000, // max negative integer as hexadecimal
28: 0x7fffffff, // max postive integer as hexadecimal
29: 0x7FFFFFFF, // max postive integer as hexadecimal
30: 0123, // integer as octal
31: 01912, // should be quivalent to octal 1
32: -020000000000, // max negative integer as octal
33: 017777777777 // max positive integer as octal
34: );
35:
36: // array of hexa formats
37: $hexa_formats = array(
38: "%x", "%xx", "%lx",
39: "%Lx", " %x", "%x ",
40: "\t%x", "\n%x", "%4x",
41: "%30x", "%[0-9A-Fa-f]", "%*x"
42: );
43:
44: $count = 1;
45: foreach($integer_values as $integer_value) {
46: echo "\n-- Iteration $count --\n";
47:
48: foreach($hexa_formats as $format) {
49: var_dump( sprintf($format, $integer_value) );
50: }
51: $count++;
52: };
53:
54: echo "Done";
55: ?>
56: --EXPECTF--
57: *** Testing sprintf() : hexa formats with integer values ***
58:
59: -- Iteration 1 --
60: string(1) "0"
61: string(2) "0x"
62: string(1) "0"
63: string(1) "x"
64: string(2) " 0"
65: string(2) "0 "
66: string(2) " 0"
67: string(2) "
68: 0"
69: string(4) " 0"
70: string(30) " 0"
71: string(10) "0-9A-Fa-f]"
72: string(1) "x"
73:
74: -- Iteration 2 --
75: string(1) "1"
76: string(2) "1x"
77: string(1) "1"
78: string(1) "x"
79: string(2) " 1"
80: string(2) "1 "
81: string(2) " 1"
82: string(2) "
83: 1"
84: string(4) " 1"
85: string(30) " 1"
86: string(10) "0-9A-Fa-f]"
87: string(1) "x"
88:
89: -- Iteration 3 --
90: string(16) "ffffffffffffffff"
91: string(17) "ffffffffffffffffx"
92: string(16) "ffffffffffffffff"
93: string(1) "x"
94: string(17) " ffffffffffffffff"
95: string(17) "ffffffffffffffff "
96: string(17) " ffffffffffffffff"
97: string(17) "
98: ffffffffffffffff"
99: string(16) "ffffffffffffffff"
100: string(30) " ffffffffffffffff"
101: string(10) "0-9A-Fa-f]"
102: string(1) "x"
103:
104: -- Iteration 4 --
105: string(16) "ffffffff80000000"
106: string(17) "ffffffff80000000x"
107: string(16) "ffffffff80000000"
108: string(1) "x"
109: string(17) " ffffffff80000000"
110: string(17) "ffffffff80000000 "
111: string(17) " ffffffff80000000"
112: string(17) "
113: ffffffff80000000"
114: string(16) "ffffffff80000000"
115: string(30) " ffffffff80000000"
116: string(10) "0-9A-Fa-f]"
117: string(1) "x"
118:
119: -- Iteration 5 --
120: string(16) "ffffffff80000001"
121: string(17) "ffffffff80000001x"
122: string(16) "ffffffff80000001"
123: string(1) "x"
124: string(17) " ffffffff80000001"
125: string(17) "ffffffff80000001 "
126: string(17) " ffffffff80000001"
127: string(17) "
128: ffffffff80000001"
129: string(16) "ffffffff80000001"
130: string(30) " ffffffff80000001"
131: string(10) "0-9A-Fa-f]"
132: string(1) "x"
133:
134: -- Iteration 6 --
135: string(8) "7fffffff"
136: string(9) "7fffffffx"
137: string(8) "7fffffff"
138: string(1) "x"
139: string(9) " 7fffffff"
140: string(9) "7fffffff "
141: string(9) " 7fffffff"
142: string(9) "
143: 7fffffff"
144: string(8) "7fffffff"
145: string(30) " 7fffffff"
146: string(10) "0-9A-Fa-f]"
147: string(1) "x"
148:
149: -- Iteration 7 --
150: string(8) "7ffffff8"
151: string(9) "7ffffff8x"
152: string(8) "7ffffff8"
153: string(1) "x"
154: string(9) " 7ffffff8"
155: string(9) "7ffffff8 "
156: string(9) " 7ffffff8"
157: string(9) "
158: 7ffffff8"
159: string(8) "7ffffff8"
160: string(30) " 7ffffff8"
161: string(10) "0-9A-Fa-f]"
162: string(1) "x"
163:
164: -- Iteration 8 --
165: string(4) "123b"
166: string(5) "123bx"
167: string(4) "123b"
168: string(1) "x"
169: string(5) " 123b"
170: string(5) "123b "
171: string(5) " 123b"
172: string(5) "
173: 123b"
174: string(4) "123b"
175: string(30) " 123b"
176: string(10) "0-9A-Fa-f]"
177: string(1) "x"
178:
179: -- Iteration 9 --
180: string(4) "12ab"
181: string(5) "12abx"
182: string(4) "12ab"
183: string(1) "x"
184: string(5) " 12ab"
185: string(5) "12ab "
186: string(5) " 12ab"
187: string(5) "
188: 12ab"
189: string(4) "12ab"
190: string(30) " 12ab"
191: string(10) "0-9A-Fa-f]"
192: string(1) "x"
193:
194: -- Iteration 10 --
195: string(3) "fff"
196: string(4) "fffx"
197: string(3) "fff"
198: string(1) "x"
199: string(4) " fff"
200: string(4) "fff "
201: string(4) " fff"
202: string(4) "
203: fff"
204: string(4) " fff"
205: string(30) " fff"
206: string(10) "0-9A-Fa-f]"
207: string(1) "x"
208:
209: -- Iteration 11 --
210: string(2) "fa"
211: string(3) "fax"
212: string(2) "fa"
213: string(1) "x"
214: string(3) " fa"
215: string(3) "fa "
216: string(3) " fa"
217: string(3) "
218: fa"
219: string(4) " fa"
220: string(30) " fa"
221: string(10) "0-9A-Fa-f]"
222: string(1) "x"
223:
224: -- Iteration 12 --
225: string(16) "ffffffff80000000"
226: string(17) "ffffffff80000000x"
227: string(16) "ffffffff80000000"
228: string(1) "x"
229: string(17) " ffffffff80000000"
230: string(17) "ffffffff80000000 "
231: string(17) " ffffffff80000000"
232: string(17) "
233: ffffffff80000000"
234: string(16) "ffffffff80000000"
235: string(30) " ffffffff80000000"
236: string(10) "0-9A-Fa-f]"
237: string(1) "x"
238:
239: -- Iteration 13 --
240: string(8) "7fffffff"
241: string(9) "7fffffffx"
242: string(8) "7fffffff"
243: string(1) "x"
244: string(9) " 7fffffff"
245: string(9) "7fffffff "
246: string(9) " 7fffffff"
247: string(9) "
248: 7fffffff"
249: string(8) "7fffffff"
250: string(30) " 7fffffff"
251: string(10) "0-9A-Fa-f]"
252: string(1) "x"
253:
254: -- Iteration 14 --
255: string(8) "7fffffff"
256: string(9) "7fffffffx"
257: string(8) "7fffffff"
258: string(1) "x"
259: string(9) " 7fffffff"
260: string(9) "7fffffff "
261: string(9) " 7fffffff"
262: string(9) "
263: 7fffffff"
264: string(8) "7fffffff"
265: string(30) " 7fffffff"
266: string(10) "0-9A-Fa-f]"
267: string(1) "x"
268:
269: -- Iteration 15 --
270: string(2) "53"
271: string(3) "53x"
272: string(2) "53"
273: string(1) "x"
274: string(3) " 53"
275: string(3) "53 "
276: string(3) " 53"
277: string(3) "
278: 53"
279: string(4) " 53"
280: string(30) " 53"
281: string(10) "0-9A-Fa-f]"
282: string(1) "x"
283:
284: -- Iteration 16 --
285: string(1) "1"
286: string(2) "1x"
287: string(1) "1"
288: string(1) "x"
289: string(2) " 1"
290: string(2) "1 "
291: string(2) " 1"
292: string(2) "
293: 1"
294: string(4) " 1"
295: string(30) " 1"
296: string(10) "0-9A-Fa-f]"
297: string(1) "x"
298:
299: -- Iteration 17 --
300: string(16) "ffffffff80000000"
301: string(17) "ffffffff80000000x"
302: string(16) "ffffffff80000000"
303: string(1) "x"
304: string(17) " ffffffff80000000"
305: string(17) "ffffffff80000000 "
306: string(17) " ffffffff80000000"
307: string(17) "
308: ffffffff80000000"
309: string(16) "ffffffff80000000"
310: string(30) " ffffffff80000000"
311: string(10) "0-9A-Fa-f]"
312: string(1) "x"
313:
314: -- Iteration 18 --
315: string(8) "7fffffff"
316: string(9) "7fffffffx"
317: string(8) "7fffffff"
318: string(1) "x"
319: string(9) " 7fffffff"
320: string(9) "7fffffff "
321: string(9) " 7fffffff"
322: string(9) "
323: 7fffffff"
324: string(8) "7fffffff"
325: string(30) " 7fffffff"
326: string(10) "0-9A-Fa-f]"
327: string(1) "x"
328: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>