Annotation of embedaddon/php/ext/standard/tests/filters/read.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: stream filter - reading
        !             3: --FILE--
        !             4: <?php
        !             5: echo "-TEST\n";
        !             6: class filter extends php_user_filter {
        !             7:     function filter($in, $out, &$consumed, $closing)
        !             8:     {
        !             9:         $output = 0;
        !            10:         while ($bucket = stream_bucket_make_writeable($in)) {
        !            11:             $bucket->data = strtoupper($bucket->data);
        !            12:             $consumed += $bucket->datalen;
        !            13:             stream_bucket_append($out, $bucket);
        !            14:             $output = 1;
        !            15:         }
        !            16:         if ($closing) {
        !            17:             $bucket = stream_bucket_new($this->stream, "\n===close===\n");
        !            18:             stream_bucket_append($out, $bucket);
        !            19:             $output = 1;
        !            20:         }
        !            21:         return $output ? PSFS_PASS_ON : PSFS_FEED_ME;
        !            22:     }
        !            23: }
        !            24: stream_filter_register("strtoupper", "filter")
        !            25:    or die("Failed to register filter");
        !            26: 
        !            27: if ($f = fopen(__FILE__, "rb")) {
        !            28:     stream_filter_append($f, "strtoupper");
        !            29:     while (!feof($f)) {
        !            30:         echo fread($f, 8192);
        !            31:     }
        !            32:     fclose($f);
        !            33: }
        !            34: echo "Done\n";
        !            35: ?>
        !            36: --EXPECTF--
        !            37: %sTEST
        !            38: <?PHP
        !            39: ECHO "-TEST\N";
        !            40: CLASS FILTER EXTENDS PHP_USER_FILTER {
        !            41:     FUNCTION FILTER($IN, $OUT, &$CONSUMED, $CLOSING)
        !            42:     {
        !            43:         $OUTPUT = 0;
        !            44:         WHILE ($BUCKET = STREAM_BUCKET_MAKE_WRITEABLE($IN)) {
        !            45:             $BUCKET->DATA = STRTOUPPER($BUCKET->DATA);
        !            46:             $CONSUMED += $BUCKET->DATALEN;
        !            47:             STREAM_BUCKET_APPEND($OUT, $BUCKET);
        !            48:             $OUTPUT = 1;
        !            49:         }
        !            50:         IF ($CLOSING) {
        !            51:             $BUCKET = STREAM_BUCKET_NEW($THIS->STREAM, "\N===CLOSE===\N");
        !            52:             STREAM_BUCKET_APPEND($OUT, $BUCKET);
        !            53:             $OUTPUT = 1;
        !            54:         }
        !            55:         RETURN $OUTPUT ? PSFS_PASS_ON : PSFS_FEED_ME;
        !            56:     }
        !            57: }
        !            58: STREAM_FILTER_REGISTER("STRTOUPPER", "FILTER")
        !            59:    OR DIE("FAILED TO REGISTER FILTER");
        !            60: 
        !            61: IF ($F = FOPEN(__FILE__, "RB")) {
        !            62:     STREAM_FILTER_APPEND($F, "STRTOUPPER");
        !            63:     WHILE (!FEOF($F)) {
        !            64:         ECHO FREAD($F, 8192);
        !            65:     }
        !            66:     FCLOSE($F);
        !            67: }
        !            68: ECHO "DONE\N";
        !            69: ?>
        !            70: 
        !            71: ===close===
        !            72: Done

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