Annotation of embedaddon/php/ext/standard/tests/file/fgets_variation3.phpt, revision 1.1.1.2

1.1       misho       1: --TEST--
                      2: Test fgets() function : usage variations - read with/without length
                      3: --FILE--
                      4: <?php
                      5: /*
                      6:  Prototype: string fgets ( resource $handle [, int $length] );
                      7:  Description: Gets a line from file pointer
                      8: */
                      9: 
                     10: // include the file.inc for common test funcitons
                     11: include ("file.inc");
                     12: 
                     13: $file_modes = array("w+", "w+b", "w+t",
                     14:                     "a+", "a+b", "a+t",
                     15:                     "x+", "x+b", "x+t"); 
                     16: 
                     17: $file_content_types = array("numeric", "text", "text_with_new_line", "alphanumeric");
                     18: 
                     19: echo "*** Testing fgets() : usage variations ***\n";
                     20: 
                     21: $filename = dirname(__FILE__)."/fgets_variation3.tmp";
                     22: 
                     23: foreach($file_modes as $file_mode) {
                     24:   echo "\n-- Testing fgets() with file opened using mode $file_mode --\n";
                     25: 
                     26:   foreach($file_content_types as $file_content_type) {
                     27:     echo "-- File content type : $file_content_type --\n";
                     28: 
                     29:     /* create files with $file_content_type */
                     30:     $file_handle = fopen($filename, $file_mode);
                     31:     $data = fill_file($file_handle, $file_content_type, 50);
                     32:  
                     33:     if ( !$file_handle ) {
                     34:       echo "Error: failed to open file $filename!";
                     35:       exit();
                     36:     }
                     37: 
                     38:     echo "-- fgets() with default length, file pointer at 0 --\n";
1.1.1.2 ! misho      39:     // get the file pointer to beginning of the file
1.1       misho      40:     rewind($file_handle);
                     41: 
                     42:     var_dump( ftell($file_handle) );
                     43:     var_dump( fgets($file_handle) ); // with default length 
                     44:     var_dump( ftell($file_handle) ); // ensure the file pointer position
                     45:     var_dump( feof($file_handle) );  // enusre if eof set
                     46: 
                     47:     echo "-- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --\n";
1.1.1.2 ! misho      48:     // get the file pointer to beginning of the file
1.1       misho      49:     rewind($file_handle);
                     50: 
                     51:     var_dump( ftell($file_handle) );
                     52:     var_dump( fgets($file_handle, 23) ); // expected: 22 chars
                     53:     var_dump( ftell($file_handle) ); // ensure the file pointer position
                     54:     var_dump( feof($file_handle) );  // enusre if eof set
                     55: 
                     56:     //close file
                     57:     fclose($file_handle);
                     58: 
                     59:     // delete file
                     60:     delete_file($filename);
                     61:   } // file_content_type loop
                     62: } // file_mode loop
                     63: 
                     64: echo "Done\n";
                     65: ?>
                     66: --EXPECTF--
                     67: *** Testing fgets() : usage variations ***
                     68: 
                     69: -- Testing fgets() with file opened using mode w+ --
                     70: -- File content type : numeric --
                     71: -- fgets() with default length, file pointer at 0 --
                     72: int(0)
                     73: string(50) "22222222222222222222222222222222222222222222222222"
                     74: int(50)
                     75: bool(true)
                     76: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                     77: int(0)
                     78: string(22) "2222222222222222222222"
                     79: int(22)
                     80: bool(false)
                     81: -- File content type : text --
                     82: -- fgets() with default length, file pointer at 0 --
                     83: int(0)
                     84: string(50) "text text text text text text text text text text "
                     85: int(50)
                     86: bool(true)
                     87: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                     88: int(0)
                     89: string(22) "text text text text te"
                     90: int(22)
                     91: bool(false)
                     92: -- File content type : text_with_new_line --
                     93: -- fgets() with default length, file pointer at 0 --
                     94: int(0)
                     95: string(5) "line
                     96: "
                     97: int(5)
                     98: bool(false)
                     99: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    100: int(0)
                    101: string(5) "line
                    102: "
                    103: int(5)
                    104: bool(false)
                    105: -- File content type : alphanumeric --
                    106: -- fgets() with default length, file pointer at 0 --
                    107: int(0)
                    108: string(50) "ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 "
                    109: int(50)
                    110: bool(true)
                    111: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    112: int(0)
                    113: string(22) "ab12 ab12 ab12 ab12 ab"
                    114: int(22)
                    115: bool(false)
                    116: 
                    117: -- Testing fgets() with file opened using mode w+b --
                    118: -- File content type : numeric --
                    119: -- fgets() with default length, file pointer at 0 --
                    120: int(0)
                    121: string(50) "22222222222222222222222222222222222222222222222222"
                    122: int(50)
                    123: bool(true)
                    124: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    125: int(0)
                    126: string(22) "2222222222222222222222"
                    127: int(22)
                    128: bool(false)
                    129: -- File content type : text --
                    130: -- fgets() with default length, file pointer at 0 --
                    131: int(0)
                    132: string(50) "text text text text text text text text text text "
                    133: int(50)
                    134: bool(true)
                    135: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    136: int(0)
                    137: string(22) "text text text text te"
                    138: int(22)
                    139: bool(false)
                    140: -- File content type : text_with_new_line --
                    141: -- fgets() with default length, file pointer at 0 --
                    142: int(0)
                    143: string(5) "line
                    144: "
                    145: int(5)
                    146: bool(false)
                    147: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    148: int(0)
                    149: string(5) "line
                    150: "
                    151: int(5)
                    152: bool(false)
                    153: -- File content type : alphanumeric --
                    154: -- fgets() with default length, file pointer at 0 --
                    155: int(0)
                    156: string(50) "ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 "
                    157: int(50)
                    158: bool(true)
                    159: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    160: int(0)
                    161: string(22) "ab12 ab12 ab12 ab12 ab"
                    162: int(22)
                    163: bool(false)
                    164: 
                    165: -- Testing fgets() with file opened using mode w+t --
                    166: -- File content type : numeric --
                    167: -- fgets() with default length, file pointer at 0 --
                    168: int(0)
                    169: string(50) "22222222222222222222222222222222222222222222222222"
                    170: int(50)
                    171: bool(true)
                    172: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    173: int(0)
                    174: string(22) "2222222222222222222222"
                    175: int(22)
                    176: bool(false)
                    177: -- File content type : text --
                    178: -- fgets() with default length, file pointer at 0 --
                    179: int(0)
                    180: string(50) "text text text text text text text text text text "
                    181: int(50)
                    182: bool(true)
                    183: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    184: int(0)
                    185: string(22) "text text text text te"
                    186: int(22)
                    187: bool(false)
                    188: -- File content type : text_with_new_line --
                    189: -- fgets() with default length, file pointer at 0 --
                    190: int(0)
                    191: string(5) "line
                    192: "
                    193: int(5)
                    194: bool(false)
                    195: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    196: int(0)
                    197: string(5) "line
                    198: "
                    199: int(5)
                    200: bool(false)
                    201: -- File content type : alphanumeric --
                    202: -- fgets() with default length, file pointer at 0 --
                    203: int(0)
                    204: string(50) "ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 "
                    205: int(50)
                    206: bool(true)
                    207: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    208: int(0)
                    209: string(22) "ab12 ab12 ab12 ab12 ab"
                    210: int(22)
                    211: bool(false)
                    212: 
                    213: -- Testing fgets() with file opened using mode a+ --
                    214: -- File content type : numeric --
                    215: -- fgets() with default length, file pointer at 0 --
                    216: int(0)
                    217: string(50) "22222222222222222222222222222222222222222222222222"
                    218: int(50)
                    219: bool(true)
                    220: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    221: int(0)
                    222: string(22) "2222222222222222222222"
                    223: int(22)
                    224: bool(false)
                    225: -- File content type : text --
                    226: -- fgets() with default length, file pointer at 0 --
                    227: int(0)
                    228: string(50) "text text text text text text text text text text "
                    229: int(50)
                    230: bool(true)
                    231: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    232: int(0)
                    233: string(22) "text text text text te"
                    234: int(22)
                    235: bool(false)
                    236: -- File content type : text_with_new_line --
                    237: -- fgets() with default length, file pointer at 0 --
                    238: int(0)
                    239: string(5) "line
                    240: "
                    241: int(5)
                    242: bool(false)
                    243: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    244: int(0)
                    245: string(5) "line
                    246: "
                    247: int(5)
                    248: bool(false)
                    249: -- File content type : alphanumeric --
                    250: -- fgets() with default length, file pointer at 0 --
                    251: int(0)
                    252: string(50) "ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 "
                    253: int(50)
                    254: bool(true)
                    255: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    256: int(0)
                    257: string(22) "ab12 ab12 ab12 ab12 ab"
                    258: int(22)
                    259: bool(false)
                    260: 
                    261: -- Testing fgets() with file opened using mode a+b --
                    262: -- File content type : numeric --
                    263: -- fgets() with default length, file pointer at 0 --
                    264: int(0)
                    265: string(50) "22222222222222222222222222222222222222222222222222"
                    266: int(50)
                    267: bool(true)
                    268: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    269: int(0)
                    270: string(22) "2222222222222222222222"
                    271: int(22)
                    272: bool(false)
                    273: -- File content type : text --
                    274: -- fgets() with default length, file pointer at 0 --
                    275: int(0)
                    276: string(50) "text text text text text text text text text text "
                    277: int(50)
                    278: bool(true)
                    279: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    280: int(0)
                    281: string(22) "text text text text te"
                    282: int(22)
                    283: bool(false)
                    284: -- File content type : text_with_new_line --
                    285: -- fgets() with default length, file pointer at 0 --
                    286: int(0)
                    287: string(5) "line
                    288: "
                    289: int(5)
                    290: bool(false)
                    291: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    292: int(0)
                    293: string(5) "line
                    294: "
                    295: int(5)
                    296: bool(false)
                    297: -- File content type : alphanumeric --
                    298: -- fgets() with default length, file pointer at 0 --
                    299: int(0)
                    300: string(50) "ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 "
                    301: int(50)
                    302: bool(true)
                    303: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    304: int(0)
                    305: string(22) "ab12 ab12 ab12 ab12 ab"
                    306: int(22)
                    307: bool(false)
                    308: 
                    309: -- Testing fgets() with file opened using mode a+t --
                    310: -- File content type : numeric --
                    311: -- fgets() with default length, file pointer at 0 --
                    312: int(0)
                    313: string(50) "22222222222222222222222222222222222222222222222222"
                    314: int(50)
                    315: bool(true)
                    316: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    317: int(0)
                    318: string(22) "2222222222222222222222"
                    319: int(22)
                    320: bool(false)
                    321: -- File content type : text --
                    322: -- fgets() with default length, file pointer at 0 --
                    323: int(0)
                    324: string(50) "text text text text text text text text text text "
                    325: int(50)
                    326: bool(true)
                    327: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    328: int(0)
                    329: string(22) "text text text text te"
                    330: int(22)
                    331: bool(false)
                    332: -- File content type : text_with_new_line --
                    333: -- fgets() with default length, file pointer at 0 --
                    334: int(0)
                    335: string(5) "line
                    336: "
                    337: int(5)
                    338: bool(false)
                    339: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    340: int(0)
                    341: string(5) "line
                    342: "
                    343: int(5)
                    344: bool(false)
                    345: -- File content type : alphanumeric --
                    346: -- fgets() with default length, file pointer at 0 --
                    347: int(0)
                    348: string(50) "ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 "
                    349: int(50)
                    350: bool(true)
                    351: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    352: int(0)
                    353: string(22) "ab12 ab12 ab12 ab12 ab"
                    354: int(22)
                    355: bool(false)
                    356: 
                    357: -- Testing fgets() with file opened using mode x+ --
                    358: -- File content type : numeric --
                    359: -- fgets() with default length, file pointer at 0 --
                    360: int(0)
                    361: string(50) "22222222222222222222222222222222222222222222222222"
                    362: int(50)
                    363: bool(true)
                    364: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    365: int(0)
                    366: string(22) "2222222222222222222222"
                    367: int(22)
                    368: bool(false)
                    369: -- File content type : text --
                    370: -- fgets() with default length, file pointer at 0 --
                    371: int(0)
                    372: string(50) "text text text text text text text text text text "
                    373: int(50)
                    374: bool(true)
                    375: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    376: int(0)
                    377: string(22) "text text text text te"
                    378: int(22)
                    379: bool(false)
                    380: -- File content type : text_with_new_line --
                    381: -- fgets() with default length, file pointer at 0 --
                    382: int(0)
                    383: string(5) "line
                    384: "
                    385: int(5)
                    386: bool(false)
                    387: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    388: int(0)
                    389: string(5) "line
                    390: "
                    391: int(5)
                    392: bool(false)
                    393: -- File content type : alphanumeric --
                    394: -- fgets() with default length, file pointer at 0 --
                    395: int(0)
                    396: string(50) "ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 "
                    397: int(50)
                    398: bool(true)
                    399: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    400: int(0)
                    401: string(22) "ab12 ab12 ab12 ab12 ab"
                    402: int(22)
                    403: bool(false)
                    404: 
                    405: -- Testing fgets() with file opened using mode x+b --
                    406: -- File content type : numeric --
                    407: -- fgets() with default length, file pointer at 0 --
                    408: int(0)
                    409: string(50) "22222222222222222222222222222222222222222222222222"
                    410: int(50)
                    411: bool(true)
                    412: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    413: int(0)
                    414: string(22) "2222222222222222222222"
                    415: int(22)
                    416: bool(false)
                    417: -- File content type : text --
                    418: -- fgets() with default length, file pointer at 0 --
                    419: int(0)
                    420: string(50) "text text text text text text text text text text "
                    421: int(50)
                    422: bool(true)
                    423: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    424: int(0)
                    425: string(22) "text text text text te"
                    426: int(22)
                    427: bool(false)
                    428: -- File content type : text_with_new_line --
                    429: -- fgets() with default length, file pointer at 0 --
                    430: int(0)
                    431: string(5) "line
                    432: "
                    433: int(5)
                    434: bool(false)
                    435: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    436: int(0)
                    437: string(5) "line
                    438: "
                    439: int(5)
                    440: bool(false)
                    441: -- File content type : alphanumeric --
                    442: -- fgets() with default length, file pointer at 0 --
                    443: int(0)
                    444: string(50) "ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 "
                    445: int(50)
                    446: bool(true)
                    447: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    448: int(0)
                    449: string(22) "ab12 ab12 ab12 ab12 ab"
                    450: int(22)
                    451: bool(false)
                    452: 
                    453: -- Testing fgets() with file opened using mode x+t --
                    454: -- File content type : numeric --
                    455: -- fgets() with default length, file pointer at 0 --
                    456: int(0)
                    457: string(50) "22222222222222222222222222222222222222222222222222"
                    458: int(50)
                    459: bool(true)
                    460: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    461: int(0)
                    462: string(22) "2222222222222222222222"
                    463: int(22)
                    464: bool(false)
                    465: -- File content type : text --
                    466: -- fgets() with default length, file pointer at 0 --
                    467: int(0)
                    468: string(50) "text text text text text text text text text text "
                    469: int(50)
                    470: bool(true)
                    471: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    472: int(0)
                    473: string(22) "text text text text te"
                    474: int(22)
                    475: bool(false)
                    476: -- File content type : text_with_new_line --
                    477: -- fgets() with default length, file pointer at 0 --
                    478: int(0)
                    479: string(5) "line
                    480: "
                    481: int(5)
                    482: bool(false)
                    483: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    484: int(0)
                    485: string(5) "line
                    486: "
                    487: int(5)
                    488: bool(false)
                    489: -- File content type : alphanumeric --
                    490: -- fgets() with default length, file pointer at 0 --
                    491: int(0)
                    492: string(50) "ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 "
                    493: int(50)
                    494: bool(true)
                    495: -- fgets() with length = 23, Expected: 22 chars, file pointer at 0 --
                    496: int(0)
                    497: string(22) "ab12 ab12 ab12 ab12 ab"
                    498: int(22)
                    499: bool(false)
                    500: Done

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