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

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

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