Annotation of embedaddon/php/ext/standard/tests/file/fscanf_variation9.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test fscanf() function: usage variations - float formats with integer 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:
12: /*
13: Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
14: Description: Parses input from a file according to a format
15: */
16:
17: /* Test fscanf() to scan integer values using different float format types */
18:
19: $file_path = dirname(__FILE__);
20:
21: echo "*** Test fscanf(): different float format types with integer values ***\n";
22:
23: // create a file
24: $filename = "$file_path/fscanf_variation9.tmp";
25: $file_handle = fopen($filename, "w");
26: if($file_handle == false)
27: exit("Error:failed to open file $filename");
28:
29: // array of float type values
30:
31: $integer_values = array (
32: 0,
33: 1,
34: -1,
35: -2147483648, // max negative integer value
36: -2147483647,
37: 2147483647, // max positive integer value
38: 2147483640,
39: 0x123B, // integer as hexadecimal
40: 0x12ab,
41: 0Xfff,
42: 0XFA,
43: -0x80000000, // max negative integer as hexadecimal
44: 0x7fffffff, // max postive integer as hexadecimal
45: 0x7FFFFFFF, // max postive integer as hexadecimal
46: 0123, // integer as octal
47: 01912, // should be quivalent to octal 1
48: -020000000000, // max negative integer as octal
49: 017777777777 // max positive integer as octal
50: );
51:
52: $float_formats = array( "%f", "%hf", "%lf", "%Lf", " %f", "%f ", "% f", "\t%f", "\n%f", "%4f", "%30f", "%[0-9]", "%*f");
53:
54: $counter = 1;
55:
56: // writing to the file
57: foreach($integer_values as $value) {
58: @fprintf($file_handle, $value);
59: @fprintf($file_handle, "\n");
60: }
61: // closing the file
62: fclose($file_handle);
63:
64: // opening the file for reading
65: $file_handle = fopen($filename, "r");
66: if($file_handle == false) {
67: exit("Error:failed to open file $filename");
68: }
69:
70: $counter = 1;
71: // reading the values from file using different float formats
72: foreach($float_formats as $float_format) {
73: // rewind the file so that for every foreach iteration the file pointer starts from bof
74: rewind($file_handle);
75: echo "\n-- iteration $counter --\n";
76: while( !feof($file_handle) ) {
77: var_dump( fscanf($file_handle,$float_format) );
78: }
79: $counter++;
80: }
81:
82: echo "\n*** Done ***";
83: ?>
84: --CLEAN--
85: <?php
86: $file_path = dirname(__FILE__);
87: $filename = "$file_path/fscanf_variation9.tmp";
88: unlink($filename);
89: ?>
90: --EXPECTF--
91: *** Test fscanf(): different float format types with integer values ***
92:
93: -- iteration 1 --
94: array(1) {
95: [0]=>
96: float(0)
97: }
98: array(1) {
99: [0]=>
100: float(1)
101: }
102: array(1) {
103: [0]=>
104: float(-1)
105: }
106: array(1) {
107: [0]=>
108: float(-2147483648)
109: }
110: array(1) {
111: [0]=>
112: float(-2147483647)
113: }
114: array(1) {
115: [0]=>
116: float(2147483647)
117: }
118: array(1) {
119: [0]=>
120: float(2147483640)
121: }
122: array(1) {
123: [0]=>
124: float(4667)
125: }
126: array(1) {
127: [0]=>
128: float(4779)
129: }
130: array(1) {
131: [0]=>
132: float(4095)
133: }
134: array(1) {
135: [0]=>
136: float(250)
137: }
138: array(1) {
139: [0]=>
140: float(-2147483648)
141: }
142: array(1) {
143: [0]=>
144: float(2147483647)
145: }
146: array(1) {
147: [0]=>
148: float(2147483647)
149: }
150: array(1) {
151: [0]=>
152: float(83)
153: }
154: array(1) {
155: [0]=>
156: float(1)
157: }
158: array(1) {
159: [0]=>
160: float(-2147483648)
161: }
162: array(1) {
163: [0]=>
164: float(2147483647)
165: }
166: bool(false)
167:
168: -- iteration 2 --
169: array(1) {
170: [0]=>
171: float(0)
172: }
173: array(1) {
174: [0]=>
175: float(1)
176: }
177: array(1) {
178: [0]=>
179: float(-1)
180: }
181: array(1) {
182: [0]=>
183: float(-2147483648)
184: }
185: array(1) {
186: [0]=>
187: float(-2147483647)
188: }
189: array(1) {
190: [0]=>
191: float(2147483647)
192: }
193: array(1) {
194: [0]=>
195: float(2147483640)
196: }
197: array(1) {
198: [0]=>
199: float(4667)
200: }
201: array(1) {
202: [0]=>
203: float(4779)
204: }
205: array(1) {
206: [0]=>
207: float(4095)
208: }
209: array(1) {
210: [0]=>
211: float(250)
212: }
213: array(1) {
214: [0]=>
215: float(-2147483648)
216: }
217: array(1) {
218: [0]=>
219: float(2147483647)
220: }
221: array(1) {
222: [0]=>
223: float(2147483647)
224: }
225: array(1) {
226: [0]=>
227: float(83)
228: }
229: array(1) {
230: [0]=>
231: float(1)
232: }
233: array(1) {
234: [0]=>
235: float(-2147483648)
236: }
237: array(1) {
238: [0]=>
239: float(2147483647)
240: }
241: bool(false)
242:
243: -- iteration 3 --
244: array(1) {
245: [0]=>
246: float(0)
247: }
248: array(1) {
249: [0]=>
250: float(1)
251: }
252: array(1) {
253: [0]=>
254: float(-1)
255: }
256: array(1) {
257: [0]=>
258: float(-2147483648)
259: }
260: array(1) {
261: [0]=>
262: float(-2147483647)
263: }
264: array(1) {
265: [0]=>
266: float(2147483647)
267: }
268: array(1) {
269: [0]=>
270: float(2147483640)
271: }
272: array(1) {
273: [0]=>
274: float(4667)
275: }
276: array(1) {
277: [0]=>
278: float(4779)
279: }
280: array(1) {
281: [0]=>
282: float(4095)
283: }
284: array(1) {
285: [0]=>
286: float(250)
287: }
288: array(1) {
289: [0]=>
290: float(-2147483648)
291: }
292: array(1) {
293: [0]=>
294: float(2147483647)
295: }
296: array(1) {
297: [0]=>
298: float(2147483647)
299: }
300: array(1) {
301: [0]=>
302: float(83)
303: }
304: array(1) {
305: [0]=>
306: float(1)
307: }
308: array(1) {
309: [0]=>
310: float(-2147483648)
311: }
312: array(1) {
313: [0]=>
314: float(2147483647)
315: }
316: bool(false)
317:
318: -- iteration 4 --
319: array(1) {
320: [0]=>
321: float(0)
322: }
323: array(1) {
324: [0]=>
325: float(1)
326: }
327: array(1) {
328: [0]=>
329: float(-1)
330: }
331: array(1) {
332: [0]=>
333: float(-2147483648)
334: }
335: array(1) {
336: [0]=>
337: float(-2147483647)
338: }
339: array(1) {
340: [0]=>
341: float(2147483647)
342: }
343: array(1) {
344: [0]=>
345: float(2147483640)
346: }
347: array(1) {
348: [0]=>
349: float(4667)
350: }
351: array(1) {
352: [0]=>
353: float(4779)
354: }
355: array(1) {
356: [0]=>
357: float(4095)
358: }
359: array(1) {
360: [0]=>
361: float(250)
362: }
363: array(1) {
364: [0]=>
365: float(-2147483648)
366: }
367: array(1) {
368: [0]=>
369: float(2147483647)
370: }
371: array(1) {
372: [0]=>
373: float(2147483647)
374: }
375: array(1) {
376: [0]=>
377: float(83)
378: }
379: array(1) {
380: [0]=>
381: float(1)
382: }
383: array(1) {
384: [0]=>
385: float(-2147483648)
386: }
387: array(1) {
388: [0]=>
389: float(2147483647)
390: }
391: bool(false)
392:
393: -- iteration 5 --
394: array(1) {
395: [0]=>
396: float(0)
397: }
398: array(1) {
399: [0]=>
400: float(1)
401: }
402: array(1) {
403: [0]=>
404: float(-1)
405: }
406: array(1) {
407: [0]=>
408: float(-2147483648)
409: }
410: array(1) {
411: [0]=>
412: float(-2147483647)
413: }
414: array(1) {
415: [0]=>
416: float(2147483647)
417: }
418: array(1) {
419: [0]=>
420: float(2147483640)
421: }
422: array(1) {
423: [0]=>
424: float(4667)
425: }
426: array(1) {
427: [0]=>
428: float(4779)
429: }
430: array(1) {
431: [0]=>
432: float(4095)
433: }
434: array(1) {
435: [0]=>
436: float(250)
437: }
438: array(1) {
439: [0]=>
440: float(-2147483648)
441: }
442: array(1) {
443: [0]=>
444: float(2147483647)
445: }
446: array(1) {
447: [0]=>
448: float(2147483647)
449: }
450: array(1) {
451: [0]=>
452: float(83)
453: }
454: array(1) {
455: [0]=>
456: float(1)
457: }
458: array(1) {
459: [0]=>
460: float(-2147483648)
461: }
462: array(1) {
463: [0]=>
464: float(2147483647)
465: }
466: bool(false)
467:
468: -- iteration 6 --
469: array(1) {
470: [0]=>
471: float(0)
472: }
473: array(1) {
474: [0]=>
475: float(1)
476: }
477: array(1) {
478: [0]=>
479: float(-1)
480: }
481: array(1) {
482: [0]=>
483: float(-2147483648)
484: }
485: array(1) {
486: [0]=>
487: float(-2147483647)
488: }
489: array(1) {
490: [0]=>
491: float(2147483647)
492: }
493: array(1) {
494: [0]=>
495: float(2147483640)
496: }
497: array(1) {
498: [0]=>
499: float(4667)
500: }
501: array(1) {
502: [0]=>
503: float(4779)
504: }
505: array(1) {
506: [0]=>
507: float(4095)
508: }
509: array(1) {
510: [0]=>
511: float(250)
512: }
513: array(1) {
514: [0]=>
515: float(-2147483648)
516: }
517: array(1) {
518: [0]=>
519: float(2147483647)
520: }
521: array(1) {
522: [0]=>
523: float(2147483647)
524: }
525: array(1) {
526: [0]=>
527: float(83)
528: }
529: array(1) {
530: [0]=>
531: float(1)
532: }
533: array(1) {
534: [0]=>
535: float(-2147483648)
536: }
537: array(1) {
538: [0]=>
539: float(2147483647)
540: }
541: bool(false)
542:
543: -- iteration 7 --
544:
545: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
546: NULL
547:
548: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
549: NULL
550:
551: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
552: NULL
553:
554: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
555: NULL
556:
557: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
558: NULL
559:
560: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
561: NULL
562:
563: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
564: NULL
565:
566: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
567: NULL
568:
569: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
570: NULL
571:
572: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
573: NULL
574:
575: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
576: NULL
577:
578: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
579: NULL
580:
581: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
582: NULL
583:
584: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
585: NULL
586:
587: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
588: NULL
589:
590: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
591: NULL
592:
593: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
594: NULL
595:
596: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
597: NULL
598: bool(false)
599:
600: -- iteration 8 --
601: array(1) {
602: [0]=>
603: float(0)
604: }
605: array(1) {
606: [0]=>
607: float(1)
608: }
609: array(1) {
610: [0]=>
611: float(-1)
612: }
613: array(1) {
614: [0]=>
615: float(-2147483648)
616: }
617: array(1) {
618: [0]=>
619: float(-2147483647)
620: }
621: array(1) {
622: [0]=>
623: float(2147483647)
624: }
625: array(1) {
626: [0]=>
627: float(2147483640)
628: }
629: array(1) {
630: [0]=>
631: float(4667)
632: }
633: array(1) {
634: [0]=>
635: float(4779)
636: }
637: array(1) {
638: [0]=>
639: float(4095)
640: }
641: array(1) {
642: [0]=>
643: float(250)
644: }
645: array(1) {
646: [0]=>
647: float(-2147483648)
648: }
649: array(1) {
650: [0]=>
651: float(2147483647)
652: }
653: array(1) {
654: [0]=>
655: float(2147483647)
656: }
657: array(1) {
658: [0]=>
659: float(83)
660: }
661: array(1) {
662: [0]=>
663: float(1)
664: }
665: array(1) {
666: [0]=>
667: float(-2147483648)
668: }
669: array(1) {
670: [0]=>
671: float(2147483647)
672: }
673: bool(false)
674:
675: -- iteration 9 --
676: array(1) {
677: [0]=>
678: float(0)
679: }
680: array(1) {
681: [0]=>
682: float(1)
683: }
684: array(1) {
685: [0]=>
686: float(-1)
687: }
688: array(1) {
689: [0]=>
690: float(-2147483648)
691: }
692: array(1) {
693: [0]=>
694: float(-2147483647)
695: }
696: array(1) {
697: [0]=>
698: float(2147483647)
699: }
700: array(1) {
701: [0]=>
702: float(2147483640)
703: }
704: array(1) {
705: [0]=>
706: float(4667)
707: }
708: array(1) {
709: [0]=>
710: float(4779)
711: }
712: array(1) {
713: [0]=>
714: float(4095)
715: }
716: array(1) {
717: [0]=>
718: float(250)
719: }
720: array(1) {
721: [0]=>
722: float(-2147483648)
723: }
724: array(1) {
725: [0]=>
726: float(2147483647)
727: }
728: array(1) {
729: [0]=>
730: float(2147483647)
731: }
732: array(1) {
733: [0]=>
734: float(83)
735: }
736: array(1) {
737: [0]=>
738: float(1)
739: }
740: array(1) {
741: [0]=>
742: float(-2147483648)
743: }
744: array(1) {
745: [0]=>
746: float(2147483647)
747: }
748: bool(false)
749:
750: -- iteration 10 --
751: array(1) {
752: [0]=>
753: float(0)
754: }
755: array(1) {
756: [0]=>
757: float(1)
758: }
759: array(1) {
760: [0]=>
761: float(-1)
762: }
763: array(1) {
764: [0]=>
765: float(-214)
766: }
767: array(1) {
768: [0]=>
769: float(-214)
770: }
771: array(1) {
772: [0]=>
773: float(2147)
774: }
775: array(1) {
776: [0]=>
777: float(2147)
778: }
779: array(1) {
780: [0]=>
781: float(4667)
782: }
783: array(1) {
784: [0]=>
785: float(4779)
786: }
787: array(1) {
788: [0]=>
789: float(4095)
790: }
791: array(1) {
792: [0]=>
793: float(250)
794: }
795: array(1) {
796: [0]=>
797: float(-214)
798: }
799: array(1) {
800: [0]=>
801: float(2147)
802: }
803: array(1) {
804: [0]=>
805: float(2147)
806: }
807: array(1) {
808: [0]=>
809: float(83)
810: }
811: array(1) {
812: [0]=>
813: float(1)
814: }
815: array(1) {
816: [0]=>
817: float(-214)
818: }
819: array(1) {
820: [0]=>
821: float(2147)
822: }
823: bool(false)
824:
825: -- iteration 11 --
826: array(1) {
827: [0]=>
828: float(0)
829: }
830: array(1) {
831: [0]=>
832: float(1)
833: }
834: array(1) {
835: [0]=>
836: float(-1)
837: }
838: array(1) {
839: [0]=>
840: float(-2147483648)
841: }
842: array(1) {
843: [0]=>
844: float(-2147483647)
845: }
846: array(1) {
847: [0]=>
848: float(2147483647)
849: }
850: array(1) {
851: [0]=>
852: float(2147483640)
853: }
854: array(1) {
855: [0]=>
856: float(4667)
857: }
858: array(1) {
859: [0]=>
860: float(4779)
861: }
862: array(1) {
863: [0]=>
864: float(4095)
865: }
866: array(1) {
867: [0]=>
868: float(250)
869: }
870: array(1) {
871: [0]=>
872: float(-2147483648)
873: }
874: array(1) {
875: [0]=>
876: float(2147483647)
877: }
878: array(1) {
879: [0]=>
880: float(2147483647)
881: }
882: array(1) {
883: [0]=>
884: float(83)
885: }
886: array(1) {
887: [0]=>
888: float(1)
889: }
890: array(1) {
891: [0]=>
892: float(-2147483648)
893: }
894: array(1) {
895: [0]=>
896: float(2147483647)
897: }
898: bool(false)
899:
900: -- iteration 12 --
901: array(1) {
902: [0]=>
903: string(1) "0"
904: }
905: array(1) {
906: [0]=>
907: string(1) "1"
908: }
909: array(1) {
910: [0]=>
911: NULL
912: }
913: array(1) {
914: [0]=>
915: NULL
916: }
917: array(1) {
918: [0]=>
919: NULL
920: }
921: array(1) {
922: [0]=>
923: string(10) "2147483647"
924: }
925: array(1) {
926: [0]=>
927: string(10) "2147483640"
928: }
929: array(1) {
930: [0]=>
931: string(4) "4667"
932: }
933: array(1) {
934: [0]=>
935: string(4) "4779"
936: }
937: array(1) {
938: [0]=>
939: string(4) "4095"
940: }
941: array(1) {
942: [0]=>
943: string(3) "250"
944: }
945: array(1) {
946: [0]=>
947: NULL
948: }
949: array(1) {
950: [0]=>
951: string(10) "2147483647"
952: }
953: array(1) {
954: [0]=>
955: string(10) "2147483647"
956: }
957: array(1) {
958: [0]=>
959: string(2) "83"
960: }
961: array(1) {
962: [0]=>
963: string(1) "1"
964: }
965: array(1) {
966: [0]=>
967: NULL
968: }
969: array(1) {
970: [0]=>
971: string(10) "2147483647"
972: }
973: bool(false)
974:
975: -- iteration 13 --
976: array(0) {
977: }
978: array(0) {
979: }
980: array(0) {
981: }
982: array(0) {
983: }
984: array(0) {
985: }
986: array(0) {
987: }
988: array(0) {
989: }
990: array(0) {
991: }
992: array(0) {
993: }
994: array(0) {
995: }
996: array(0) {
997: }
998: array(0) {
999: }
1000: array(0) {
1001: }
1002: array(0) {
1003: }
1004: array(0) {
1005: }
1006: array(0) {
1007: }
1008: array(0) {
1009: }
1010: array(0) {
1011: }
1012: bool(false)
1013:
1014: *** Done ***
1015:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>