Branch Coverage

blib/lib/Dotiac/DTL/Filter.pm
Criterion Covered Total %
branch 416 634 65.6


line true false branch
26 8 16 if $value->number and $add->number
27 16 8 unless $value->number and $add->number
48 0 16 unless $length->number
51 4 12 if $padding
55 8 8 $len % 2 ? :
82 0 16 unless $value->number or $value->array
86 0 16 if (not defined $string && $string->scalar) { }
95 12 4 if ($value->number) { }
104 8 328 if ($s eq '\\') { }
8 320 elsif ($s eq 'a') { }
8 312 elsif ($s eq 'A') { }
8 304 elsif ($s eq 'b') { }
8 296 elsif ($s eq 'd') { }
8 288 elsif ($s eq 'D') { }
8 280 elsif ($s eq 'f') { }
16 264 elsif ($s eq 'F') { }
8 256 elsif ($s eq 'g') { }
8 248 elsif ($s eq 'G') { }
8 240 elsif ($s eq 'h') { }
16 224 elsif ($s eq 'H') { }
16 208 elsif ($s eq 'i') { }
16 192 elsif ($s eq 'j') { }
8 184 elsif ($s eq 'l') { }
8 176 elsif ($s eq 'L') { }
8 168 elsif ($s eq 'm') { }
8 160 elsif ($s eq 'M') { }
8 152 elsif ($s eq 'n') { }
8 144 elsif ($s eq 'N') { }
8 136 elsif ($s eq 'O') { }
8 128 elsif ($s eq 'P') { }
8 120 elsif ($s eq 'r') { }
8 112 elsif ($s eq 's') { }
16 96 elsif ($s eq 'S') { }
8 88 elsif ($s eq 't') { }
0 88 elsif ($s eq 'T') { }
0 88 elsif ($s eq 't') { }
4 84 elsif ($s eq 'W') { }
8 76 elsif ($s eq 'y') { }
16 60 elsif ($s eq 'Y') { }
8 52 elsif ($s eq 'z') { }
0 52 elsif ($s eq 'Z') { }
0 52 elsif ($s eq "\n") { }
0 52 elsif ($s eq "\t") { }
8 44 elsif ($s eq "\f") { }
0 44 elsif ($s eq "\cH") { }
0 44 elsif ($s eq "\r") { }
108 4 4 if ($t[2] > 12 or $t[2] == 12 and $t[1] > 0) { }
116 4 4 if ($t[2] > 12 or $t[2] == 12 and $t[1] > 0) { }
135 0 8 unless $h
137 8 0 if $t[1]
145 0 8 unless $h
154 0 8 unless $h
171 0 8 !($d % 4) && $d % 100 || !($d % 400) ? :
187 0 8 if $t[8]
191 0 8 if ($t[2] == 12 and $t[1] == 0) { }
0 8 elsif ($t[2] == 0 and $t[1] == 0) { }
200 0 8 unless $h
202 8 0 if $t[1]
203 4 4 if ($t[2] > 12 or $t[2] == 12 and $t[1] > 0) { }
219 0 8 if $t[8]
226 8 8 if ($datesuffixes[$t[3]]) { }
234 0 8 if ($t[4] == 1 or $t[4] == 3 or $t[4] == 5 or $t[4] == 7 or $t[4] == 8 or $t[4] == 10 or $t[4] == 12) { }
0 8 elsif ($t[4] == 2) { }
239 0 0 if (not $d % 4 and $d % 100 or not $d % 400) { }
272 0 0 if $t[8]
300 32 0 unless $val->true
307 12 0 unless $val->defined
313 0 20 unless $value->array
315 8 12 unless ($by)
316 40 24 if (&Scalar::Util::looks_like_number($a) and &Scalar::Util::looks_like_number($b)) { }
328 56 0 if (ref $a)
329 36 20 if &Scalar::Util::reftype($a) eq 'HASH' and exists $$a{$by}
330 20 0 if &Scalar::Util::reftype($a) eq 'ARRAY' and &Scalar::Util::looks_like_number($by) and exists $$a[$by]
331 0 56 if &Scalar::Util::blessed($a) and $a->can($by)
334 56 0 if (ref $b)
335 36 20 if &Scalar::Util::reftype($b) eq 'HASH' and $$b{$by}
336 20 0 if &Scalar::Util::reftype($a) eq 'ARRAY' and &Scalar::Util::looks_like_number($by) and exists $$b[$by]
337 0 56 if &Scalar::Util::blessed($b) and $b->can($by)
339 16 40 if (&Scalar::Util::looks_like_number($aa) and &Scalar::Util::looks_like_number($bb)) { }
352 0 20 unless $value->array
354 8 12 unless ($by)
355 40 24 if (&Scalar::Util::looks_like_number($a) and &Scalar::Util::looks_like_number($b)) { }
367 56 0 if (ref $a)
368 36 20 if &Scalar::Util::reftype($a) eq 'HASH' and exists $$a{$by}
369 20 0 if &Scalar::Util::reftype($a) eq 'ARRAY' and &Scalar::Util::looks_like_number($by) and exists $$a[$by]
370 0 56 if &Scalar::Util::blessed($a) and $a->can($by)
373 56 0 if (ref $b)
374 36 20 if &Scalar::Util::reftype($b) eq 'HASH' and $$b{$by}
375 20 0 if &Scalar::Util::reftype($a) eq 'ARRAY' and &Scalar::Util::looks_like_number($by) and exists $$b[$by]
376 0 56 if &Scalar::Util::blessed($b) and $b->can($by)
378 16 40 if (&Scalar::Util::looks_like_number($aa) and &Scalar::Util::looks_like_number($bb)) { }
391 4 8 unless $value->number
393 0 8 unless $by
394 0 8 unless $by->number
440 0 12 unless $val->number
447 8 4 if ($value < 10) { }
455 0 12 if $floatformatlocale
462 0 12 if ($value->object)
463 0 0 if ($value->content->can('__getitem__'))
465 0 0 if (defined $x)
471 8 4 if ($value->array) { }
4 0 elsif ($value->hash) { }
491 0 16 unless $val->number
494 4 12 if ($arg and not $arg->number)
498 8 4 if ($arg) { }
506 8 4 unless ($skip)
507 0 8 if $floatformatlocale
513 0 4 if $floatformatlocale
536 4 8 unless $value->number
539 0 8 unless defined $pos and $pos->number
541 0 8 if $pos < 1
542 4 4 if $pos > CORE::length $val
562 16 4 if ($j) { }
568 0 20 if ($value->object)
569 0 0 if ($value->content->can('__len__') and $value->content->can('__getitem__'))
577 0 0 if ($value->content->can('count') and $value->content->can('__getitem__'))
586 20 0 if $value->array
587 0 20 if $value->hash
593 0 12 if ($value->object)
594 0 0 if ($value->content->can('__len__') and $value->content->can('__getitem__'))
596 0 0 if (defined $x)
601 0 0 if ($value->content->can('count') and $value->content->can('__getitem__'))
603 0 0 if (defined $x)
609 8 4 if ($value->array) { }
4 0 elsif ($value->hash) { }
610 4 4 if (@{$value->content;}) { }
619 4 0 if (@a) { }
631 0 12 if $value->undef
632 4 8 if $value->scalar
633 0 8 if $value->object and $value->content->can('count')
634 0 8 if $value->object and $value->content->can('__len__')
635 4 4 if $value->array
636 4 0 if $value->hash
644 12 0 if ($is->number) { }
650 0 12 unless defined $is and &Scalar::Util::looks_like_number($is)
651 0 12 if $value->undef
652 4 8 if $value->scalar
653 0 8 if $value->object and $value->content->can('count')
654 0 8 if $value->object and $value->content->can('__len__')
655 4 4 if $value->array
656 4 0 if $value->hash
678 0 12 unless $value
689 0 16 unless $length->number
692 4 12 if $padding
710 4 16 if ($by)
731 32 0 if $value->scalar
732 32 0 if $value->number
733 0 32 if $value->hash
734 0 32 if $value->array
736 24 8 if (@_)
737 24 0 if @_
742 8 24 if (@_) { }
750 16 16 unless ($p)
754 16 16 $val == 1 ? :
765 0 12 if ($value->object)
766 0 0 if ($value->content->can('__len__') and $value->content->can('__getitem__'))
768 0 0 if (defined $x)
772 0 0 if ($value->content->can('count') and $value->content->can('__getitem__'))
774 0 0 if (defined $x)
779 8 4 if ($value->array) { }
4 0 elsif ($value->hash) { }
780 4 4 if (@{$value->content;}) { }
789 4 0 if (@a) { }
804 12 0 if ($tags)
815 0 16 unless $length->number
818 4 12 if $padding
835 0 40 unless $value->hash or $value->array
837 0 40 unless $slice
842 20 20 if $value->array
843 20 20 if $value->hash
846 8 32 unless ($#slice)
847 0 8 unless &Scalar::Util::looks_like_number($slice[0])
848 4 4 if $value->array
849 4 0 if $value->hash
853 16 16 if $slice[1] > 0
854 8 24 unless $slice[1]
855 16 16 if $value->array
856 16 0 if $value->hash
878 0 12 unless $format
881 4 8 if ($format =~ tr/r/s/) { }
892 12 0 unless $@
907 0 12 unless $value->number or $value->array
911 0 12 if (not defined $string && $string->scalar) { }
920 8 4 if ($value->number) { }
929 0 80 if ($s eq '\\') { }
4 76 elsif ($s eq 'a') { }
4 72 elsif ($s eq 'A') { }
4 68 elsif ($s eq 'f') { }
4 64 elsif ($s eq 'g') { }
4 60 elsif ($s eq 'G') { }
4 56 elsif ($s eq 'h') { }
8 48 elsif ($s eq 'H') { }
8 40 elsif ($s eq 'i') { }
4 36 elsif ($s eq 'O') { }
8 28 elsif ($s eq 'P') { }
4 24 elsif ($s eq 's') { }
4 20 elsif ($s eq 'Z') { }
4 16 elsif ($s eq "\n") { }
0 16 elsif ($s eq "\t") { }
4 12 elsif ($s eq "\f") { }
4 8 elsif ($s eq "\cH") { }
4 4 elsif ($s eq "\r") { }
933 4 0 if ($t[2] > 12 or $t[2] == 12 and $t[1] > 0) { }
941 4 0 if ($t[2] > 12 or $t[2] == 12 and $t[1] > 0) { }
951 0 4 unless $h
953 4 0 if $t[1]
958 0 4 unless $h
967 0 4 unless $h
978 0 4 if $t[8]
982 0 8 if ($t[2] == 12 and $t[1] == 0) { }
0 8 elsif ($t[2] == 0 and $t[1] == 0) { }
991 0 8 unless $h
993 8 0 if $t[1]
994 8 0 if ($t[2] > 12 or $t[2] == 12 and $t[1] > 0) { }
1008 0 4 if $t[8]
1037 0 20 unless $val->number
1040 20 0 if ($comp and $comp->number) { }
1047 0 20 if $dist < 60
1055 0 20 if ($m) { }
1063 8 12 if (@_)
1064 0 0 $y == 1 ? :
0 8 $y ? :
0 0 $m == 1 ? :
4 0 $w == 1 ? :
4 4 $w ? :
0 8 $m ? :
4 4 $d == 1 ? :
8 0 $d ? :
0 8 $h == 1 ? :
8 0 $h ? :
0 8 $mi == 1 ? :
8 0 $mi ? :
1068 0 0 $y == 1 ? :
0 12 if $y
1069 0 0 $m == 1 ? :
0 12 if $m
1070 4 0 $w == 1 ? :
4 8 if $w
1071 0 0 $d == 1 ? :
0 8 if $d
1072 4 0 $h == 1 ? :
0 4 $mi == 1 ? :
4 0 $mi ? :
4 4 if $h
1073 4 0 $mi == 1 ? :
4 0 if $mi
1079 0 20 unless $val->number
1082 20 0 if ($comp and $comp->number) { }
1089 0 20 if $dist < 60
1097 0 20 if ($m) { }
1105 8 12 if (@_)
1106 0 0 $y == 1 ? :
0 8 $y ? :
0 0 $m == 1 ? :
4 0 $w == 1 ? :
4 4 $w ? :
0 8 $m ? :
4 4 $d == 1 ? :
8 0 $d ? :
0 8 $h == 1 ? :
8 0 $h ? :
0 8 $mi == 1 ? :
8 0 $mi ? :
1110 0 0 $y == 1 ? :
0 12 if $y
1111 0 0 $m == 1 ? :
0 12 if $m
1112 4 0 $w == 1 ? :
4 8 if $w
1113 0 0 $d == 1 ? :
0 8 if $d
1114 4 0 $h == 1 ? :
0 4 $mi == 1 ? :
4 0 $mi ? :
4 4 if $h
1115 4 0 $mi == 1 ? :
4 0 if $mi
1129 0 8 unless $words and $words->number
1132 4 4 if $words >= $#val
1134 0 4 $val[$words] =~ /\.\.\./ ? :
1143 0 8 unless $words and $words->number
1150 36 24 if ($a = $value =~ /\G(\s*[^<\s]+\s*)/g) { }
1159 24 0 if ($a = $value =~ /\G\s*
1160 24 0 if ($a = $value =~ /([^>]+)>/g) { }
1163 0 24 if ($tag eq '/') { }
8 16 elsif ($tag =~ s[^/][]) { }
0 16 elsif ($tag =~ s[/$][]) { }
1172 8 0 if ($t eq $tag)
1183 16 0 unless $singletags{$tag}
1196 4 4 if $words > 0
1198 4 0 unless $ret =~ /\.\.\.$/
1237 0 4 if $value->scalar
1238 0 4 unless $value->array
1240 0 0 if (@loop == 2 and ref $loop[1] and &Scalar::Util::reftype($loop[1]) eq 'ARRAY' and ref $loop[1][0] || !@{$loop[1];})
1268 100 4 if (@_)
1270 4 96 if ref $safe
1272 64 40 unless $safe
1283 0 8 $a =~ m[\w+://] ? :
1291 8 0 if ($len and $len->number) { }
1297 0 8 unless $len
1299 0 8 $a =~ m[\w+://] ? :
0 8 $len >= CORE::length $a ? :
1315 4 0 if ($len and $len->number) { }
1321 0 4 unless $len
1326 0 20 unless $word
1327 16 4 if (CORE::length $line . $space . $word > $len) { }
1344 24 24 if (@_)
1347 0 24 unless $yes
1348 0 24 unless $no
1349 12 12 unless $undef
1350 8 16 if $value->true
1351 8 8 if $value->undef
1354 24 0 if ($yes) { }
1361 0 24 unless $no
1362 12 12 unless $undef
1363 8 16 if $value->true
1364 8 8 if $value->undef