Branch Coverage

blib/lib/String/Divert.pm
Criterion Covered Total %
branch 66 148 44.5


line true false branch
96 0 1 if $@
107 0 14 if @{$$self{'diversion'};} > 0
109 2 12 if (defined $name)
119 0 3 if @{$$self{'diversion'};} > 0
121 3 0 if (defined $mode)
122 0 3 unless $mode =~ /^(none|once|always)$/
133 0 0 if @{$$self{'diversion'};} > 0
135 0 0 if (defined $mode)
136 0 0 unless $mode =~ /^(none|fold|all)$/
147 0 0 if @{$$self{'diversion'};} > 0
149 0 0 if (defined $mode)
150 0 0 unless $mode =~ /^(clone|pass)$/
164 0 0 if $prolog ne '' and not $$self{'storage'} =~ /^(none|fold)/
165 0 0 if $id eq ''
167 0 0 if ($$self{'storage'} ne 'none')
169 0 0 unless defined $object
170 0 0 unless defined $object
176 29 0 if $string ne '' and not $$self{'storage'} =~ /^(none|fold)/
184 0 11 if @{$$self{'diversion'};} > 0
185 0 11 unless defined $obj
187 0 11 if (&_isobj($obj)) { }
189 0 0 if ref $obj
195 0 11 if ref $chunk
205 4 21 if @{$$self{'diversion'};} > 0
206 0 21 unless defined $obj
208 3 18 if ($$self{'overwrite'} eq 'once' or $$self{'overwrite'} eq 'always') { }
211 1 2 if $$self{'overwrite'} eq 'once'
215 0 18 if (&_isobj($obj)) { }
217 0 0 if ref $obj
221 6 12 if (ref $chunk or @{$$self{'chunks'};} > 0 and ref $$self{'chunks'}[-1]) { }
6 6 elsif (@{$$self{'chunks'};} > 0) { }
223 0 6 if ref $chunk
241 2 25 if @{$$self{'diversion'};} > 0
249 0 45 if (grep {&_isobjeq($_, $self);} @{$visit;})
256 20 60 if (ref $chunk) { }
263 20 0 if ($string =~ /([^\n]+)$/s and not $string =~ /\n$/s)
268 20 0 if $prefix ne ''
283 0 0 if @{$$self{'diversion'};} > 0
286 0 0 if (ref $chunk) { }
292 0 0 if $string
301 1 6 if @{$$self{'diversion'};} > 0
302 0 6 if $$self{'storage'} eq 'none'
303 0 6 unless defined $id
305 0 6 if (ref $id) { }
306 0 0 unless &_isobj($id)
314 5 1 unless defined $object
315 0 6 unless defined $object
327 0 0 if @{$$self{'diversion'};} > 0
329 0 0 $string ne '' ? :
358 16 4 if (defined $id) { }
361 11 16 if (ref $chunk)
362 8 3 if (ref $id and &_isobjeq($chunk, $id) or not ref $id and $chunk->name eq $id)
368 3 0 if defined $folding
376 3 7 if (ref $chunk)
390 1 0 if (defined $a and defined $b) { }
394 0 1 if not defined $id or defined $id and $id ne 'foo'
402 0 0 if $$self{'storage'} eq 'none'
403 0 0 unless defined $a
414 0 5 if (not defined $id) { }
418 0 0 if defined $object
420 0 0 unless defined $object
426 0 5 unless defined $object
436 2 2 unless defined $num
437 0 4 unless ($num =~ /^\d+$/)
441 0 0 if $$self{'diversion'}[-$num]{'name'} eq $name
444 0 0 if $num > @{$$self{'diversion'};}
446 2 2 if $num == 0
449 0 4 if $num > @{$$self{'diversion'};}
459 0 2 if (not wantarray) { }
487 166 11 ref $_[0] eq 'String::Divert' ? :
488 120 57 if (defined $_[1])
489 5 115 if ($_[1]) { }
581 0 0 if ($$self{'copying'} eq 'pass') { }
608 0 0 $reverse ? :