Annotation of embedaddon/php/ext/standard/tests/streams/bug60817.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Bug #60817: stream_get_line() reads from stream even when there is already sufficient data buffered
                      3: --FILE--
                      4: <?php
                      5: class TestStream { //data, empty data, empty data + eof
                      6:     private $s = 0;
                      7:     function stream_open($path, $mode, $options, &$opened_path) {
                      8:             return true;
                      9:     }
                     10:     function stream_read($count) {
                     11:         echo "Read done\n";
                     12:         if ($this->s++ == 0)
                     13:             return "a\nbb\ncc";
                     14: 
                     15:         return "";
                     16:     }
                     17:     function stream_eof() {
                     18:         return $this->s >= 2;
                     19:     }
                     20: 
                     21: }
                     22: 
                     23: stream_wrapper_register("test", "TestStream");
                     24: 
                     25: $f = fopen("test://", "r");
                     26: while (!feof($f)) {
                     27:     $line = stream_get_line($f, 99, "\n");
                     28:     var_dump($line);
                     29: }
                     30: 
                     31: --EXPECT--
                     32: Read done
                     33: string(1) "a"
                     34: string(2) "bb"
                     35: Read done
                     36: string(2) "cc"

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