--TEST-- stream_get_line() on non-blocking stream --SKIPIF-- --FILE-- '; fwrite($sockets[0], "line start"); var_dump(stream_get_line($sockets[1], 8192, $eol)); // Does not returns incomplete line (EOL not found) var_dump(stream_get_line($sockets[1], 8192, $eol)); fwrite($sockets[0], ", line end"); fwrite($sockets[0], ", $eol"); var_dump(stream_get_line($sockets[1], 8192, $eol)); // Returns full line (EOL found) var_dump(stream_get_line($sockets[1], 8192, $eol)); // Nothing to read var_dump(stream_get_line($sockets[1], 8192, $eol)); fwrite($sockets[0], "incomplete line"); var_dump(stream_get_line($sockets[1], strlen("incomplete line"), $eol)); // EOL not found but $length has been read, return incomplete line fwrite($sockets[0], "incomplete line"); var_dump(stream_get_line($sockets[1], 8192, $eol)); // Does not returns incomplete line (EOL not found) var_dump(fread($sockets[1], strlen("incomplete line"))); // Returns buffer readden by stream_get_line fwrite($sockets[0], "end of file"); var_dump(stream_get_line($sockets[1], 8192, $eol)); // Does not returns incomplete line (EOL not found) fclose($sockets[0]); var_dump(stream_get_line($sockets[1], 8192, $eol)); // Returns incomplete line (End of file) fclose($sockets[1]); ?> --EXPECTF-- array(2) { [0]=> resource(%d) of type (stream) [1]=> resource(%d) of type (stream) } bool(false) bool(false) string(22) "line start, line end, " bool(false) bool(false) string(15) "incomplete line" bool(false) string(15) "incomplete line" bool(false) string(11) "end of file"