Condition Coverage

blib/lib/CGI/Buffer.pm
Criterion Covered Total %
condition 4 219 1.8


and 3 conditions

line !l l&&!r l&&r condition
108 0 0 6 defined $^V and $^V ge "v5.14.0"
152 0 0 0 $ENV{'REQUEST_METHOD'} and $ENV{'REQUEST_METHOD'} eq "HEAD"
162 0 0 0 defined $body and $body eq ""
0 0 0 defined $content_type[0] and lc $content_type[0] eq "text"
0 0 0 defined $content_type[0] and lc $content_type[0] eq "text" and lc($content_type[1]) =~ /^html/u
0 0 0 defined $content_type[0] and lc $content_type[0] eq "text" and lc($content_type[1]) =~ /^html/u and defined $body
283 0 0 0 defined $headers and $headers =~ /^Status: (\d+)/mu
298 0 0 0 $ENV{'SERVER_PROTOCOL'} and $ENV{'SERVER_PROTOCOL'} eq 'HTTP/1.1' || $ENV{'SERVER_PROTOCOL'} eq 'HTTP/2.0'
0 0 0 $ENV{'SERVER_PROTOCOL'} and $ENV{'SERVER_PROTOCOL'} eq 'HTTP/1.1' || $ENV{'SERVER_PROTOCOL'} eq 'HTTP/2.0' and $generate_etag
0 0 0 $ENV{'SERVER_PROTOCOL'} and $ENV{'SERVER_PROTOCOL'} eq 'HTTP/1.1' || $ENV{'SERVER_PROTOCOL'} eq 'HTTP/2.0' and $generate_etag and defined $body
305 0 0 0 $ENV{'HTTP_IF_NONE_MATCH'} and $generate_304
0 0 0 $ENV{'HTTP_IF_NONE_MATCH'} and $generate_304 and $status == 200
328 0 0 0 $range and not $cache
331 0 0 0 $1 and $2
377 0 0 0 $send_body and $ENV{'SERVER_PROTOCOL'}
0 0 0 $send_body and $ENV{'SERVER_PROTOCOL'} and $ENV{'SERVER_PROTOCOL'} eq 'HTTP/1.1' || $ENV{'SERVER_PROTOCOL'} eq 'HTTP/2.0'
0 0 0 $send_body and $ENV{'SERVER_PROTOCOL'} and $ENV{'SERVER_PROTOCOL'} eq 'HTTP/1.1' || $ENV{'SERVER_PROTOCOL'} eq 'HTTP/2.0' and $generate_304
0 0 0 $send_body and $ENV{'SERVER_PROTOCOL'} and $ENV{'SERVER_PROTOCOL'} eq 'HTTP/1.1' || $ENV{'SERVER_PROTOCOL'} eq 'HTTP/2.0' and $generate_304 and $status == 200
387 0 0 0 $send_body and $status == 200
0 0 0 $send_body and $status == 200 and defined $cache_hash
409 0 0 0 $send_body and $ENV{'SERVER_PROTOCOL'}
0 0 0 $send_body and $ENV{'SERVER_PROTOCOL'} and $ENV{'SERVER_PROTOCOL'} eq 'HTTP/1.1' || $ENV{'SERVER_PROTOCOL'} eq 'HTTP/2.0'
0 0 0 $send_body and $ENV{'SERVER_PROTOCOL'} and $ENV{'SERVER_PROTOCOL'} eq 'HTTP/1.1' || $ENV{'SERVER_PROTOCOL'} eq 'HTTP/2.0' and $status == 200
420 0 0 0 $logger and $generate_304
423 0 0 0 $ENV{'HTTP_IF_NONE_MATCH'} eq $etag and $generate_304
436 0 0 0 $generate_etag and not defined $etag
0 0 0 $generate_etag and not defined $etag and defined $body
0 0 0 defined $headers && $headers =~ /^ETag: /mu
0 0 0 $generate_etag and not defined $etag and defined $body and not defined $headers && $headers =~ /^ETag: /mu
444 0 0 0 defined $headers and $headers =~ /^ETag: "([a-z0-9]{32})"/mu
450 0 0 0 $ENV{'HTTP_IF_NONE_MATCH'} and $send_body
0 0 0 $ENV{'HTTP_IF_NONE_MATCH'} and $send_body and $status != 304
0 0 0 $ENV{'HTTP_IF_NONE_MATCH'} and $send_body and $status != 304 and $generate_304
454 0 0 0 defined $etag and $etag eq $ENV{'HTTP_IF_NONE_MATCH'}
0 0 0 defined $etag and $etag eq $ENV{'HTTP_IF_NONE_MATCH'} and $status == 200
466 0 0 0 $ENV{'HTTP_IF_MODIFIED_SINCE'} and $status != 304
0 0 0 $ENV{'HTTP_IF_MODIFIED_SINCE'} and $status != 304 and not $cannot_304
472 0 0 0 $status == 200 and $generate_last_modified
489 0 0 0 @o and defined $o[0]
0 0 0 defined $headers and length $headers
493 0 0 0 defined $headers and length $headers
512 0 0 0 $generate_etag and defined $etag
560 0 0 0 $ENV{'HTTP_IF_MODIFIED_SINCE'} and $status != 304
0 0 0 $ENV{'HTTP_IF_MODIFIED_SINCE'} and $status != 304 and $generate_304
569 0 0 0 defined $headers && $headers =~ /^ETag: /mu
0 0 0 $generate_etag and not defined $headers && $headers =~ /^ETag: /mu
570 0 0 0 $logger and $status == 200 || $status == 304
0 0 0 $logger and $status == 200 || $status == 304 and $body
0 0 0 $logger and $status == 200 || $status == 304 and $body and not is_cached()
590 0 0 0 defined $headers and length $headers
594 0 0 0 $body and $send_body
609 0 0 0 $body_length and $send_body
649 0 0 0 $send_body && defined $body
778 0 0 0 $headers and $headers =~ /^Vary: .*$/mu
887 0 0 0 defined $params{'info'} and not defined $info
902 0 0 0 defined $params{'cache'} and can_cache()
919 0 0 0 not defined $params{'cache'} and defined $cache
1111 0 0 0 $compress_content and $ENV{'HTTP_ACCEPT_ENCODING'} || $ENV{'HTTP_TE'}

or 3 conditions

line l !l&&r !l&&!r condition
101 6 0 0 not defined $ENV{'SERVER_PROTOCOL'} or $ENV{'SERVER_PROTOCOL'} eq "HTTP/1.0"
135 0 0 6 $headers or is_cached()
298 0 0 0 $ENV{'SERVER_PROTOCOL'} eq 'HTTP/1.1' || $ENV{'SERVER_PROTOCOL'} eq 'HTTP/2.0'
377 0 0 0 $ENV{'SERVER_PROTOCOL'} eq 'HTTP/1.1' || $ENV{'SERVER_PROTOCOL'} eq 'HTTP/2.0'
409 0 0 0 $ENV{'SERVER_PROTOCOL'} eq 'HTTP/1.1' || $ENV{'SERVER_PROTOCOL'} eq 'HTTP/2.0'
570 0 0 0 $status == 200 || $status == 304
917 0 0 0 $cache_age ||= $params{'cache_age'}
969 0 0 3 defined $ENV{'NO_CACHE'} or defined $ENV{'NO_STORE'}
979 0 0 0 $control eq "no-store" or $control eq "no-cache"
0 0 0 $control eq "no-store" or $control eq "no-cache" or $control eq "max-age=0"
0 0 0 $control eq "no-store" or $control eq "no-cache" or $control eq "max-age=0" or $control eq "private"
1111 0 0 0 $ENV{'HTTP_ACCEPT_ENCODING'} || $ENV{'HTTP_TE'}
1119 0 0 0 $method eq "gzip" or $method eq "x-gzip"
0 0 0 $method eq "gzip" or $method eq "x-gzip" or $method eq "br"
1148 0 0 0 length $encoding == 0 or length $body < 32