1--TEST--
2Test parsing of octal quantities
3--EXTENSIONS--
4zend_test
5--FILE--
6<?php
7
8// This test checks valid formats do not throw any warnings.
9foreach (['', ' '] as $leadingWS) {
10  foreach (['', '+', '-'] as $sign) {
11    foreach (['', ' '] as $midWS) {
12      // Ignore G due to overflow on 32bits
13      foreach (['', 'K', 'k', 'M', 'm'] as $exp) {
14        foreach (['', ' '] as $trailingWS) {
15          $setting = sprintf('%s%s0o14%s%s%s',
16                             $leadingWS, $sign, $midWS, $exp, $trailingWS);
17          printf("# \"%s\"\n", $setting);
18          var_dump(zend_test_zend_ini_parse_quantity($setting));
19          print "\n";
20
21          $setting = sprintf('%s%s0O14%s%s%s',
22                             $leadingWS, $sign, $midWS, $exp, $trailingWS);
23          printf("# \"%s\"\n", $setting);
24          var_dump(zend_test_zend_ini_parse_quantity($setting));
25          print "\n";
26        }
27      }
28    }
29  }
30}
31?>
32--EXPECT--
33# "0o14"
34int(12)
35
36# "0O14"
37int(12)
38
39# "0o14 "
40int(12)
41
42# "0O14 "
43int(12)
44
45# "0o14K"
46int(12288)
47
48# "0O14K"
49int(12288)
50
51# "0o14K "
52int(12288)
53
54# "0O14K "
55int(12288)
56
57# "0o14k"
58int(12288)
59
60# "0O14k"
61int(12288)
62
63# "0o14k "
64int(12288)
65
66# "0O14k "
67int(12288)
68
69# "0o14M"
70int(12582912)
71
72# "0O14M"
73int(12582912)
74
75# "0o14M "
76int(12582912)
77
78# "0O14M "
79int(12582912)
80
81# "0o14m"
82int(12582912)
83
84# "0O14m"
85int(12582912)
86
87# "0o14m "
88int(12582912)
89
90# "0O14m "
91int(12582912)
92
93# "0o14 "
94int(12)
95
96# "0O14 "
97int(12)
98
99# "0o14  "
100int(12)
101
102# "0O14  "
103int(12)
104
105# "0o14 K"
106int(12288)
107
108# "0O14 K"
109int(12288)
110
111# "0o14 K "
112int(12288)
113
114# "0O14 K "
115int(12288)
116
117# "0o14 k"
118int(12288)
119
120# "0O14 k"
121int(12288)
122
123# "0o14 k "
124int(12288)
125
126# "0O14 k "
127int(12288)
128
129# "0o14 M"
130int(12582912)
131
132# "0O14 M"
133int(12582912)
134
135# "0o14 M "
136int(12582912)
137
138# "0O14 M "
139int(12582912)
140
141# "0o14 m"
142int(12582912)
143
144# "0O14 m"
145int(12582912)
146
147# "0o14 m "
148int(12582912)
149
150# "0O14 m "
151int(12582912)
152
153# "+0o14"
154int(12)
155
156# "+0O14"
157int(12)
158
159# "+0o14 "
160int(12)
161
162# "+0O14 "
163int(12)
164
165# "+0o14K"
166int(12288)
167
168# "+0O14K"
169int(12288)
170
171# "+0o14K "
172int(12288)
173
174# "+0O14K "
175int(12288)
176
177# "+0o14k"
178int(12288)
179
180# "+0O14k"
181int(12288)
182
183# "+0o14k "
184int(12288)
185
186# "+0O14k "
187int(12288)
188
189# "+0o14M"
190int(12582912)
191
192# "+0O14M"
193int(12582912)
194
195# "+0o14M "
196int(12582912)
197
198# "+0O14M "
199int(12582912)
200
201# "+0o14m"
202int(12582912)
203
204# "+0O14m"
205int(12582912)
206
207# "+0o14m "
208int(12582912)
209
210# "+0O14m "
211int(12582912)
212
213# "+0o14 "
214int(12)
215
216# "+0O14 "
217int(12)
218
219# "+0o14  "
220int(12)
221
222# "+0O14  "
223int(12)
224
225# "+0o14 K"
226int(12288)
227
228# "+0O14 K"
229int(12288)
230
231# "+0o14 K "
232int(12288)
233
234# "+0O14 K "
235int(12288)
236
237# "+0o14 k"
238int(12288)
239
240# "+0O14 k"
241int(12288)
242
243# "+0o14 k "
244int(12288)
245
246# "+0O14 k "
247int(12288)
248
249# "+0o14 M"
250int(12582912)
251
252# "+0O14 M"
253int(12582912)
254
255# "+0o14 M "
256int(12582912)
257
258# "+0O14 M "
259int(12582912)
260
261# "+0o14 m"
262int(12582912)
263
264# "+0O14 m"
265int(12582912)
266
267# "+0o14 m "
268int(12582912)
269
270# "+0O14 m "
271int(12582912)
272
273# "-0o14"
274int(-12)
275
276# "-0O14"
277int(-12)
278
279# "-0o14 "
280int(-12)
281
282# "-0O14 "
283int(-12)
284
285# "-0o14K"
286int(-12288)
287
288# "-0O14K"
289int(-12288)
290
291# "-0o14K "
292int(-12288)
293
294# "-0O14K "
295int(-12288)
296
297# "-0o14k"
298int(-12288)
299
300# "-0O14k"
301int(-12288)
302
303# "-0o14k "
304int(-12288)
305
306# "-0O14k "
307int(-12288)
308
309# "-0o14M"
310int(-12582912)
311
312# "-0O14M"
313int(-12582912)
314
315# "-0o14M "
316int(-12582912)
317
318# "-0O14M "
319int(-12582912)
320
321# "-0o14m"
322int(-12582912)
323
324# "-0O14m"
325int(-12582912)
326
327# "-0o14m "
328int(-12582912)
329
330# "-0O14m "
331int(-12582912)
332
333# "-0o14 "
334int(-12)
335
336# "-0O14 "
337int(-12)
338
339# "-0o14  "
340int(-12)
341
342# "-0O14  "
343int(-12)
344
345# "-0o14 K"
346int(-12288)
347
348# "-0O14 K"
349int(-12288)
350
351# "-0o14 K "
352int(-12288)
353
354# "-0O14 K "
355int(-12288)
356
357# "-0o14 k"
358int(-12288)
359
360# "-0O14 k"
361int(-12288)
362
363# "-0o14 k "
364int(-12288)
365
366# "-0O14 k "
367int(-12288)
368
369# "-0o14 M"
370int(-12582912)
371
372# "-0O14 M"
373int(-12582912)
374
375# "-0o14 M "
376int(-12582912)
377
378# "-0O14 M "
379int(-12582912)
380
381# "-0o14 m"
382int(-12582912)
383
384# "-0O14 m"
385int(-12582912)
386
387# "-0o14 m "
388int(-12582912)
389
390# "-0O14 m "
391int(-12582912)
392
393# " 0o14"
394int(12)
395
396# " 0O14"
397int(12)
398
399# " 0o14 "
400int(12)
401
402# " 0O14 "
403int(12)
404
405# " 0o14K"
406int(12288)
407
408# " 0O14K"
409int(12288)
410
411# " 0o14K "
412int(12288)
413
414# " 0O14K "
415int(12288)
416
417# " 0o14k"
418int(12288)
419
420# " 0O14k"
421int(12288)
422
423# " 0o14k "
424int(12288)
425
426# " 0O14k "
427int(12288)
428
429# " 0o14M"
430int(12582912)
431
432# " 0O14M"
433int(12582912)
434
435# " 0o14M "
436int(12582912)
437
438# " 0O14M "
439int(12582912)
440
441# " 0o14m"
442int(12582912)
443
444# " 0O14m"
445int(12582912)
446
447# " 0o14m "
448int(12582912)
449
450# " 0O14m "
451int(12582912)
452
453# " 0o14 "
454int(12)
455
456# " 0O14 "
457int(12)
458
459# " 0o14  "
460int(12)
461
462# " 0O14  "
463int(12)
464
465# " 0o14 K"
466int(12288)
467
468# " 0O14 K"
469int(12288)
470
471# " 0o14 K "
472int(12288)
473
474# " 0O14 K "
475int(12288)
476
477# " 0o14 k"
478int(12288)
479
480# " 0O14 k"
481int(12288)
482
483# " 0o14 k "
484int(12288)
485
486# " 0O14 k "
487int(12288)
488
489# " 0o14 M"
490int(12582912)
491
492# " 0O14 M"
493int(12582912)
494
495# " 0o14 M "
496int(12582912)
497
498# " 0O14 M "
499int(12582912)
500
501# " 0o14 m"
502int(12582912)
503
504# " 0O14 m"
505int(12582912)
506
507# " 0o14 m "
508int(12582912)
509
510# " 0O14 m "
511int(12582912)
512
513# " +0o14"
514int(12)
515
516# " +0O14"
517int(12)
518
519# " +0o14 "
520int(12)
521
522# " +0O14 "
523int(12)
524
525# " +0o14K"
526int(12288)
527
528# " +0O14K"
529int(12288)
530
531# " +0o14K "
532int(12288)
533
534# " +0O14K "
535int(12288)
536
537# " +0o14k"
538int(12288)
539
540# " +0O14k"
541int(12288)
542
543# " +0o14k "
544int(12288)
545
546# " +0O14k "
547int(12288)
548
549# " +0o14M"
550int(12582912)
551
552# " +0O14M"
553int(12582912)
554
555# " +0o14M "
556int(12582912)
557
558# " +0O14M "
559int(12582912)
560
561# " +0o14m"
562int(12582912)
563
564# " +0O14m"
565int(12582912)
566
567# " +0o14m "
568int(12582912)
569
570# " +0O14m "
571int(12582912)
572
573# " +0o14 "
574int(12)
575
576# " +0O14 "
577int(12)
578
579# " +0o14  "
580int(12)
581
582# " +0O14  "
583int(12)
584
585# " +0o14 K"
586int(12288)
587
588# " +0O14 K"
589int(12288)
590
591# " +0o14 K "
592int(12288)
593
594# " +0O14 K "
595int(12288)
596
597# " +0o14 k"
598int(12288)
599
600# " +0O14 k"
601int(12288)
602
603# " +0o14 k "
604int(12288)
605
606# " +0O14 k "
607int(12288)
608
609# " +0o14 M"
610int(12582912)
611
612# " +0O14 M"
613int(12582912)
614
615# " +0o14 M "
616int(12582912)
617
618# " +0O14 M "
619int(12582912)
620
621# " +0o14 m"
622int(12582912)
623
624# " +0O14 m"
625int(12582912)
626
627# " +0o14 m "
628int(12582912)
629
630# " +0O14 m "
631int(12582912)
632
633# " -0o14"
634int(-12)
635
636# " -0O14"
637int(-12)
638
639# " -0o14 "
640int(-12)
641
642# " -0O14 "
643int(-12)
644
645# " -0o14K"
646int(-12288)
647
648# " -0O14K"
649int(-12288)
650
651# " -0o14K "
652int(-12288)
653
654# " -0O14K "
655int(-12288)
656
657# " -0o14k"
658int(-12288)
659
660# " -0O14k"
661int(-12288)
662
663# " -0o14k "
664int(-12288)
665
666# " -0O14k "
667int(-12288)
668
669# " -0o14M"
670int(-12582912)
671
672# " -0O14M"
673int(-12582912)
674
675# " -0o14M "
676int(-12582912)
677
678# " -0O14M "
679int(-12582912)
680
681# " -0o14m"
682int(-12582912)
683
684# " -0O14m"
685int(-12582912)
686
687# " -0o14m "
688int(-12582912)
689
690# " -0O14m "
691int(-12582912)
692
693# " -0o14 "
694int(-12)
695
696# " -0O14 "
697int(-12)
698
699# " -0o14  "
700int(-12)
701
702# " -0O14  "
703int(-12)
704
705# " -0o14 K"
706int(-12288)
707
708# " -0O14 K"
709int(-12288)
710
711# " -0o14 K "
712int(-12288)
713
714# " -0O14 K "
715int(-12288)
716
717# " -0o14 k"
718int(-12288)
719
720# " -0O14 k"
721int(-12288)
722
723# " -0o14 k "
724int(-12288)
725
726# " -0O14 k "
727int(-12288)
728
729# " -0o14 M"
730int(-12582912)
731
732# " -0O14 M"
733int(-12582912)
734
735# " -0o14 M "
736int(-12582912)
737
738# " -0O14 M "
739int(-12582912)
740
741# " -0o14 m"
742int(-12582912)
743
744# " -0O14 m"
745int(-12582912)
746
747# " -0o14 m "
748int(-12582912)
749
750# " -0O14 m "
751int(-12582912)
752