Annotation of embedaddon/php/ext/standard/tests/dir/readdir_variation4.phpt, revision 1.1.1.2

1.1       misho       1: --TEST--
                      2: Test readdir() function : usage variations - different file names
                      3: --FILE--
                      4: <?php
                      5: /* Prototype  : string readdir([resource $dir_handle])
                      6:  * Description: Read directory entry from dir_handle 
                      7:  * Source code: ext/standard/dir.c
                      8:  */
                      9: 
                     10: /*
                     11:  * Pass a directory handle pointing to a directory that contains 
                     12:  * files with different file names to test how readdir() reads them
                     13:  */
                     14: 
                     15: echo "*** Testing readdir() : usage variations ***\n";
                     16: 
                     17: $dir_path = dirname(__FILE__) . "/readdir_variation4/";
                     18: mkdir($dir_path);
                     19: 
                     20: // heredoc string
                     21: $heredoc = <<<EOT
                     22: hd_file
                     23: EOT;
                     24: 
                     25: $inputs = array(
                     26: 
                     27:        // int data
                     28: /*1*/  0,
                     29:        1,
                     30:        12345,
                     31:        -2345,
                     32: 
                     33:        // float data
                     34: /*5*/  10.5,
                     35:        -10.5,
                     36:        12.3456789000e10,
                     37:        12.3456789000E-10,
                     38:        .5,
                     39:        
                     40:        // empty data
                     41: /*10*/ "",
                     42:        array(),
                     43: 
                     44:        // string data
                     45: /*12*/ "double_file",
                     46:        'single_file',
                     47:        $heredoc,
                     48: );
                     49: 
                     50: $iterator = 1;
                     51: foreach($inputs as $key => $input) {
                     52:        echo "\n-- Iteration $iterator --\n";
                     53:        $handle = "fp{$iterator}";
1.1.1.2 ! misho      54:        var_dump( $$handle = fopen(@"$dir_path$input.tmp", 'w') );
1.1       misho      55:        var_dump( fwrite($$handle, $key));
                     56:        fclose($$handle);
                     57:        $iterator++;
                     58: };
                     59: 
                     60: echo "\n-- Call to readdir() --\n";
                     61: $dir_handle = opendir($dir_path);
                     62: while(FALSE !== ($file = readdir($dir_handle))){
                     63:        
                     64:        // different OS order files differently so will
                     65:        // store file names into an array so can use sorted in expected output
                     66:        $contents[] = $file;
                     67:        
                     68:        // remove files while going through directory
                     69:        @unlink($dir_path . $file);
                     70: }
                     71: 
                     72: // more important to check that all contents are present than order they are returned in
                     73: sort($contents);
                     74: var_dump($contents);
                     75: 
                     76: closedir($dir_handle);
                     77: ?>
                     78: ===DONE===
                     79: --CLEAN--
                     80: <?php
                     81: $dir_path = dirname(__FILE__) . "/readdir_variation4/";
                     82: rmdir($dir_path);
                     83: ?>
                     84: --EXPECTF--
                     85: *** Testing readdir() : usage variations ***
                     86: 
                     87: -- Iteration 1 --
                     88: resource(%d) of type (stream)
                     89: int(1)
                     90: 
                     91: -- Iteration 2 --
                     92: resource(%d) of type (stream)
                     93: int(1)
                     94: 
                     95: -- Iteration 3 --
                     96: resource(%d) of type (stream)
                     97: int(1)
                     98: 
                     99: -- Iteration 4 --
                    100: resource(%d) of type (stream)
                    101: int(1)
                    102: 
                    103: -- Iteration 5 --
                    104: resource(%d) of type (stream)
                    105: int(1)
                    106: 
                    107: -- Iteration 6 --
                    108: resource(%d) of type (stream)
                    109: int(1)
                    110: 
                    111: -- Iteration 7 --
                    112: resource(%d) of type (stream)
                    113: int(1)
                    114: 
                    115: -- Iteration 8 --
                    116: resource(%d) of type (stream)
                    117: int(1)
                    118: 
                    119: -- Iteration 9 --
                    120: resource(%d) of type (stream)
                    121: int(1)
                    122: 
                    123: -- Iteration 10 --
                    124: resource(%d) of type (stream)
                    125: int(1)
                    126: 
                    127: -- Iteration 11 --
                    128: resource(%d) of type (stream)
                    129: int(2)
                    130: 
                    131: -- Iteration 12 --
                    132: resource(%d) of type (stream)
                    133: int(2)
                    134: 
                    135: -- Iteration 13 --
                    136: resource(%d) of type (stream)
                    137: int(2)
                    138: 
                    139: -- Iteration 14 --
                    140: resource(%d) of type (stream)
                    141: int(2)
                    142: 
                    143: -- Call to readdir() --
                    144: array(16) {
                    145:   [0]=>
                    146:   string(9) "-10.5.tmp"
                    147:   [1]=>
                    148:   string(9) "-2345.tmp"
                    149:   [2]=>
                    150:   string(1) "."
                    151:   [3]=>
                    152:   string(2) ".."
                    153:   [4]=>
                    154:   string(4) ".tmp"
                    155:   [5]=>
                    156:   string(7) "0.5.tmp"
                    157:   [6]=>
                    158:   string(5) "0.tmp"
                    159:   [7]=>
                    160:   string(17) "1.23456789E-9.tmp"
                    161:   [8]=>
                    162:   string(5) "1.tmp"
                    163:   [9]=>
                    164:   string(8) "10.5.tmp"
                    165:   [10]=>
                    166:   string(9) "12345.tmp"
                    167:   [11]=>
                    168:   string(16) "123456789000.tmp"
                    169:   [12]=>
                    170:   string(9) "Array.tmp"
                    171:   [13]=>
                    172:   string(15) "double_file.tmp"
                    173:   [14]=>
                    174:   string(11) "hd_file.tmp"
                    175:   [15]=>
                    176:   string(15) "single_file.tmp"
                    177: }
                    178: ===DONE===

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