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