Branch Coverage

blib/lib/XML/Filter/Dispatcher/Ops.pm
Criterion Covered Total %
branch 55 324 16.9


line true false branch
41 0 1 unless eval 'sub emit_trace_SAX_message; 1'
190 0 10 unless defined $_[0]
195 0 0 if $path->isa('XFD::PathTest') and $path->isa('XFD::doc_node') and not $path->isa('XFD::union')
258 0 0 if @_ > 2
261 0 0 if (defined $1)
308 35 10 if (defined $_ and UNIVERSAL::isa($_, 'XFD::Op'))
309 0 5 if (not $$context{'BelowRoot'} and $_->isa('XFD::Axis::child') || $_->isa('XFD::Axis::attribute') || $_->isa('XFD::Axis::start_element') || $_->isa('XFD::Axis::end_element'))
338 25 10 unless $_->isa('XFD::Parens') or $_->isa('XFD::union') or $_->isa('XFD::Action') or $_->isa('XFD::Rule')
367 0 0 UNIVERSAL::can($_, '_add_to_graphviz') ? :
0 0 $self->can('parm_type') ? :
0 0 defined $_ ? :
0 0 ref $_ ? :
382 0 0 $self->isa('XFD::Action') && $$self[0]{'DelayToEnd'} ? :
0 0 $port_labels eq '' ? :
394 0 0 $self->isa('XFD::Action') ? :
0 0 $self->is_constant ? :
408 0 0 if (UNIVERSAL::can($_, '_add_to_graphviz'))
410 0 0 $port_labels eq '' ? :
424 0 0 @_ ? :
466 0 0 unless $$context{'FoldConstants'}
469 0 0 if $@
473 0 0 if $type eq 'boolean' and not length $out_code
475 0 0 if ref $out_code
476 0 0 if ($type eq 'string')
512 0 5 if keys %{$hash_name;} and exists ${$hash_name;}{$$context{'Axis'}}
520 5 0 if ($self->can('useful_event_contexts') and defined $$context{'PossibleEventTypes'} and @{$$context{'PossibleEventTypes'};})
531 5 10 exists $possibles{$_} ? :
542 0 0 @{$$context{'PossibleEventTypes'};} > 1 ? :
0 0 @{$$context{'PossibleEventTypes'};} ? :
0 5 unless @useful
571 5 0 defined $$self[0] ? :
579 0 35 unless defined $_[0]
580 5 30 if ($$self[-1]) { }
583 0 5 if $self == $_[0]
584 0 5 if $$self[-1] == $_[0]
585 0 5 unless $$self[-1]->can('set_next')
599 0 0 $name =~ /(.*):(.*)/ ? :
604 0 0 length $prefix ? :
0 0 exists $$XFD::dispatcher{'Namespaces'}{$prefix} ? :
610 0 0 unless defined $uri
633 0 0 unless defined $next
644 0 5 unless defined $postamble
646 5 0 if ($preamble =~ s/( *)(?!\n)\Z//)
662 5 0 exists $$possibles{$_} ? :
677 0 5 if $self->can('principal_event_type')
691 5 0 if $set_possibles
693 5 0 if $set_possibles
695 0 5 unless $$self[-1] or $$context{'ActionCode'}
698 5 0 $$self[-1] ? :
718 0 0 $$self[-1] ? :
742 0 0 if $$self[0]->result_type eq 'boolean'
794 0 5 $$self[0]{'DelayToEnd'} && !$$context{'IgnoreDelayToEnd'} ? :
799 1 4 unless ($$context{'CallActionDirectly'})
813 0 5 if (defined $$context{'action_wrapper'})
819 5 0 unless defined $$context{'precursorize_action'}
831 0 4 unless @_
837 0 4 if ($$XFD::dispatcher{'SetXValue'})
838 0 0 $$context{'SetXValuesEntry'} ? :
843 4 0 unless length $xvalue_expr
845 4 0 unless length $xvalue_expr
892 0 1 unless @_
901 1 0 if ($forward_end_event_too)
912 0 1 if (grep((!/^start_/), @{$$context{'PossibleEventTypes'};}))
983 0 5 if ($action_type eq 'ARRAY')
987 0 0 if @rules % 1
1013 0 5 unless (defined $action)
1018 2 3 if ($action_type eq 'SCALAR')
1019 2 0 defined $action ? :
1024 1 2 unless ($action_type)
1044 2 0 if ($action_type eq 'CODE')
1053 0 0 if ($action_type ne 'HASH' and $action_type ne 'REF' and $action_type ne 'Regexp')
1103 0 0 $is_predicate ? :
1110 0 0 if $action_ops
1113 0 0 unless ($$context{'Precursors'})
1114 0 0 if $is_predicate
1141 0 0 if (_is_rel_path($$context{'Precursors'}[$precursor_number]))
1154 0 0 if ($is_predicate) { }
1156 0 0 !defined($$context{'precursorize_action'}) ? :
1162 0 0 $leftmost ? :
1198 0 0 if ($leftmost) { }
1200 0 0 if $$context{'precursorized_action_codes'}
1232 0 0 if ($path_remainder)
1248 0 0 if ($path_remainder)
1381 0 0 unless ("XFD::Function::$real_name"->can('new'))
1382 0 0 if ($had_underscores)
1383 0 0 if ($had_underscores)
1386 0 0 if (defined &{"XFD::Function::$real_name";})
1403 0 0 if @$args
1444 0 0 if defined $max and $min > $max
1448 0 0 if (defined $max and $max == $min) { }
0 0 elsif ($cnt < $min) { }
0 0 elsif (defined $max and $cnt > $max) { }
1449 0 0 unless $cnt == $min
1459 0 0 if defined $msg
1471 0 0 if ($type ne $required_type or $type eq 'nodeset' and $required_type eq 'nodeset')
1475 0 0 if ($cvt->can('new')) { }
1495 0 0 if @errors
1508 0 0 if $self->is_constant
1528 0 0 if defined $parm
1597 0 0 if $type eq 'boolean'
1598 0 0 $value ? :
0 0 if $type eq 'number'
1599 0 0 length $value ? :
0 0 if $type eq 'string'
1616 0 0 if $type eq 'string'
1617 0 0 if $type eq 'number'
1618 0 0 if ($type eq 'boolean')
1619 0 0 UNIVERSAL::isa('XFD::true') ? :
0 0 $value ? :
0 0 ref $value ? :
1641 0 0 if $type eq 'number'
1643 0 0 if ($type eq 'boolean')
1644 0 0 UNIVERSAL::isa('XFD::true') ? :
0 0 $value ? :
0 0 ref $value ? :
1649 0 0 if ($type eq 'string')
1650 0 0 if _looks_numeric $value
1678 0 0 if (defined $expr_code)
1683 0 0 unless $@ eq "precursorize THIS\n"
2090 0 0 unless @$self
2101 0 0 unless @$self
2124 0 0 unless @$self
2134 0 0 unless @$self
2146 0 0 unless @$self
2158 0 0 unless @$self
2185 0 0 unless @$self
2196 0 0 unless @$self
2214 0 0 unless @$self
2225 0 0 shift() == 0 ? :
2237 0 0 if (@args == 2) { }
2241 0 0 if $is_constant[1]
2253 0 0 if ($is_constant[1] and $is_constant[2]) { }
2254 0 0 unless my($pos, $len) = eval $pos_len_code
2263 0 0 if $self->is_constant
2327 12 6 $_ ne 'string' ? :
2345 0 0 if (0 <= index($foo, $_))
2461 0 0 if defined $$self[-1]
2491 0 0 if $$context{'PossibleEventTypes'} and @{$$context{'PossibleEventTypes'};} == 1 and $$context{'PossibleEventTypes'}[0] eq 'attribute'
2568 0 0 unless defined $$XFD::dispatcher{'Namespaces'}
2646 0 10 $_->isa('XFD::union') ? :
2671 0 5 unless $_->isa('XFD::PathTest')
2683 2 2 if @$self == 0
2684 0 2 if @$self == 1
2704 0 5 unless (eval { do { $self->XFD::PathTest::fixup(@_); 1 } })
2720 0 0 unless (defined $r)
2753 0 0 if defined $$self[-1]
2780 0 0 unless $class->can('new')
2825 0 0 unless @curry_tests
2836 0 0 if @curry_tests == 1
2878 0 0 if ($kid and $kid->isa('XFD::namespace_test'))
2880 0 0 if ($gkid and $gkid->isa('XFD::node_local_name'))
2899 0 0 $$XFD::dispatcher{'SortAttributes'} ? :
2944 0 0 unless @curry_tests
2947 0 0 if @curry_tests == 1
3018 0 0 unless @curry_tests
3021 0 0 if @curry_tests == 1
3156 0 0 if (not defined $$context{'precursorize_action'}) { }
3239 0 0 if (not defined $$context{'precursorize_action'}) { }
3373 0 0 defined $$self[-1] ? :
3379 0 0 if defined $$self[-1]
3421 0 0 unless $$context{'PossibleEventTypes'}
3424 0 0 if @possible_event_types == 1 and $possible_event_types[0] eq $desired_event_type