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

1.1       misho       1: --TEST--
                      2: Test unlink() function : usage variations - unlinking file in a directory
                      3: --SKIPIF--
                      4: <?php
                      5: if (substr(PHP_OS, 0, 3) != 'WIN') {
                      6:     die('skip only on Windows');
                      7: }
                      8: ?>
                      9: --FILE--
                     10: <?php
                     11: /* Prototype : bool unlink ( string $filename [, resource $context] );
                     12:    Description : Deletes filename
                     13: */
                     14: 
                     15: /* Delete file having default permission but its dir having readonly permission
                     16:    Delete file having readonly permission but dir having default permission
                     17: */
                     18: 
                     19: 
                     20: $file_path = dirname(__FILE__);
                     21: 
                     22: // temp dir name used here
                     23: $dirname = "$file_path/unlink_variation1";
                     24: // temp filename used here
                     25: $filename = "$dirname/unlink_variation1-win32.tmp";
                     26: 
                     27: echo "\n*** Testing unlink() on file inside a directory ***\n";
                     28: // create temp dir
                     29: mkdir($dirname);
                     30: // create temp file inside $dirname
                     31: $fp = fopen($filename, "w");
                     32: fclose($fp);
                     33: 
                     34: echo "-- Unlink file having default permission and its dir having read only permission --\n";
                     35: // remove write permission of $dirname
                     36: // on windows dir permission is not respected
                     37: var_dump( chmod($dirname, 0444) );
                     38: // now try deleting $filename
                     39: var_dump( unlink($filename) );  // expected: true
                     40: var_dump( file_exists($filename) );  // confirm file is deleted
                     41: 
                     42: // remove the dir
                     43: var_dump( chmod($dirname, 0777) );
                     44: rmdir($dirname);
                     45: 
                     46: echo "\n-- Unlinking file without write permission, its dir having default permission --\n";
                     47: // create the temp dir
                     48: mkdir($dirname);
                     49: 
                     50: // create the temp file
                     51: $fp = fopen($filename, "w");
                     52: fclose($fp);
                     53: 
                     54: // remove write permission from file
                     55: var_dump( chmod($filename, 0444) );
                     56: 
                     57: // now try deleting temp file inside $dirname
                     58: var_dump( unlink($filename) );  // expected: false
                     59: 
                     60: // reassign write permission to temp file
                     61: chmod($filename, 0777);
                     62: // delete temp file
                     63: var_dump( unlink($filename) );
                     64: var_dump( file_exists($filename) );  // confirm file is deleted
                     65: // remove temp dir
                     66: rmdir($dirname);
                     67: 
                     68: echo "Done\n";
                     69: ?>
                     70: --EXPECTF--
                     71: *** Testing unlink() on file inside a directory ***
                     72: -- Unlink file having default permission and its dir having read only permission --
                     73: bool(true)
                     74: bool(true)
                     75: bool(false)
                     76: bool(true)
                     77: 
                     78: -- Unlinking file without write permission, its dir having default permission --
                     79: bool(true)
                     80: 
                     81: Warning: unlink(%s/unlink_variation1/unlink_variation1-win32.tmp): Permission denied in %s on line %d
                     82: bool(false)
                     83: bool(true)
                     84: bool(false)
                     85: Done

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