Branch Coverage

lib/BarefootJS.pm
Criterion Covered Total %
branch 203 382 53.1


line true false branch
65 57 151 if (@_)
66 19 0 if (not exists $self->{$attr} and exists $ATTR_DEFAULT{$attr})
68 19 0 ref $d eq 'CODE' ? :
81 0 17 unless ($backend)
87 0 0 $config->{'json_encoder'} ? :
103 1 16 if defined $c
138 0 0 if (defined $host and CORE::length $host)
142 0 0 if (defined $mount and CORE::length $mount)
146 0 0 unless ($self->_is_child)
160 0 0 unless defined $k
168 0 0 unless $props and %$props
208 0 0 if $CONTEXT_STACKS{$name} and @{$CONTEXT_STACKS{$name};}
214 0 0 unless $stack and @$stack
247 0 0 $value ? :
264 0 0 if (defined $host and CORE::length $host)
268 0 0 if ($self->_props and %{$self->_props;})
279 0 0 if $self->_script_seen->{$path}
300 1 10 unless $renderer
305 0 10 @args == 1 && ref $args[0] eq 'HASH' ? :
315 0 10 if exists $props{'children'}
368 0 7 if $entry_name eq "__barefoot__"
372 0 7 unless $entry_name =~ m[^ui/([^/]+)/index$]
387 2 5 unless ref $components eq "HASH"
390 0 16 unless ref $component eq "HASH"
417 1 22 unless $marked
451 0 10 if defined $data_key
452 0 10 $slot_id ? :
459 0 10 if ($slot_id)
470 1 9 if ($signal_init) { }
9 0 elsif ($manifest_defaults) { }
499 0 13 if (ref $d ne "HASH")
503 0 13 if ($d->{'isRestProps'})
504 0 0 exists $props->{$name} ? :
508 1 12 if (defined $prop_name and exists $props->{$prop_name} and defined $props->{$prop_name}) { }
585 2 1 defined $value ? :
596 1 14 unless defined $value
597 10 4 if &looks_like_number($value)
611 1 2 if _is_nan($n)
617 1 2 if _is_nan($n)
623 1 4 if _is_nan($n)
655 9 7 if (ref $recv eq "ARRAY")
657 5 8 if BarefootJS::Evaluator::_same_value_zero($item, $elem)
661 2 5 if ref $recv
662 2 3 index($recv // '', $elem // '') != -1 ? :
672 0 0 unless ref $recv eq "ARRAY"
677 0 0 unless ref $recv eq "ARRAY"
678 0 0 unless &$pred($item)
683 0 0 unless ref $recv eq "ARRAY"
684 0 0 if &$pred($item)
694 0 0 unless ref $recv eq "ARRAY"
695 0 0 if &$pred($item)
700 0 0 unless ref $recv eq "ARRAY"
701 0 0 if &$pred($recv->[$i])
706 0 0 unless ref $recv eq "ARRAY"
707 0 0 if &$pred($recv->[$i])
712 0 0 unless ref $recv eq "ARRAY"
713 0 0 if &$pred($recv->[$i])
721 0 0 defined $s ? :
722 0 0 defined $s ? :
729 0 0 unless ref $recv eq "ARRAY"
731 0 0 defined $_ ? :
738 0 0 if ref $recv eq "ARRAY"
739 0 0 if ref $recv
752 1 11 unless ref $recv eq "ARRAY"
753 5 6 $reverse ? :
756 2 25 unless (defined $item)
757 2 0 unless defined $elem
760 5 20 if defined $elem and $item eq $elem
780 3 7 unless ref $recv eq "ARRAY"
781 0 7 unless defined $i
783 1 6 if $len == 0
784 3 3 $i < 0 ? :
785 2 4 if $idx < 0 or $idx >= $len
798 6 3 if ref $a eq "ARRAY"
799 8 1 if ref $b eq "ARRAY"
815 2 11 unless ref $recv eq "ARRAY"
817 1 10 if $len == 0
820 2 8 if $s < 0
821 0 10 if $s < 0
822 1 9 if $s > $len
824 6 4 defined $end ? :
825 2 8 if $e < 0
826 0 10 if $e < 0
827 0 10 if $e > $len
829 3 7 if $s >= $e
842 3 5 unless ref $recv eq "ARRAY"
851 0 0 unless ref $recv eq "ARRAY"
854 0 0 if ($depth != 0 and ref $el eq 'ARRAY') { }
855 0 0 $depth > 0 ? :
896 0 0 unless defined $depth
898 0 0 if (ref $depth eq 'JSON::PP::Boolean') { }
0 0 elsif (not ref $depth and &looks_like_number($depth)) { }
899 0 0 $depth ? :
909 0 0 if $f != $f
910 0 0 if $f == "Inf"
911 0 0 if $f == "-Inf"
913 0 0 if $trunc < 0
914 0 0 if $trunc > 1000000
924 0 0 unless ref $recv eq "ARRAY"
927 0 0 if ($key_kind eq 'field') { }
931 0 0 ref $el eq 'HASH' ? :
948 0 0 unless ref $recv eq "ARRAY"
953 0 0 if ($kind eq 'field') { }
954 0 0 ref $el eq 'HASH' ? :
975 1 10 unless defined $recv
976 2 8 if ref $recv
995 0 0 if _is_nan($n)
996 0 0 $n < 0 ? :
0 0 if _is_inf($n)
997 0 0 if not defined $digits or $digits < 0
1022 16 1 defined $recv && !ref($recv) ? :
1025 1 16 if (not defined $sep) { }
2 14 elsif ("$sep" eq '') { }
1 13 elsif ($s eq '') { }
1053 4 13 if (defined $limit)
1055 1 3 if ($n == 0) { }
1 3 elsif ($n > 0 and $n < scalar @parts) { }
1070 10 2 defined $recv && !ref($recv) ? :
1071 12 0 defined $prefix ? :
1072 4 8 if (defined $position)
1074 1 3 if $n < 0
1075 1 3 if $n > CORE::length $s
1078 7 5 substr($s, 0, CORE::length $p) eq $p ? :
1090 10 0 defined $recv && !ref($recv) ? :
1091 10 0 defined $suffix ? :
1092 4 6 if (defined $end_position)
1094 1 3 if $e < 0
1095 1 3 if $e > CORE::length $s
1098 1 9 if $x eq ""
1099 2 7 if CORE::length $s < CORE::length $x
1100 4 3 substr($s, -CORE::length($x)) eq $x ? :
1115 8 1 defined $recv && !ref($recv) ? :
1116 9 0 defined $pattern ? :
1117 9 0 defined $replacement ? :
1118 1 8 if $o eq ""
1120 2 6 if $i < 0
1139 0 0 defined $base && !ref($base) ? :
1145 0 0 unless $guard
1146 0 0 defined $key && !ref($key) ? :
1147 0 0 if (ref $val eq "ARRAY")
1151 0 0 defined $m && !ref($m) ? :
1152 0 0 if $s eq ""
1157 0 0 defined $val && !ref($val) ? :
1158 0 0 if $val eq ""
1159 0 0 if (exists $pos{$key}) { }
1167 0 0 unless @pairs
1179 6 1 defined $recv && !ref($recv) ? :
1180 7 0 defined $count ? :
1181 2 5 $n <= 0 ? :
1194 2 8 unless defined $pad
1196 1 9 if $pad eq ""
1199 1 8 if $len >= $t
1203 5 3 $at_start ? :
1207 6 1 defined $recv && !ref($recv) ? :
1212 3 0 defined $recv && !ref($recv) ? :
1301 3 13 unless ref $recv eq "ARRAY"
1312 0 13 unless @spec
1320 24 18 $_->{'key_kind'} eq 'field' && ref $item eq 'HASH' ? :
1329 7 32 if $c == 0
1330 9 23 $sp->{'direction'} eq 'desc' ? :
1344 10 29 if ($compare_type eq "string")
1347 9 20 if ($compare_type eq "auto")
1348 6 3 if (&looks_like_number(scalar($av // "")) and &looks_like_number(scalar($bv // "")))
1384 0 0 ref $recv eq 'ARRAY' ? :
1390 0 0 if $direction eq "right"
1392 0 0 $key_kind eq 'field' && ref $item eq 'HASH' ? :
1395 0 0 if ($type eq "string")
1407 0 0 unless defined $n and &looks_like_number($n)
1408 0 0 $op eq '*' ? :
1465 1 22 if $key eq "className"
1466 1 21 if $key eq "htmlFor"
1467 2 19 if $SVG_CAMEL_CASE_ATTRS{$key}
1482 0 0 defined $s ? :
1483 0 0 if utf8::is_utf8($bytes)
1504 24 0 defined $value ? :
1514 0 2 unless defined $value
1517 1 1 if (ref $value ne "HASH")
1519 1 0 CORE::length $s ? :
1524 0 2 unless defined $v
1529 1 0 @parts ? :
1546 0 0 unless defined $bag and ref $bag eq "HASH"
1552 2 23 unless defined $bag and ref $bag eq "HASH"
1558 4 27 if (CORE::length $key > 2 and substr($key, 0, 2) eq "on")
1560 3 1 if CORE::uc $c eq $c
1562 1 27 if $key eq "children"
1565 1 26 unless defined $val
1575 2 24 if (ref $val eq "JSON::PP::Boolean" or ref $val eq "Mojo::JSON::_Bool")
1576 1 1 unless $val
1582 2 22 if ($key eq "style")
1584 0 2 unless defined $css and CORE::length $css
1591 1 22 unless @parts