Condition Coverage

blib/lib/XML/SAX/Machine.pm
Criterion Covered Total %
condition 42 83 50.6


and 3 conditions

line !l l&&!r l&&r condition
33 4 42 17 @_ && ref $_[-1] eq 'HASH'
53 0 0 0 exists $$self{'PartsByProcessor'}{$id} && $$self{'PartsByProcessor'}{$id}
90 0 6 0 @names and not length $names[-1]
91 0 6 6 @names and not length $names[0]
153 0 0 4 $fc eq uc $fc and $XML::SAX::Machine::AUTOLOAD =~ /$alpha_first_char/o
306 1 0 5 @$hs == 1 and $proc->can('set_handler')
488 39 49 0 not $type and $spec =~ /^\s*([>|]|\+>)/
530 0 0 86 defined $prospect and length $prospect
533 1 9 76 $fc eq uc $fc && $prospect =~ /$is_name_like/o
574 1 0 74 _valid_name $name and $name ne 'Exhaust'
842 0 54 4 defined $_ && !$self->_find_part_rec($_)
3 16 58 !ref($_) && $_ ne 'Exhaust'
951 0 0 0 $h_spec eq 'Exhaust' and defined $$self{'Handler'}
960 0 0 0 not $part_rec and defined $$options{'RootMachine'}
0 0 0 not $part_rec and defined $$options{'RootMachine'} and $h_spec != /^-?\d+$/

or 2 conditions

line l !l condition
299 0 10 $type ||= 'Handler'
368 0 0 $$self{'TraceAdHocParts'} ||= 1
571 0 2 $$self{'OverusedNames'}{$name} ||= undef
574 0 1 $$self{'IllegalNames'}{$name} ||= undef

or 3 conditions

line l !l&&r !l&&!r condition
31 0 63 0 ref $proto || $proto
60 2 0 56 $id > $#{$$self{'Parts'};} or $id < -($#{$$self{'Parts'};} + 1)
488 16 1 88 $type eq 'SCALAR' or $type eq 'GLOB'
17 0 88 $type eq 'SCALAR' or $type eq 'GLOB' or UNIVERSAL::isa($spec, 'IO::Handle')
1 0 88 $type eq 'SCALAR' or $type eq 'GLOB' or UNIVERSAL::isa($spec, 'IO::Handle') or not $type and $spec =~ /^\s*([>|]|\+>)/
513 29 18 2 $spec->can('new') or eval "require $spec"
901 1 5 0 $unique_cycles{$key} ||= $cycle
969 0 0 0 $$part_rec{'Name'} || $h_spec
1130 0 107 0 ref $proto || $proto
1144 16 0 0 ref $$self{'Processor'} || $$self{'Processor'}