Return to fscanf_variation27.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / file |
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: