Branch Coverage

blib/lib/Dotiac/DTL/Core.pm
Criterion Covered Total %
branch 80 156 51.2


line true false branch
65 0 2 if (ref $data eq 'SCALAR') { }
2 0 elsif (not ref $data) { }
72 1 1 if (-e "$data.pm")
73 0 0 if ($cache{"$data.pm"} and exists $cache{"$data.pm"}{'changetime'} and $cache{"$data.pm"}{'changetime'} < (stat "$data.pm")[9])
78 0 1 if (-e $data) { }
79 0 0 if ((stat "$data.pm")[9] >= (stat "$data")[9]) { }
81 0 0 unless $cache{"$data.pm"}
90 0 0 unless (eval { do { $cache{"$data.pm"} = {'template', 'Dotiac::DTLCompiled'->new('Dotiac::DTL::Compiled::' . (require "$data.pm")), 'currentdir', $Dotiac::DTL::currentdir, 'params', {%params}, 'parser', $PARSER, 'changetime', (stat "$data.pm")[9]} unless $cache{"$data.pm"}; $t = "$data.pm"; 1 } })
98 0 0 unless $cache{"$data.pm"}
107 0 0 unless (eval { do { $cache{"$data.pm"} = {'template', 'Dotiac::DTLCompiled'->new('Dotiac::DTL::Compiled::' . (require "$data.pm")), 'currentdir', $Dotiac::DTL::currentdir, 'params', {%params}, 'parser', $PARSER, 'changetime', (stat "$data.pm")[9]} unless $cache{"$data.pm"}; $t = "$data.pm"; 1 } })
115 1 0 unless $cache{"$data.pm"}
124 0 1 unless (eval { do { $cache{"$data.pm"} = {'template', 'Dotiac::DTL::Compiled'->new('Dotiac::DTL::Compiled::' . (require "$data.pm")), 'currentdir', $Dotiac::DTL::currentdir, 'params', {%params}, 'parser', $PARSER, 'changetime', (stat "$data.pm")[9]} unless $cache{"$data.pm"}; $t = "$data.pm"; 1 } })
130 1 1 unless ($cache{$t})
139 1 0 if ($cache{$t}) { }
152 30 0 unless ($ALLOWED_INCLUDE_ROOTS and int $ALLOWED_INCLUDE_ROOTS > 2)
157 2 28 unless (-e $file or -e "$file.pm")
159 2 0 if -e $rfile or -e "$rfile.pm"
176 0 1 unless (eval { do { $f = 'Dotiac::DTL::Compiled'->new($name); 1 } })
219 2 410 if not defined $x or ref $x
222 298 4 if ($1 eq '"') { }
224 0 298 unless pos $x
231 0 4 unless pos $x
236 0 302 unless pos $x
239 71 341 if (@_)
251 124 12 if (@l) { }
255 4 120 if ($words{$next}) { }
281 4 4 if $_[0]
287 0 0 unless $var
288 0 0 unless ref $var
289 0 0 if &Scalar::Util::blessed($var) and $var->can('count')
290 0 0 if &Scalar::Util::blessed($var)
291 0 0 if ref $var eq 'ARRAY'
292 0 0 if ref $var eq 'HASH'
302 12 1356 unless (&Scalar::Util::blessed($value) and $value->isa('Dotiac::DTL::Value'))
310 464 472 defined $param ? :
312 0 936 if ($@)
315 0 936 unless &Scalar::Util::blessed($value) and $value->isa('Dotiac::DTL::Value')
322 0 393 unless defined $name
328 365 28 unless (@data)
338 0 0 unless defined $name
344 0 0 unless (@data)
354 0 1194 unless defined $name
360 1170 24 unless (@data)
370 0 172 unless defined $name
376 132 40 unless (@data)
378 0 132 unless ref $var
388 0 16 unless defined $name
394 16 0 unless (@data)
396 0 16 unless ref $var
407 0 3359 unless defined $name
414 0 3359 unless ref $param
415 0 3359 unless defined $escape
418 0 3359 if $f eq q['] and $l eq q['] or $f eq '"' and $l eq '"'
419 1085 2274 if $f eq '`' and $l eq '`'
420 0 2274 if ($name eq 'block.super' and $$param{'block.super'})
421 0 0 if &Scalar::Util::blessed($$param{'block.super'})
422 0 0 if ref $$param{'block.super'} eq 'CODE'
424 1498 776 if exists $$param{$name}
427 136 640 unless (exists $$param{$name})
428 64 72 unless $n =~ /[^\d\-\.\,\e]/
429 4 68 if ($cycle{$name} and $cycle{$name}[1])
430 0 4 if $included{"cycle_$name"}++
440 684 0 if ($r)
441 628 56 if ($r eq 'HASH') { }
56 0 elsif ($r eq 'ARRAY') { }
442 16 612 if (not exists $$param{$name}) { }
443 12 4 unless blessed $param
451 8 48 if ($name =~ /\D/) { }
452 0 8 unless blessed $param
455 0 48 if (not exists $$param[$name]) { }
456 0 0 unless blessed $param
465 12 0 if (blessed $param)
466 0 12 unless $ALLOW_METHOD_CALLS
467 12 0 if ($param->can($name)) { }
0 0 elsif ($param->can('__getitem__')) { }
473 0 0 unless eval { do { $x = $param->__getitem__($name); 1 } }
477 0 0 if (defined $x)
484 0 0 unless $n =~ /[^\d\-\.\,\e]/