Condition Coverage

blib/lib/Future/Buffer.pm
Criterion Covered Total %
condition 22 55 40.0


and 2 conditions

line l !l condition
179 0 0 shift @$pending and next
362 1 2 s/^[aAcC]// and $this = 1
0 1 s/^[sSnv]// and $this = 2
0 0 s/^[iI]// and $this = 4
0 0 s/^[lLNV]// and $this = 4
0 0 s/^[qQ]// and $this = 8
0 0 s/^f// and $this = 4
0 0 s/^d// and $this = 8

and 3 conditions

line !l l&&!r l&&r condition
143 3 13 10 not @$pending and my(@ret) = &$code(\$self->{'data'})
149 6 0 10 $self->{'fill'} and my $fill_f = $self->_fill
161 1 2 3 @$pending and $pending->[0][1]->is_cancelled
177 11 0 16 @$pending and CORE::length $self->{'data'}
425 1 1 0 @{$self->{'pending'};} and CORE::length $self->{'data'}

or 3 conditions

line l !l&&r !l&&!r condition
115 2 10 0 $self->{'fill_f'} //= do { &weaken(my $weakself = $self); my $fill = $self->{'fill'}; &$fill()->on_done(sub { my($data) = @_; return unless $weakself; $weakself->{'data'} .= $data; undef $self->{'fill_f'}; $weakself->_invoke_pending; $weakself->_fill if @{$self->{'pending'};}; } ) }
162 2 0 1 @$pending or not $self->{'fill_f'}
362 2 1 0 s/^[aAcC]// and $this = 1 or s/^[sSnv]// and $this = 2
1 0 0 s/^[aAcC]// and $this = 1 or s/^[sSnv]// and $this = 2 or s/^[iI]// and $this = 4
0 0 0 s/^[aAcC]// and $this = 1 or s/^[sSnv]// and $this = 2 or s/^[iI]// and $this = 4 or s/^[lLNV]// and $this = 4
0 0 0 s/^[aAcC]// and $this = 1 or s/^[sSnv]// and $this = 2 or s/^[iI]// and $this = 4 or s/^[lLNV]// and $this = 4 or s/^[qQ]// and $this = 8
0 0 0 s/^[aAcC]// and $this = 1 or s/^[sSnv]// and $this = 2 or s/^[iI]// and $this = 4 or s/^[lLNV]// and $this = 4 or s/^[qQ]// and $this = 8 or s/^f// and $this = 4
0 0 0 s/^[aAcC]// and $this = 1 or s/^[sSnv]// and $this = 2 or s/^[iI]// and $this = 4 or s/^[lLNV]// and $this = 4 or s/^[qQ]// and $this = 8 or s/^f// and $this = 4 or s/^d// and $this = 8