File: userstreams_006.phpt

package info (click to toggle)
php8.4 8.4.11-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 208,108 kB
  • sloc: ansic: 1,060,628; php: 35,345; sh: 11,866; cpp: 7,201; pascal: 4,913; javascript: 3,091; asm: 2,810; yacc: 2,411; makefile: 689; xml: 446; python: 301; awk: 148
file content (39 lines) | stat: -rw-r--r-- 865 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
--TEST--
User-space streams: set_options returns "not implemented" for unhandled option types
--FILE--
<?php
class test_wrapper {
    public $context;
    function stream_open($path, $mode, $openedpath) {
        return true;
    }
    function stream_eof() {
        return false;
    }
    function stream_write($data) {
        echo "size: ", strlen($data), "\n";
        return strlen($data);
    }
    function stream_set_option($option, $arg1, $arg2) {
        echo "option: ", $option, ", ", $arg1, ", ", $arg2, "\n";
        return false;
    }
}

var_dump(stream_wrapper_register('test', 'test_wrapper'));

$fd = fopen("test://foo","r");

var_dump(stream_set_write_buffer($fd, 50));
var_dump(stream_set_chunk_size($fd, 42));

var_dump(fwrite($fd, str_repeat('0', 70)));
?>
--EXPECT--
bool(true)
option: 3, 2, 50
int(-1)
int(8192)
size: 42
size: 28
int(70)