Annotation of embedaddon/php/ext/standard/tests/file/fscanf_variation46.phpt, revision 1.1.1.1

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>