diff options
| author | Sara Golemon <pollita@php.net> | 2003-04-02 00:41:09 +0000 |
|---|---|---|
| committer | Sara Golemon <pollita@php.net> | 2003-04-02 00:41:09 +0000 |
| commit | c249c671785ee2422d141763e3c2b092cde2a14a (patch) | |
| tree | 38ff6e936087b0315cd7cdbe616e460b42c9a8d7 /ext | |
| parent | aab97182537150dc41406d82a64122966ebed805 (diff) | |
| download | php-git-c249c671785ee2422d141763e3c2b092cde2a14a.tar.gz | |
New test for userfilters rewrite
Diffstat (limited to 'ext')
| -rw-r--r-- | ext/standard/tests/file/userfilters.phpt | 65 |
1 files changed, 21 insertions, 44 deletions
diff --git a/ext/standard/tests/file/userfilters.phpt b/ext/standard/tests/file/userfilters.phpt index 9c42e8e7f6..72930ee65a 100644 --- a/ext/standard/tests/file/userfilters.phpt +++ b/ext/standard/tests/file/userfilters.phpt @@ -1,60 +1,37 @@ --TEST-- -User-space filters +stream userfilter test --FILE-- <?php # vim600:syn=php: +class testfilter extends php_user_filter { + function filter($in, $out, &$consumed, $closing) { + while ($bucket = stream_bucket_make_writeable($in)) { + $bucket->data = strtoupper($bucket->data); + $consumed += strlen($bucket->data); + stream_bucket_append($out, $bucket); + } + return PSFS_PASS_ON; + } -class UpperCaseFilter extends php_user_filter { - function oncreate() - { - echo "oncreate:\n"; - var_dump($this->filtername); - var_dump($this->params); - } + function oncreate() { + echo "params: {$this->params}\n"; + } +} - function flush($closing) - { - echo "flush:\n"; - } +stream_register_filter('testfilter','testfilter'); - function onclose() - { - echo "onclose:\n"; - } +$text = "Hello There!"; - function write($data) - { - echo "write:\n"; - $x = parent::write($data); - return strlen($data); - } - - function read($bytes) - { - echo "read:\n"; - $x = parent::read($bytes); - return strtoupper($x); - } -}; - -var_dump(stream_register_filter("string.uppercase", "UpperCaseFilter")); $fp = tmpfile(); +fwrite($fp, $text); -fwrite($fp, "hello there"); rewind($fp); +stream_filter_append($fp, 'testfilter', STREAM_FILTER_READ, 'testuserfilter'); -var_dump(stream_filter_prepend($fp, "string.uppercase")); var_dump(fgets($fp)); fclose($fp); + ?> --EXPECT-- -bool(true) -oncreate: -string(16) "string.uppercase" -NULL -bool(true) -read: -read: -string(11) "HELLO THERE" -flush: -onclose: +params: testuserfilter +string(12) "HELLO THERE!" |
