Annotation of embedaddon/php/ext/standard/tests/streams/bug40459.phpt, revision 1.1.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>