Condition Coverage

lib/Web/DataService/Output.pm
Criterion Covered Total %
condition 5 353 1.4


and 3 conditions

line !l l&&!r l&&r condition
198 0 0 0 ref $v and &reftype($v) ne 'ARRAY'
209 0 0 0 ref $v and &reftype($v) eq 'CODE'
215 0 0 0 ref $v and &reftype($v) eq 'HASH'
221 0 0 0 ref $v and &reftype($v) ne 'REGEXP'
259 0 0 0 $vocab and not $ds->{'vocab'}{$vocab}{'use_field_names'}
306 0 0 0 defined $optional_output and ref $ds->{'set'}{$optional_output} eq 'Web::DataService::Set'
317 0 0 0 $block and ref $ds->{'block'}{$block} eq 'Web::DataService::Block'
371 0 0 0 $r->{'if_block'} and not check_set($r->{'if_block'}, $request->{'block_hash'})
374 0 0 0 $r->{'not_block'} and check_set($r->{'not_block'}, $request->{'block_hash'})
379 0 0 0 $r->{'if_format'} and not check_value($r->{'if_format'}, $format)
382 0 0 0 $r->{'not_format'} and check_value($r->{'not_format'}, $format)
387 0 0 0 $r->{'if_vocab'} and not check_value($r->{'if_vocab'}, $vocab)
390 0 0 0 $r->{'not_vocab'} and check_value($r->{'not_vocab'}, $vocab)
470 0 0 0 $vocab and not $ds->{'vocab'}{$vocab}{'use_field_names'}
483 0 0 0 $r->{'if_block'} and not check_set($r->{'if_block'}, $request->{'block_hash'})
486 0 0 0 $r->{'not_block'} and check_set($r->{'not_block'}, $request->{'block_hash'})
491 0 0 0 $r->{'if_format'} and not check_value($r->{'if_format'}, $format)
494 0 0 0 $r->{'not_format'} and check_value($r->{'not_format'}, $format)
499 0 0 0 $r->{'if_vocab'} and not check_value($r->{'if_vocab'}, $vocab)
502 0 0 0 $r->{'not_vocab'} and check_value($r->{'not_vocab'}, $vocab)
510 0 0 0 ref $r->{'select'} and ref $r->{'select'} ne 'ARRAY'
525 0 0 0 ref $r->{'tables'} and ref $r->{'tables'} ne 'ARRAY'
603 0 0 0 $require_vocab and not exists $$r{"${vocab}_name"}
612 0 0 0 $key eq 'value' and $vs_value
0 0 0 $key eq 'name' and $vs_name
747 0 0 0 defined $output_param and ref $request->{'params'}{$output_param} eq 'ARRAY'
778 0 0 0 $vocab and not $ds->{'vocab'}{$vocab}{'use_field_names'}
804 0 0 0 $r->{'if_block'} and not check_set($r->{'if_block'}, $request->{'block_set'})
807 0 0 0 $r->{'not_block'} and check_set($r->{'not_block'}, $request->{'block_set'})
812 0 0 0 $r->{'if_format'} and not check_value($r->{'if_format'}, $format)
815 0 0 0 $r->{'not_format'} and check_value($r->{'not_format'}, $format)
820 0 0 0 $r->{'if_vocab'} and not check_value($r->{'if_vocab'}, $vocab)
823 0 0 0 $r->{'not_vocab'} and check_value($r->{'not_vocab'}, $vocab)
831 0 0 0 $require_vocab and not exists $$r{"${vocab}_name"}
1021 2 0 4 ref $node->{'doc_pending'} eq 'ARRAY' and @{$node->{'doc_pending'};}
1155 0 0 0 ref $node and ref $node->{'doc_list'} eq 'ARRAY'
1194 0 0 0 $doc ne '' and $item ne ''
1205 0 0 0 ref $state->{'namespace'} and &reftype($state->{'namespace'}) eq 'HASH'
1207 0 0 0 defined $item->{'doc_string'} and $item->{'doc_string'} ne ''
0 0 0 defined $item->{'doc_string'} and $item->{'doc_string'} ne '' and not $state->{'items_only'}
1222 0 0 0 ref $included_node and &reftype($included_node) eq 'HASH'
1226 0 0 0 $doc ne '' and $subdoc ne ''
1249 0 0 0 defined $item->{'doc_string'} and $item->{'doc_string'} ne ''
1308 0 0 0 $optional_output and ref $ds->{'set'}{$optional_output} eq 'Web::DataService::Set'
0 0 0 $optional_output and $ds->debug
1348 0 0 0 ref $vocabularies eq 'HASH' and keys %$vocabularies
1356 0 0 0 $vocabularies->{$_} and ref $ds->{'vocab'}{$_}
1432 0 0 0 ref $vocabularies eq 'HASH' and keys %$vocabularies
1439 0 0 0 $vocabularies->{$_} and ref $ds->{'vocab'}{$_}
1537 0 0 0 ref $steps eq 'ARRAY' and @$steps
1549 0 0 0 ref $record->{$cond_field} eq 'ARRAY' and @{$record->{$cond_field};} == 0
1554 0 0 0 defined $record->{$cond_field} and ref $record->{$cond_field} ne 'ARRAY'
1555 0 0 0 ref $record->{$cond_field} eq 'ARRAY' and @{$record->{$cond_field};} > 0
1634 0 0 0 $source_field and $source_field ne '*'
0 0 0 $source_field and $source_field ne '*' and not $p->{'always'}
1637 0 0 0 ref $record->{$source_field} eq 'ARRAY' and @{$record->{$source_field};} == 0
1676 0 0 0 $set_field ne '*' and not ref $record->{$set_field}
1719 0 0 0 defined $record->{$source_field} and not ref $record->{$source_field}
1725 0 0 0 defined $record->{$set_field} and not ref $record->{$set_field}
1767 0 0 0 defined $record->{$set_field} and ref $record->{$set_field} ne 'ARRAY'
1872 0 0 0 $ds->{'hook_enabled'}{'after_serialize_hook'} && $ds->node_attr($path, 'after_serialize_hook')
1886 0 0 0 ref $field_list and @$field_list
1952 0 0 0 $ds->{'hook_enabled'}{'after_serialize_hook'} && $ds->node_attr($path, 'after_serialize_hook')
1988 0 0 0 defined $request->{'result_limit'} and $request->{'result_limit'} eq '0'
0 0 0 defined $request->{'result_offset'} and $request->{'result_offset'} > 0
0 0 0 defined $request->{'result_offset'} and $request->{'result_offset'} > 0 and not $request->{'offset_handled'}
2044 0 0 0 defined $request->{'result_limit'} and $request->{'result_limit'} ne 'all'
2055 0 0 0 defined $streaming_threshold and length $output > $streaming_threshold
2099 0 0 0 $output_charset and $ds->{'format'}{$format}{'encode_as_text'}
0 0 0 $output_charset and $ds->{'format'}{$format}{'encode_as_text'} and not $request->{'content_type_is_text'}
2134 0 0 0 $ds->{'hook_enabled'}{'after_serialize_hook'} && $ds->node_attr($path, 'after_serialize_hook')
2197 0 0 0 defined $request->{'result_offset'} and $request->{'result_offset'} > 0
0 0 0 defined $request->{'result_offset'} and $request->{'result_offset'} > 0 and not $request->{'offset_handled'}
2205 0 0 0 defined $request->{'result_limit'} and $request->{'result_limit'} eq '0'
2235 0 0 0 defined $request->{'result_limit'} and $request->{'result_limit'} ne 'all'
2246 0 0 0 defined $streaming_threshold and length $output > $streaming_threshold
2292 0 0 0 $output_charset and $ds->{'format'}{$format}{'encode_as_text'}
0 0 0 $output_charset and $ds->{'format'}{$format}{'encode_as_text'} and not $request->{'content_type_is_text'}
2332 0 0 0 $ds->{'hook_enabled'}{'after_serialize_hook'} && $ds->node_attr($path, 'after_serialize_hook')
2350 0 0 0 $output_charset and $format_is_text
2396 0 0 0 $output_charset and $format_is_text
2415 0 0 0 $request->{'result_limit'} ne 'all' and ++$request->{'actual_count'} >= $request->{'result_limit'}
2434 0 0 0 $output_charset and $format_is_text
2471 0 0 0 ref $request->{'main_result'} eq 'ARRAY' and @{$request->{'main_result'};}

or 2 conditions

line l !l condition
1032 0 4 $disposition //= ''
1159 0 0 $state ||= {}
1239 0 0 $name ||= ''
1284 0 0 $ds->node_attr($path, 'output') // []
1285 0 0 $ds->node_attr($path, 'output_label') // 'basic'
1498 0 0 $n ||= 'I'
1505 0 0 $r->{'doc_string'} || ''

or 3 conditions

line l !l&&r !l&&!r condition
175 0 0 0 defined $ds->{'vocab'}{$1} or defined $ds->{'format'}{$1}
507 0 0 0 defined $r->{'set'} or defined $r->{'check'}
581 0 0 0 $check_value eq '*' or $check_value eq ''
612 0 0 0 $key eq 'value' and $vs_value or $key eq 'name' and $vs_name
618 0 0 0 $1 eq $vocab or $1 eq $format
629 0 0 0 lc $type_value eq 'int' or lc $type_value eq 'pos'
0 0 0 lc $type_value eq 'int' or lc $type_value eq 'pos' or lc $type_value eq 'dec'
0 0 0 lc $type_value eq 'int' or lc $type_value eq 'pos' or lc $type_value eq 'dec' or lc $type_value eq 'str'
1034 0 0 4 $primary_item->{'disabled'} or $primary_item->{'undocumented'}
0 0 4 $primary_item->{'disabled'} or $primary_item->{'undocumented'} or $disposition eq 'undocumented'
1061 0 0 0 $last_pod or $this_pod
1119 0 0 0 $list_level > 0 or $item_body
1298 0 0 0 $Web::DataService::QUIET or $ENV{'WDS_QUIET'}
1319 0 0 0 $output_map->{'value'}{$label}{'disabled'} or $output_map->{'value'}{$label}{'undocumented'}
1334 0 0 0 $Web::DataService::QUIET or $ENV{'WDS_QUIET'}
1346 0 0 0 $ds->node_attr($path, 'allow_vocab') || $ds->{'vocab'}
1430 0 0 0 $ds->node_attr($path, 'allow_vocab') || $ds->{'vocab'}
1511 0 0 0 $rev_map->{$_} // $_
1515 0 0 0 $$rev_map{$r->{'if_block'}} // $r->{'if_block'}
1576 0 0 0 $check_value eq '' or $check_value eq '*'
0 0 0 $check_value eq '1' or $check_value eq '0'
1603 0 0 0 $p->{'lookup'}{$value} // $p->{'default'}
1628 0 0 0 $p->{'from'} || $p->{'from_each'} || $p->{'set'}
1680 0 0 0 $p->{'lookup'}{$_} // $p->{'default'}
1684 0 0 0 $p->{'lookup'}{$record->{$source_field}} // $p->{'default'}
1691 0 0 0 $p->{'lookup'}{$record->{$source_field}} // $p->{'default'}
1696 0 0 0 $p->{'lookup'}{$record->{$set_field}} // $p->{'default'}
2396 0 0 0 not defined $output or $output eq ''
2434 0 0 0 not defined $footer or $footer eq ''