Condition Coverage

blib/lib/IO/Async/Stream.pm
Criterion Covered Total %
condition 74 110 67.2


and 2 conditions

line l !l condition
855 0 0 carp("Cannot write data to a Stream that is closing") and return

and 3 conditions

line !l l&&!r l&&r condition
400 0 1 0 defined $low and not defined $high
401 0 1 0 defined $high and not defined $low
403 0 0 1 defined $low and defined $high
0 1 0 defined $low and defined $high and $low > $high
420 983 5 5 $self->loop and $self->read_handle
425 863 68 62 $self->{'autoflush'} and my $write_handle = $self->write_handle
752 0 168 18 $head = $writequeue->[0] and ref $head->data
753 0 0 6 builtin::blessed($head->data) and $head->data->isa("Future")
760 1 5 1 not ref $data and my $encoding = $self->{'encoding'}
777 1 2 1 not ref $data and my $encoding = $self->{'encoding'}
789 160 8 1 $second = $writequeue->[1] and not ref $second->data
168 0 1 $second = $writequeue->[1] and not ref $second->data and $head->writelen == $second->writelen
8 0 1 $second = $writequeue->[1] and not ref $second->data and $head->writelen == $second->writelen and not $head->on_write
0 0 1 $second = $writequeue->[1] and not ref $second->data and $head->writelen == $second->writelen and not $head->on_write and not $second->on_write
0 0 1 $second = $writequeue->[1] and not ref $second->data and $head->writelen == $second->writelen and not $head->on_write and not $second->on_write and not $head->on_flush
836 122 37 0 $IO::Async::Stream::METRICS and $IO::Async::Stream::METRICS->inc_counter_by("stream_written", $len)
861 130 36 1 not $handle and $self->loop
863 7 157 2 not ref $data and my $encoding = $self->{'encoding'}
904 102 0 102 not $self->_is_empty and $self->_flush_one_write
933 1 5 66 not $self->_is_empty and $self->_flush_one_write
6 62 4 not $self->_is_empty and $self->_flush_one_write and $self->{'write_all'}
955 1133 0 17 $readqueue->[0] and my $on_read = $readqueue->[0]->on_read
962 1147 2 1 defined $self->{'read_low_watermark'} and $self->{'at_read_high_watermark'}
2 0 1 defined $self->{'read_low_watermark'} and $self->{'at_read_high_watermark'} and length $self->{'readbuff'} < $self->{'read_low_watermark'}
968 1132 4 13 @$readqueue and not defined $ret
978 637 304 195 $ret && (length $self->{'readbuff'} > 0 || $eof)
1031 420 43 0 $IO::Async::Stream::METRICS and $IO::Async::Stream::METRICS->inc_counter_by("stream_read", $len)
1059 458 0 1 defined $self->{'read_high_watermark'} and length $self->{'readbuff'} >= $self->{'read_high_watermark'}
1108 11 1 1 length $self->{'readbuff'} and $self->_flush_one_read(0)

or 3 conditions

line l !l&&r !l&&!r condition
396 1 0 992 exists $params{'read_high_watermark'} or exists $params{'read_low_watermark'}
397 1 0 0 delete $params{'read_high_watermark'} // $self->{'read_high_watermark'}
398 1 0 0 delete $params{'read_low_watermark'} // $self->{'read_low_watermark'}
537 3 0 6 $errno == 11 || $errno == 11 || $errno == 4
814 1 0 2 $errno == 11 or $errno == 11
893 0 166 0 $params{'write_len'} // $self->{'write_len'}
1205 0 4 0 $eof or length $$buffref >= $len