Condition Coverage

lib/Web/DataService/Output.pm
Criterion Covered Total %
condition 5 362 1.3


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"}
1033 2 0 4 ref $node->{'doc_pending'} eq 'ARRAY' and @{$node->{'doc_pending'};}
1167 0 0 0 ref $node and ref $node->{'doc_list'} eq 'ARRAY'
1206 0 0 0 $doc ne '' and $item ne ''
1217 0 0 0 ref $state->{'namespace'} and &reftype($state->{'namespace'}) eq 'HASH'
1219 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'}
1234 0 0 0 ref $included_node and &reftype($included_node) eq 'HASH'
1238 0 0 0 $doc ne '' and $subdoc ne ''
1261 0 0 0 defined $item->{'doc_string'} and $item->{'doc_string'} ne ''
1320 0 0 0 $optional_output and ref $ds->{'set'}{$optional_output} eq 'Web::DataService::Set'
0 0 0 $optional_output and $ds->debug
1360 0 0 0 ref $vocabularies eq 'HASH' and keys %$vocabularies
1368 0 0 0 $vocabularies->{$_} and ref $ds->{'vocab'}{$_}
1444 0 0 0 ref $vocabularies eq 'HASH' and keys %$vocabularies
1451 0 0 0 $vocabularies->{$_} and ref $ds->{'vocab'}{$_}
1549 0 0 0 ref $steps eq 'ARRAY' and @$steps
1561 0 0 0 ref $record->{$cond_field} eq 'ARRAY' and @{$record->{$cond_field};} == 0
1566 0 0 0 defined $record->{$cond_field} and ref $record->{$cond_field} ne 'ARRAY'
1567 0 0 0 ref $record->{$cond_field} eq 'ARRAY' and @{$record->{$cond_field};} > 0
1646 0 0 0 $source_field and $source_field ne '*'
0 0 0 $source_field and $source_field ne '*' and not $p->{'always'}
1649 0 0 0 ref $record->{$source_field} eq 'ARRAY' and @{$record->{$source_field};} == 0
1688 0 0 0 $set_field ne '*' and not ref $record->{$set_field}
1731 0 0 0 defined $record->{$source_field} and not ref $record->{$source_field}
1737 0 0 0 defined $record->{$set_field} and not ref $record->{$set_field}
1779 0 0 0 defined $record->{$set_field} and ref $record->{$set_field} ne 'ARRAY'
1897 0 0 0 ref $field_list and @$field_list
1961 0 0 0 $ds->{'hook_enabled'}{'after_serialize_hook'} && $ds->node_attr($path, 'after_serialize_hook')
1991 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'}
2059 0 0 0 defined $request->{'result_limit'} and $request->{'result_limit'} ne 'all'
2070 0 0 0 defined $streaming_threshold and length $output > $streaming_threshold
2114 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'}
2149 0 0 0 $ds->{'hook_enabled'}{'after_serialize_hook'} && $ds->node_attr($path, 'after_serialize_hook')
2215 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'}
2223 0 0 0 defined $request->{'result_limit'} and $request->{'result_limit'} eq '0'
2258 0 0 0 defined $request->{'result_limit'} and $request->{'result_limit'} ne 'all'
2269 0 0 0 defined $streaming_threshold and length $output > $streaming_threshold
2315 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'}
2355 0 0 0 $ds->{'hook_enabled'}{'after_serialize_hook'} && $ds->node_attr($path, 'after_serialize_hook')
2367 0 0 0 $output_charset and $format_is_text
2433 0 0 0 $output_charset and $format_is_text
2452 0 0 0 $request->{'result_limit'} ne 'all' and ++$request->{'actual_count'} >= $request->{'result_limit'}
2471 0 0 0 $output_charset and $format_is_text
2508 0 0 0 ref $request->{'main_result'} eq 'ARRAY' and @{$request->{'main_result'};}

or 2 conditions

line l !l condition
1044 0 4 $disposition //= ''
1171 0 0 $state ||= {}
1251 0 0 $name ||= ''
1296 0 0 $ds->node_attr($path, 'output') // []
1297 0 0 $ds->node_attr($path, 'output_label') // 'basic'
1510 0 0 $n ||= 'I'
1517 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'
850 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'
1046 0 0 4 $primary_item->{'disabled'} or $primary_item->{'undocumented'}
0 0 4 $primary_item->{'disabled'} or $primary_item->{'undocumented'} or $disposition eq 'undocumented'
1073 0 0 0 $last_pod or $this_pod
1131 0 0 0 $list_level > 0 or $item_body
1310 0 0 0 $Web::DataService::QUIET or $ENV{'WDS_QUIET'}
1331 0 0 0 $output_map->{'value'}{$label}{'disabled'} or $output_map->{'value'}{$label}{'undocumented'}
1346 0 0 0 $Web::DataService::QUIET or $ENV{'WDS_QUIET'}
1358 0 0 0 $ds->node_attr($path, 'allow_vocab') || $ds->{'vocab'}
1442 0 0 0 $ds->node_attr($path, 'allow_vocab') || $ds->{'vocab'}
1523 0 0 0 $rev_map->{$_} // $_
1527 0 0 0 $$rev_map{$r->{'if_block'}} // $r->{'if_block'}
1588 0 0 0 $check_value eq '' or $check_value eq '*'
0 0 0 $check_value eq '1' or $check_value eq '0'
1615 0 0 0 $p->{'lookup'}{$value} // $p->{'default'}
1640 0 0 0 $p->{'from'} || $p->{'from_each'} || $p->{'set'}
1692 0 0 0 $p->{'lookup'}{$_} // $p->{'default'}
1696 0 0 0 $p->{'lookup'}{$record->{$source_field}} // $p->{'default'}
1703 0 0 0 $p->{'lookup'}{$record->{$source_field}} // $p->{'default'}
1708 0 0 0 $p->{'lookup'}{$record->{$set_field}} // $p->{'default'}
2244 0 0 0 $field_list || $request->{'field_list'}
2433 0 0 0 not defined $output or $output eq ''
2471 0 0 0 not defined $footer or $footer eq ''