Annotation of embedaddon/php/ext/standard/tests/file/unlink_variation8-win32.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test unlink() function : variation: various valid and invalid paths
                      3: --CREDITS--
                      4: Dave Kelsey <d_kelsey@uk.ibm.com>
                      5: --SKIPIF--
                      6: <?php
                      7: if (substr(PHP_OS, 0, 3) != 'WIN') {
                      8:     die('skip.. only for Windows');
                      9: }
                     10: ?> 
                     11: --FILE--
                     12: <?php
                     13: /* Prototype  : bool unlink(string filename[, context context])
                     14:  * Description: Delete a file 
                     15:  * Source code: ext/standard/file.c
                     16:  * Alias to functions: 
                     17:  */
                     18: 
                     19: echo "*** Testing unlink() : variation ***\n";
                     20: 
                     21: $workDir = "unlinkVar8.tmp";
                     22: $tmpFile = "file.tmp";
                     23: chdir(__DIR__);
                     24: mkdir($workDir);
                     25: $cwd = __DIR__;
                     26: 
                     27: $files = array(
                     28:              // relative
                     29:              $workDir.'/'.$tmpFile,
                     30:              './'.$workDir.'/'.$tmpFile,
                     31:              $workDir.'/../'.$workDir.'/'.$tmpFile,
                     32:              
                     33:              // relative bad path
                     34:              $workDir.'/../BADDIR/'.$tmpFile,
                     35:              'BADDIR/'.$tmpFile,
                     36:              
                     37:              //absolute
                     38:              $cwd.'/'.$workDir.'/'.$tmpFile,
                     39:              $cwd.'/./'.$workDir.'/'.$tmpFile,
                     40:              $cwd.'/'.$workDir.'/../'.$workDir.'/'.$tmpFile,
                     41: 
                     42:              //absolute bad path             
                     43:              $cwd.'/BADDIR/'.$tmpFile,
                     44:              
                     45:              //trailing separators
                     46:              $workDir.'/'.$tmpFile.'/',
                     47:              $cwd.'/'.$workDir.'/'.$tmpFile.'/',
                     48:              
                     49:              // multiple separators
                     50:              $workDir.'//'.$tmpFile,
                     51:              $cwd.'//'.$workDir.'//'.$tmpFile,
                     52:              
                     53:              );
                     54:              
                     55: 
                     56: foreach($files as $fileToUnlink) {
                     57:    test_realfile($workDir.'/'.$tmpFile, $fileToUnlink);
                     58: }
                     59: 
                     60: rmdir($workDir);
                     61: 
                     62: function test_realfile($file, $tounlink) {
                     63:    touch($file);
                     64:    echo "-- removing $tounlink --\n";           
                     65:    $res = unlink($tounlink);
                     66:    if ($res === true) {
                     67:       if (file_exists($tounlink) === false) {
                     68:        echo "file removed\n";
                     69:       }
                     70:       else {
                     71:         echo "FAILED: file not removed\n";
                     72:       }
                     73:    }
                     74:    else {
                     75:       unlink($file);
                     76:    }
                     77: }
                     78: ?>
                     79: ===DONE===
                     80: --EXPECTF--
                     81: *** Testing unlink() : variation ***
                     82: -- removing unlinkVar8.tmp/file.tmp --
                     83: file removed
                     84: -- removing ./unlinkVar8.tmp/file.tmp --
                     85: file removed
                     86: -- removing unlinkVar8.tmp/../unlinkVar8.tmp/file.tmp --
                     87: file removed
                     88: -- removing unlinkVar8.tmp/../BADDIR/file.tmp --
                     89: 
                     90: Warning: unlink(unlinkVar8.tmp/../BADDIR/file.tmp): No such file or directory in %s on line %d
                     91: -- removing BADDIR/file.tmp --
                     92: 
                     93: Warning: unlink(BADDIR/file.tmp): No such file or directory in %s on line %d
                     94: -- removing %s/unlinkVar8.tmp/file.tmp --
                     95: file removed
                     96: -- removing %s/./unlinkVar8.tmp/file.tmp --
                     97: file removed
                     98: -- removing %s/unlinkVar8.tmp/../unlinkVar8.tmp/file.tmp --
                     99: file removed
                    100: -- removing %s/BADDIR/file.tmp --
                    101: 
                    102: Warning: unlink(%s/BADDIR/file.tmp): No such file or directory in %s on line %d
                    103: -- removing unlinkVar8.tmp/file.tmp/ --
                    104: 
                    105: Warning: unlink(unlinkVar8.tmp/file.tmp/): Invalid argument in %s on line %d
                    106: -- removing %s/unlinkVar8.tmp/file.tmp/ --
                    107: 
                    108: Warning: unlink(%s/unlinkVar8.tmp/file.tmp/): Invalid argument in %s on line %d
                    109: -- removing unlinkVar8.tmp//file.tmp --
                    110: file removed
                    111: -- removing %s//unlinkVar8.tmp//file.tmp --
                    112: file removed
                    113: ===DONE===

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