Annotation of embedaddon/php/ext/standard/tests/strings/sprintf_variation35.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test sprintf() function : usage variations - hexa formats with float values
3: --SKIPIF--
4: <?php
5: if (PHP_INT_SIZE != 4) {
6: die("skip this test is for 32bit platform only");
7: }
8: ?>
9: --FILE--
10: <?php
11: /* Prototype : string sprintf(string $format [, mixed $arg1 [, mixed ...]])
12: * Description: Return a formatted string
13: * Source code: ext/standard/formatted_print.c
14: */
15:
16: echo "*** Testing sprintf() : hexa formats with float values ***\n";
17:
18: // array of float values
19: $float_values = array(
20: 2147483647,
21: 0x800000001, // float value, beyond max positive int
22: 020000000001, // float value, beyond max positive int
23: 0.0,
24: -0.1,
25: 1.0,
26: 1e5,
27: -1e6,
28: 1E8,
29: -1E9,
30: 10.0000000000000000005,
31: 10.5e+5
32: );
33:
34: // array of hexa formats
35: $hexa_formats = array(
36: "%x", "%xx", "%lx",
37: "%Lx", " %x", "%x ",
38: "\t%x", "\n%x", "%4x",
39: "%30x", "%[0-9A-Fa-f]", "%*x"
40: );
41:
42: $count = 1;
43: foreach($float_values as $float_value) {
44: echo "\n-- Iteration $count --\n";
45:
46: foreach($hexa_formats as $format) {
47: // with two arguments
48: var_dump( sprintf($format, $float_value) );
49: }
50: $count++;
51: };
52:
53: echo "Done";
54: ?>
55: --EXPECTF--
56: *** Testing sprintf() : hexa formats with float values ***
57:
58: -- Iteration 1 --
59: string(8) "7fffffff"
60: string(9) "7fffffffx"
61: string(8) "7fffffff"
62: string(1) "x"
63: string(9) " 7fffffff"
64: string(9) "7fffffff "
65: string(9) " 7fffffff"
66: string(9) "
67: 7fffffff"
68: string(8) "7fffffff"
69: string(30) " 7fffffff"
70: string(10) "0-9A-Fa-f]"
71: string(1) "x"
72:
73: -- Iteration 2 --
74: string(1) "1"
75: string(2) "1x"
76: string(1) "1"
77: string(1) "x"
78: string(2) " 1"
79: string(2) "1 "
80: string(2) " 1"
81: string(2) "
82: 1"
83: string(4) " 1"
84: string(30) " 1"
85: string(10) "0-9A-Fa-f]"
86: string(1) "x"
87:
88: -- Iteration 3 --
89: string(8) "80000001"
90: string(9) "80000001x"
91: string(8) "80000001"
92: string(1) "x"
93: string(9) " 80000001"
94: string(9) "80000001 "
95: string(9) " 80000001"
96: string(9) "
97: 80000001"
98: string(8) "80000001"
99: string(30) " 80000001"
100: string(10) "0-9A-Fa-f]"
101: string(1) "x"
102:
103: -- Iteration 4 --
104: string(1) "0"
105: string(2) "0x"
106: string(1) "0"
107: string(1) "x"
108: string(2) " 0"
109: string(2) "0 "
110: string(2) " 0"
111: string(2) "
112: 0"
113: string(4) " 0"
114: string(30) " 0"
115: string(10) "0-9A-Fa-f]"
116: string(1) "x"
117:
118: -- Iteration 5 --
119: string(1) "0"
120: string(2) "0x"
121: string(1) "0"
122: string(1) "x"
123: string(2) " 0"
124: string(2) "0 "
125: string(2) " 0"
126: string(2) "
127: 0"
128: string(4) " 0"
129: string(30) " 0"
130: string(10) "0-9A-Fa-f]"
131: string(1) "x"
132:
133: -- Iteration 6 --
134: string(1) "1"
135: string(2) "1x"
136: string(1) "1"
137: string(1) "x"
138: string(2) " 1"
139: string(2) "1 "
140: string(2) " 1"
141: string(2) "
142: 1"
143: string(4) " 1"
144: string(30) " 1"
145: string(10) "0-9A-Fa-f]"
146: string(1) "x"
147:
148: -- Iteration 7 --
149: string(5) "186a0"
150: string(6) "186a0x"
151: string(5) "186a0"
152: string(1) "x"
153: string(6) " 186a0"
154: string(6) "186a0 "
155: string(6) " 186a0"
156: string(6) "
157: 186a0"
158: string(5) "186a0"
159: string(30) " 186a0"
160: string(10) "0-9A-Fa-f]"
161: string(1) "x"
162:
163: -- Iteration 8 --
164: string(8) "fff0bdc0"
165: string(9) "fff0bdc0x"
166: string(8) "fff0bdc0"
167: string(1) "x"
168: string(9) " fff0bdc0"
169: string(9) "fff0bdc0 "
170: string(9) " fff0bdc0"
171: string(9) "
172: fff0bdc0"
173: string(8) "fff0bdc0"
174: string(30) " fff0bdc0"
175: string(10) "0-9A-Fa-f]"
176: string(1) "x"
177:
178: -- Iteration 9 --
179: string(7) "5f5e100"
180: string(8) "5f5e100x"
181: string(7) "5f5e100"
182: string(1) "x"
183: string(8) " 5f5e100"
184: string(8) "5f5e100 "
185: string(8) " 5f5e100"
186: string(8) "
187: 5f5e100"
188: string(7) "5f5e100"
189: string(30) " 5f5e100"
190: string(10) "0-9A-Fa-f]"
191: string(1) "x"
192:
193: -- Iteration 10 --
194: string(8) "c4653600"
195: string(9) "c4653600x"
196: string(8) "c4653600"
197: string(1) "x"
198: string(9) " c4653600"
199: string(9) "c4653600 "
200: string(9) " c4653600"
201: string(9) "
202: c4653600"
203: string(8) "c4653600"
204: string(30) " c4653600"
205: string(10) "0-9A-Fa-f]"
206: string(1) "x"
207:
208: -- Iteration 11 --
209: string(1) "a"
210: string(2) "ax"
211: string(1) "a"
212: string(1) "x"
213: string(2) " a"
214: string(2) "a "
215: string(2) " a"
216: string(2) "
217: a"
218: string(4) " a"
219: string(30) " a"
220: string(10) "0-9A-Fa-f]"
221: string(1) "x"
222:
223: -- Iteration 12 --
224: string(6) "100590"
225: string(7) "100590x"
226: string(6) "100590"
227: string(1) "x"
228: string(7) " 100590"
229: string(7) "100590 "
230: string(7) " 100590"
231: string(7) "
232: 100590"
233: string(6) "100590"
234: string(30) " 100590"
235: string(10) "0-9A-Fa-f]"
236: string(1) "x"
237: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>