Branch Coverage

blib/lib/Positron/DataTemplate.pm
Criterion Covered Total %
branch 142 162 87.6


line true false branch
145 2 128 unless defined $template
150 0 127 if (wantarray and $interpolate and ref $return eq 'ARRAY') { }
159 459 218 if (not ref $template) { }
141 77 elsif (ref $template eq 'ARRAY') { }
77 0 elsif (ref $template eq 'HASH') { }
171 10 449 unless $template
173 49 400 if ($template =~ / \A [&,] (-?) (.*) \z/msx) { }
70 330 elsif ($template =~ / \A \$ (.*) \z/msx) { }
4 326 elsif ($template =~ / \A \x23 (\+?) /msx) { }
1 325 elsif ($template =~ / \A = \s* (\w+) \s+ (.*) /msx) { }
9 316 elsif ($template =~ / \A ([.:]) (-?) \s* ([^\s-].*) /msx) { }
12 304 elsif ($template =~ / \A \: (-?) \s* \z /msx) { }
3 301 elsif ($template =~ / \A \^ (-?) \s* (.*) /msx) { }
174 6 43 if ($1)
176 3 46 if ($expr eq ':') { }
188 1 3 $1 ? :
195 1 8 if ($2)
197 2 7 if ($1 eq ':')
207 9 9 if (-f $path . $filename)
211 9 0 if ($file) { }
221 3 9 if ($1)
240 1 2 $2 ? :
252 0 167 unless @$template
254 13 154 if ($elements[0] =~ / \A \@ (-?) (.*) \z/msx) { }
21 133 elsif ($elements[0] =~ / \A \? (-?) (.*) \z/msx) { }
256 5 8 if ($1)
261 0 13 unless (ref $list eq 'ARRAY')
276 2 19 if ($1)
279 19 2 @elements > 1 ? :
283 1 5 unless ($cond or $has_else)
290 15 5 $cond ? :
304 4 338 if ($element =~ m[ \A // (-?) ]msx) { }
3 335 elsif ($element =~ m[ \A / (-?) ]msx) { }
3 332 elsif ($skip_next) { }
6 326 elsif ($element =~ / \A \^ (-?) \s* ([^\s-].*) /msx) { }
11 315 elsif ($element =~ / \A \: (-?) \s* ([^\s-].*) /msx) { }
9 306 elsif ($element =~ / \A = (-?) \s* (\w+) \s+ (.*) /msx) { }
5 301 elsif ($capturing_function) { }
11 290 elsif ($capturing_wrap) { }
13 277 elsif ($element =~ / \A < /msx) { }
305 1 2 if ($is_first_element and $1)
308 1 1 if ($is_first_element and $1)
313 1 4 if ($is_first_element and $1)
317 6 5 $1 ? :
319 0 11 unless ($filename)
327 11 11 if (-f $path . $filename)
331 11 0 if ($file) { }
339 3 3 if ($is_first_element and $1)
349 0 5 if (ref $arg eq 'ARRAY' and $i) { }
0 5 elsif (ref $arg eq 'HASH' and $i) { }
366 6 5 if (ref $result eq 'ARRAY' and $i) { }
0 5 elsif (ref $result eq 'HASH' and $i) { }
382 32 6 if (ref $results[0] eq 'ARRAY') { }
3 3 elsif (($results[0] // '') eq '') { }
399 1 132 if ($capturing_function)
403 0 133 if ($capturing_wrap)
407 0 0 if (ref $result eq 'ARRAY' and $i) { }
0 0 elsif (ref $result eq 'HASH' and $i) { }
420 1 76 unless %$template
425 2 117 if ($key =~ / \A \% (.*) \z /msx) { }
8 109 elsif ($key =~ / \A \| (.*) \z /msx) { }
432 2 74 if ($hash_construct) { }
8 66 elsif ($switch_construct) { }
434 0 2 unless ref $e_content eq 'HASH'
438 0 4 unless ref $t_content eq 'HASH'
447 0 8 defined $e_content && $e_content =~ / \A \|/msx ? :
448 4 4 if (defined $e_content and exists $$template{$$switch_construct[0]}{$qe_content}) { }
3 1 elsif (exists $$template{$$switch_construct[0]}{'|'}) { }
461 3 47 if ($a =~ / \A < /msx) { }
462 0 3 if ($b =~ / \A < /msx) { }
468 3 44 if ($b =~ / \A < /msx) { }
477 6 103 if ($key =~ / \A < /msx)
483 1 102 if ($key =~ m[ \A / ]msx)
487 1 101 if ($value =~ m[ \A / ]msx)
491 1 100 if ($key =~ / \A \^ \s* (.*)/msx)
502 2 98 if ($key =~ / \A : (-?) \s* (.+) /msx)
511 2 2 if (-f $path . $filename)
515 2 0 if ($file) { }
529 1 97 if ($key =~ / \A = (-?) \s* (\w+) \s+ (.*) /msx)
543 2 95 if ($key =~ / \A \? \s* (.*)/msx)
547 1 1 if ($cond) { }