Branch Coverage

blib/lib/Data/Tubes/Plugin/Plumbing.pm
Criterion Covered Total %
branch 75 102 73.5


line true false branch
35 2 3 if (my(@retval) = &$tube($record))
46 12 2 if (not defined $selector and defined $args->{'key'})
52 20 18 $ref ? :
0 12 $ref eq 'CODE' ? :
55 0 0 unless defined $selector or $args->{'missing_ok'}
66 1 8 unless defined $tube
70 4 4 if ref $cache eq "HASH"
72 7 1 unless (&blessed($cache))
73 7 0 ref $cache ? :
74 0 7 ref $x ? :
76 0 8 $args{'get_options'} ? :
77 0 8 $args{'set_options'} ? :
82 0 8 if not defined $selector and defined $args{'output'}
86 3 5 if defined $cleaner and not ref $cleaner
90 0 8 if defined $merger and not ref $merger
95 18 0 $selector ? :
97 13 5 unless ($data)
99 2 11 if (scalar @oc == 2) { }
10 1 elsif (scalar @oc) { }
100 1 1 $oc[0] eq 'records' ? :
101 2 0 if defined $output
105 10 0 defined $output ? :
112 6 7 if $cleaner
115 1 17 unless scalar @$data
117 15 2 if (scalar @$data == 1)
118 2 13 if $merger
119 0 13 unless $output
131 2 0 $output ? :
0 2 $merger ? :
148 0 6 unless (defined $factory)
158 5 1 unless $args{'handlers'}
166 0 24 unless defined $key
173 2 12 exists $predefined_for{$key} ? :
183 0 7 unless eval {
203 10 6 if $catch
208 7 15 unless $do_fallback
219 0 1 if (not defined $mangler) { }
0 1 elsif (ref $mangler ne 'CODE') { }
223 0 0 ref $mangler ? :
254 0 0 unless @record
259 0 15 unless @$tubes
270 0 16 if $logger
282 62 23 unless $f->{'records'}
18 67 @{[] unless $f->{'records'};} ? :
37 85 exists $f->{'iterator'} ? :
62 122 exists $f->{'record'} ? :
284 78 106 unless (@record)
292 37 69 if @stack > @tubes
295 7 62 if $gate and not &$gate($record)
298 0 62 unless my(@outcome) = $tubes[$pos]($record)
301 46 16 if @outcome == 1