Condition Coverage

lib/HTTP/Promise/Stream.pm
Criterion Covered Total %
condition 77 198 38.8


and 3 conditions

line !l l&&!r l&&r condition
635 69 5 0 $type ne "scalar" and $type ne "glob"
74 0 0 $type ne "scalar" and $type ne "glob" and $type ne "code"
660 89 0 33 defined $self->{'encoding'} and length $self->{'encoding'}
17 0 72 defined $self->{'decoding'} and length $self->{'decoding'}
684 0 0 0 $self->_is_object($src) and $self->_can($src, "seek")
0 0 0 $self->_is_object($src) and $self->_can($src, "seek") and $self->_can($src, "read")
744 0 0 13 defined $dec and length $dec
0 0 13 defined $dec and length $dec and $size
794 0 0 12 defined $enc and length $enc
0 0 12 defined $enc and length $enc and $size
830 0 0 0 ref $this and not overload::Method($this, "\"\"")
16 0 0 not $self->_is_array($this) and (ref $this and not overload::Method($this, "\"\""))
849 1 0 0 exists $opts->{'version'} and length $opts->{'version'}
854 1 1 0 $_ eq $decoder and $decoder eq $encoder
874 80 0 0 exists $opts->{'binmode'} and length $opts->{'binmode'}
933 0 4 0 not ref $_[1] and length $_[1]
4 0 0 not ref $_[1] and length $_[1] and index($_[1], "\n") == -1
1062 1 0 15 defined $HTTP::Promise::Stream::SUFFIX_ENCODING and %$HTTP::Promise::Stream::SUFFIX_ENCODING
1087 0 0 2 @_ and defined $_[0]
0 0 2 @_ and defined $_[0] and length $_[0]
1102 0 0 20 defined $_[1] and length $_[1]
1132 12 0 4 not ref $_[1] and index($_[1], "\n") == -1 && !(-e $_[1]) || index($_[1], "\n") != -1
1154 0 0 4 ref $data and $type ne "scalar"
0 4 0 ref $data and $type ne "scalar" and $type ne "glob"
4 0 0 ref $data and $type ne "scalar" and $type ne "glob" and $type ne "code"
1462 0 34 0 not ref $_[0] and index($_[0], "\n") == -1 && !(-e $_[0]) || index($_[0], "\n") != -1
1471 0 4 0 $self->_is_object($_[0]) and $self->_can($_[0], "size")
1609 0 14 44 defined $this and ref $this || length $this

or 2 conditions

line l !l condition
717 0 0 $self->new_file($src) || (return $self->pass_error)
735 12 1 $opts->{'encoding'} //= ""
736 0 13 $opts->{'decoding'} //= ""
786 12 0 $opts->{'encoding'} //= ""
844 1 0 shift @_ || (return $self->error('No encoding was provided.'))
882 80 0 $self->new_tempfile || (return $self->error('Unable to get a new tempfile: ', $self->error))
892 12 0 $tempfile->open('<', {'binmode', $opts->{'binmode'}}) || (return $self->pass_error($tempfile))
903 67 0 $tempfile->open('<', {'binmode', $opts->{'binmode'}}) || (return $self->pass_error($tempfile))
912 0 0 $s->open('<') || (return $self->pass_error($s->error))
922 0 0 $f->open('<', {$opts->{'binmode'} ? ('binmode', $opts->{'binmode'}) : ()}) || (return $self->pass_error($f->error))
1010 6 0 $self->new_file($_[1]) || (return $self->pass_error)
1060 16 0 shift @_ || (return $self->pass_error('No file was provided to guess encoding.'))
1164 4 0 $f->open('<', {'binmode', 'raw'}) || (return $self->pass_error($f->error))
1239 0 0 $self->new_file($data) || (return $self->pass_error)
1240 0 0 $f->open('<') || (return $self->pass_error($f->error))
1325 0 0 $self->new_file($data) || (return $self->pass_error)
1326 0 0 $f->open('<') || (return $self->pass_error($f->error))
1355 0 0 $self->new_file($data) || (return $self->pass_error)
1356 0 0 $f->open('<') || (return $self->pass_error($f->error))
1369 0 0 $self->new_file($src) || (return $self->pass_error)
1370 0 0 $f->open('>', {'autoflush', 1}) || (return $self->pass_error($f->error))
1389 0 0 $self->new_file($data) || (return $self->pass_error)
1390 0 0 $f2->open('<') || (return $self->pass_error($f2->error))
1412 2 0 shift @_ || 'all'
1623 29 0 'Module::Generic::Scalar::IO'->new($this, $mode) || (return $self->pass_error('Module::Generic::Scalar::IO'->error))
1629 26 0 $self->new_file("$this") || (return $self->pass_error)
1631 26 0 $f->open($mode, {'binmode', 'raw', $opts->{'write'} ? ('autoflush', 1) : ()}) || (return $self->pass_error($f->error))

or 3 conditions

line l !l&&r !l&&!r condition
631 122 0 0 defined $src or length $src
737 12 1 0 $opts->{'decoding'} || $opts->{'encoding'} || $self->decoding->lower
787 12 0 0 $opts->{'encoding'} || $self->encoding->lower
830 0 0 16 not defined $this or not $self->_is_array($this) and (ref $this and not overload::Method($this, "\"\""))
876 12 0 68 $self->encoding->lower || lc $opts->{'encoding'}
877 68 0 12 $self->decoding->lower || lc $opts->{'decoding'}
933 6 0 4 $self->_is_a($_[1], "Module::Generic::File") or not ref $_[1] and length $_[1] and index($_[1], "\n") == -1
1089 2 0 0 exists $HTTP::Promise::Stream::FILTER_MAP->{'encode'}{$this} or exists $HTTP::Promise::Stream::FILTER_MAP->{'decode'}{$this}
1132 4 0 0 index($_[1], "\n") == -1 && !(-e $_[1]) || index($_[1], "\n") != -1
4 0 4 $self->_is_a($_[1], "Module::Generic::File") or $self->_can($_[1], "filename")
1415 0 0 2 $what eq "all" or $what eq "auto"
1439 2 2 14 $enc eq "inflate" or $enc eq "rawinflate"
4 4 10 $enc eq "inflate" or $enc eq "rawinflate" or substr($enc, 0, 2) eq "x-"
1462 4 0 30 index($_[0], "\n") == -1 && !(-e $_[0]) || index($_[0], "\n") != -1
1533 0 0 0 $self->_is_a($_[0], "Module::Generic::File") or $self->_can($_[0], "filename")
1597 30 0 0 ref $self || $self
1609 35 23 0 ref $this || length $this
1630 4 22 0 $f->exists or $opts->{'write'}
1657 29 0 0 ($flags & 0) == 0 or $flags & 2
1671 0 0 0 $self->_can($fh, 'print') || $self->_can($fh, 'write')