Branch Coverage

lib/Petal/Tiny.pm
Criterion Covered Total %
branch 132 150 88.0


line true false branch
52 13 1 if (defined $thing and $thing =~ /(\<|\n|\>)/) { }
1 0 elsif (defined $thing) { }
56 0 1 unless open my $xmldatafile, '<', $thing
68 0 14 unless defined $data
81 93 277 if ($$node{'_close'}) { }
83 0 93 if $open == $top
84 0 93 if (lc $$node{'_tag'} ne lc $$open{'_tag'})
93 93 184 unless $$node{'_simple'} or $$node{'_selfclose'}
96 0 14 if @nest > 1
106 9 153 unless @$nodes
110 313 275 if ($$node{'_simple'}) { }
124 4 328 if ($string =~ /\$/)
128 10 0 if defined $res
158 188 113 if ($$node{'_has_tal'})
161 3 185 if (defined(my $stuff = delete $$node{"${TAL}:on-error"}))
164 2 1 if ($@)
165 1 16 if $k =~ /^$TAL:/
175 7 178 if (defined(my $stuff = delete $$node{"${TAL}:define"}))
182 13 172 if (defined(my $stuff = delete $$node{"${TAL}:condition"}))
184 5 10 unless $self->resolve_expression($cond, $context)
188 7 173 if (defined(my $stuff = delete $$node{"${TAL}:repeat"}))
194 22 151 if (defined(my $stuff = delete $$node{"${TAL}:content"}))
196 19 1 defined $res ? :
204 116 55 if (defined(my $stuff = delete $$node{"${TAL}:replace"}))
206 115 1 defined $res ? :
209 21 34 if (defined(my $stuff = delete $$node{"${TAL}:attributes"}))
214 34 1 if (defined $new) { }
215 2 32 if ($add)
217 1 1 unless defined $old
223 0 1 unless $add
228 3 52 if (defined(my $stuff = delete $$node{"${TAL}:omit-tag"}))
229 2 1 if ($stuff eq '' or $self->resolve_expression($stuff, $context))
230 0 2 if $STOP_RECURSE
236 146 20 unless ($STOP_RECURSE)
248 1 9 unless ref $array
253 3 23 if (@loops) { }
261 13 10 $$count % 2 ? :
262 13 10 $$count % 2 ? :
263 7 16 $$count == 1 ? :
264 7 16 $last && $idx == $#$array ? :
265 12 11 $$context{'repeat'}{'start'} || $$context{'repeat'}{'end'} ? :
277 0 236 unless defined $expr
283 0 236 if $expr eq 'nothing'
287 4 230 $structure ? :
297 36 246 if ($expr =~ /:(?!pattern)/)
300 36 0 if $meth
303 23 223 if $expr =~ s/^--//
306 2 221 unless defined $what
316 1 343 unless $obj
318 1 342 unless $reftype
320 2 340 if ($reftype eq 'ARRAY') { }
321 19 elsif ($reftype eq 'HASH') { }
19 0 elsif ($obj->can($attribute_or_method)) { }
327 11 8 if (@path) { }
338 1 341 if ($reftype eq 'CODE')
339 0 1 if (@path) { }
349 7 335 if (not @path and @args == 1)
352 2 5 if ($reftype eq 'ARRAY') { }
4 1 elsif ($reftype eq 'HASH') { }
362 1 335 if not @path and @args
371 0 20 if ref $arg and $self->reftype($arg) eq 'ARRAY'
372 11 9 $arg ? :
392 0 167 unless ref $node eq 'HASH'
393 0 167 if $$node{'_simple'}
407 8 159 if ($close)
408 5 2 $att ? :
7 1 $change ? :
411 17 39 $att ? :
56 103 $change ? :
414 0 159 unless defined $contents
422 197 173 if (my($has_close, $tag) = $elem =~ m[ \A < ( /? ) ( [A-Za-z0-9] [A-Za-z0-9_:-]* ) ]x and my($has_self_close) = $elem =~ m[ ( /? ) > \z ]x)
425 93 104 if $has_close
458 92 9 if ($key =~ /^(.*?):/)
459 10 82 if ($1 eq 'xmlns' and $attr{$key} eq 'http://purl.org/petal/1.0/')
487 61 169 if not $string or ref $string