Condition Coverage

lib/Web/DataService/Node.pm
Criterion Covered Total %
condition 20 135 14.8


and 3 conditions

line !l l&&!r l&&r condition
114 0 0 2 defined $item->{'path'} and $item->{'path'} ne ''
117 1 1 0 $item->{'path'} ne '/' and $item->{'path'} =~ qr" ^ / | / $ | // | [?#] "sx
271 0 0 0 $place > 0 and defined $list
0 0 0 $place > 0 and defined $list and $list ne ''
291 2 0 0 $role and not $Web::DataService::ONE_REQUEST
345 2 0 0 $method and $attr_count > 1
361 0 0 2 ref $allow_format and &reftype($allow_format) eq 'HASH'
378 0 0 2 ref $allow_vocab and &reftype($allow_vocab) eq 'HASH'
393 2 0 0 defined $place and not $place =~ qr/^[0-9]+$/
430 0 0 0 defined $item->{'path'} and $item->{'path'} ne ''
433 0 0 0 $item->{'path'} ne '/' and $item->{'path'} =~ qr" ^ / | / $ | // | [?#] "sx
472 0 0 0 defined $place and $place =~ qr/^[0-9]+$/
475 0 0 0 defined $list and $list ne ''
514 0 0 0 defined $item->{'path'} and $item->{'path'} ne ''
0 0 0 defined $item->{'type'} and $item->{'type'} ne ''
517 0 0 0 $item->{'path'} ne '/' and $item->{'path'} =~ qr" ^ / | / $ | // | [?#] "sx
660 0 0 0 $ds->{'node_attrs'}{$path} && !$ds->{'node_attrs'}{$path}{'disabled'}
677 19 0 0 ref $path and &reftype($path) eq 'HASH'
701 0 0 17 $key and defined $NODE_DEF{$key}
702 0 0 17 defined $path and $path ne ''
825 0 0 0 defined $1 and $1 eq '-'
847 0 0 1 defined $v and $v ne ''
855 0 0 0 ref $inherited_value eq 'ARRAY' and @$inherited_value
953 3 0 0 $node->{'doc_string'} ne '' and $doc ne ''

or 2 conditions

line l !l condition
547 0 0 $item->{'disp'} || ''
548 0 0 $item->{'type'} || 'node'
576 0 0 $ds->{'extdoc_node'}{$path} ||= {'path', $path, 'disp', 'para', 'type', 'node'}
589 0 0 $ds->{'extdoc_format'}{$name} ||= {'name', $name, 'disp', 'para', 'type', 'format'}
602 0 0 $ds->{'extdoc_vocab'}{$name} ||= {'name', $name, 'disp', $disp, 'type', 'vocab'}
679 0 0 $path->{'node_path'} || '/'
727 24 0 $ds->{'attr_cache'}{$path} //= {}
819 0 0 $ds->{'node_attrs'}{$path}{$key} // ''
843 1 0 $ds->{'node_attrs'}{$path}{$key} // ''

or 3 conditions

line l !l&&r !l&&!r condition
184 0 0 6 not defined $value or $value eq ''
207 0 0 0 ref $v eq 'CODE' or not ref $v
214 0 0 0 ref $value eq 'CODE' or not ref $value
230 0 0 0 $value =~ qr/ ^ (?> [\w.:][\w.:-]* | \s*,\s* )* $ /sx or $value =~ qr/ ^ (?> [+-][\w.:][\w.:-]* | \s*,\s* )* $ /sx
268 0 0 0 $node_attrs->{'list'} // $ds->path_parent($path)
514 0 0 0 defined $item->{'path'} and $item->{'path'} ne '' or defined $item->{'type'} and $item->{'type'} ne ''
550 0 0 0 $path || $item->{'name'}
562 0 0 0 $disp eq '' or $disp eq 'replace'
0 0 0 $disp eq '' or $disp eq 'replace' or $disp eq 'add'
0 0 0 $disp eq '' or $disp eq 'replace' or $disp eq 'add' or $disp eq 'para'
615 0 0 0 $type eq 'node' or $type eq 'format'
0 0 0 $type eq 'node' or $type eq 'format' or $type eq 'vocab'
629 0 0 0 $item->{'path'} || $item->{'name'}
743 19 0 2 not exists $ds->{'node_attrs'}{$path}{$key} or $ds->{'path_compose'}{$path}{$key}
898 1 0 1 $path eq '/' or $path eq ''