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