Annotation of embedaddon/php/ext/standard/tests/file/unlink_variation1-win32.phpt, revision 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>