Annotation of embedaddon/php/ext/standard/tests/streams/bug40459.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: bug 40459 - Test whether the constructor of the user-space stream wrapper is called when stream functions are called
        !             3: --FILE--
        !             4: <?php
        !             5: // Test whether the constructor of the user-space stream wrapper is called when stream functions are called
        !             6: class testwrapper {
        !             7:        private $constructorCalled = false;
        !             8:        function __construct() {
        !             9:                $this->constructorCalled = true;
        !            10:        }
        !            11: 
        !            12:        function stream_open($path, $mode, $options, &$opened_path)
        !            13:        {
        !            14:                echo $this->constructorCalled ? 'yes' : 'no';
        !            15:                return true;
        !            16:        }
        !            17: 
        !            18:        function url_stat($url, $flags)
        !            19:        {
        !            20:                echo $this->constructorCalled ? 'yes' : 'no';
        !            21:                return array();
        !            22:        }
        !            23: 
        !            24:        function unlink($url)
        !            25:        {
        !            26:                echo $this->constructorCalled ? 'yes' : 'no';
        !            27:        }
        !            28: 
        !            29:        function rename($from, $to)
        !            30:        {
        !            31:                echo $this->constructorCalled ? 'yes' : 'no';
        !            32:        }
        !            33: 
        !            34:        function mkdir($dir, $mode, $options)
        !            35:        {
        !            36:                echo $this->constructorCalled ? 'yes' : 'no';
        !            37:        }
        !            38: 
        !            39:        function rmdir($dir, $options)
        !            40:        {
        !            41:                echo $this->constructorCalled ? 'yes' : 'no';
        !            42:        }
        !            43: 
        !            44:        function dir_opendir($url, $options)
        !            45:        {
        !            46:                echo $this->constructorCalled ? 'yes' : 'no';
        !            47:                return TRUE;
        !            48:        }
        !            49:        function stream_metadata() 
        !            50:        {
        !            51:                echo $this->constructorCalled ? 'yes' : 'no';
        !            52:                return TRUE;
        !            53:        }
        !            54: }
        !            55: 
        !            56: stream_wrapper_register('test', 'testwrapper', STREAM_IS_URL);
        !            57: 
        !            58: echo 'stream_open: ';
        !            59: fopen('test://test', 'r');
        !            60: echo "\n";
        !            61: 
        !            62: echo 'url_stat: ';
        !            63: stat('test://test');
        !            64: echo "\n";
        !            65: 
        !            66: echo 'dir_opendir: ';
        !            67: opendir('test://test');
        !            68: echo "\n";
        !            69: 
        !            70: echo 'rmdir: ';
        !            71: rmdir('test://test');
        !            72: echo "\n";
        !            73: 
        !            74: echo 'mkdir: ';
        !            75: mkdir('test://test');
        !            76: echo "\n";
        !            77: 
        !            78: echo 'rename: ';
        !            79: rename('test://test', 'test://test2');
        !            80: echo "\n";
        !            81: 
        !            82: echo 'unlink: ';
        !            83: unlink('test://test');
        !            84: echo "\n";
        !            85: 
        !            86: echo 'touch: ';
        !            87: touch('test://test', time());
        !            88: echo "\n";
        !            89: 
        !            90: 
        !            91: 
        !            92: ?>
        !            93: ==DONE==
        !            94: --EXPECT--
        !            95: stream_open: yes
        !            96: url_stat: yes
        !            97: dir_opendir: yes
        !            98: rmdir: yes
        !            99: mkdir: yes
        !           100: rename: yes
        !           101: unlink: yes
        !           102: touch: yes
        !           103: ==DONE==

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