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