Branch Coverage

blib/lib/Switch/Back.pm
Criterion Covered Total %
branch 44 216 20.3


line true false branch
79 0 0 if warnings::enabled("redefine")
0 0 if "" ne $info->{'package'} and warnings::enabled("redefine")
0 0 if (not $info) { }
0 0 elsif ($info->{'keyword'} ne 'multi') { }
0 0 elsif ($info->{'package'} ne caller()) { }
0 2 if (*{(caller()) . '::smartmatch';}{'CODE'}) { }
0 33 if (@_ < $variant->{'min'})
0 33 if (@_ > $variant->{'max'})
33 0 if (ref $handler)
2 0 if ($redefining)
167 0 0 if ($source =~ /$VALIDATE_PURE_GIVEN/u)
175 0 0 $after_a_statement ? :
176 0 0 if ($_->{'TYPE'} eq 'when') { }
0 0 elsif ($_->{'TYPE'} eq 'default') { }
0 0 elsif ($_->{'TYPE'} eq 'given') { }
187 0 0 if ($after_a_statement) { }
197 0 0 if ($after_a_statement) { }
206 0 0 !$after_a_statement ? :
223 0 0 unless (defined $REPLACEMENT_CODE)
245 0 0 if (exists $result{'BLOCK'}) { }
0 0 elsif (exists $result{'EXPR'}) { }
305 0 0 if (defined $matched{'BLOCK'} and defined $matched{'EXPR'}) { }
0 0 elsif (defined $matched{'MODIFIER'}) { }
0 0 elsif (exists $matched{'INVALID_BLOCK'}) { }
354 0 0 if (defined $matched{'BLOCK'}) { }
411 0 0 $TYPE eq 'default' ? :
420 0 0 if ($KIND eq 'when') { }
0 0 elsif ($KIND eq 'given') { }
422 0 0 defined $AFTERGIVEN ? :
550 0 0 if (@low_disj > 1)
555 0 0 if ($low_lhs eq $magic_lhs) { }
589 0 0 if (@low_conj > 1)
597 0 0 if ($magic_operand eq $next_operand)
626 0 0 if (@high_disj > 1)
631 0 0 if ($high_lhs eq $magic_expr) { }
665 0 0 if (@high_conj > 1)
673 0 0 if ($magic_operand eq $next_operand)
691 0 0 if ($EXPR =~ /$CONTAINER_VARIABLE/u)
696 0 0 if ($EXPR =~ /$ARRAY_SLICE/u)
699 0 0 if ($EXPR =~ /$HASH_SLICE/u)
704 0 0 if ($EXPR =~ /$SMARTMATCHABLE/u)
728 0 0 if warnings::enabled("Multi::Dispatch::noncontiguous")
0 2 if ($Multi::Dispatch::closed{'multi'}{'smartmatch'}{'Switch::Back'}) { }
0 0 if warnings::enabled("redefine")
0 0 if "" ne $info->{'package'} and warnings::enabled("redefine")
0 0 if (not $info) { }
0 0 elsif ($info->{'keyword'} ne 'multi') { }
0 0 elsif ($info->{'package'} ne __PACKAGE__) { }
0 2 if (*smartmatch{'CODE'}) { }
0 1 if (@_ < $variant->{'min'})
0 1 if (@_ > $variant->{'max'})
1 0 if (ref $handler)
2 0 if ($redefining)
738 8 26 unless (defined $right)
743 0 26 if $right_type ne "Regexp" and builtin::blessed($right)
747 1 25 if ($right_type eq "ARRAY")
750 0 1 if ($left_type eq 'ARRAY') { }
0 1 elsif ($left_type eq 'HASH') { }
0 1 elsif ($left_type eq 'Regexp') { }
0 1 elsif (not defined $left) { }
752 0 0 if $left == $right
755 0 0 if @{$left;} != @{$right;}
759 0 0 if $Sm4r7m4tCh::seen{"L$left"}++ or $Sm4r7m4tCh::seen{"R$right"}++
763 0 0 unless smartmatch($left->[$n], $right->[$n])
772 0 0 unless (defined $r)
773 0 0 if warnings::enabled("uninitialized")
776 0 0 if exists $$left{$r // ""}
785 0 0 if $r =~ /$left/u
794 0 0 unless defined $r
803 0 1 unless (defined $r)
804 0 0 if warnings::enabled("uninitialized")
807 1 0 if smartmatch($left, $r)
814 1 24 if ($right_type eq "HASH")
817 0 1 if ($left_type eq 'HASH') { }
0 1 elsif ($left_type eq 'ARRAY') { }
0 1 elsif ($left_type eq 'Regexp') { }
0 1 elsif (not defined $left) { }
819 0 0 if $left == $right
822 0 0 if %{$left;} != %{$right;}
826 0 0 unless exists $right->{$lkey}
836 0 0 if $Sm4r7m4tCh::seen{"L$left"}++
840 0 0 unless (defined $l)
841 0 0 if warnings::enabled("uninitialized")
844 0 0 if exists $$right{$l // ""}
853 0 0 if $rkey =~ /$left/u
867 0 1 unless (defined $left)
868 0 0 if warnings::enabled("uninitialized")
876 4 20 if ($right_type eq "CODE")
879 0 4 if ($left_type eq 'ARRAY') { }
0 4 elsif ($left_type eq 'HASH') { }
883 0 0 if $Sm4r7m4tCh::seen{"L$left"}++
887 0 0 unless &$right($l)
896 0 0 unless &$right($lkey)
909 9 11 if ($right_type eq "Regexp")
912 1 8 if ($left_type eq 'ARRAY') { }
1 7 elsif ($left_type eq 'HASH') { }
916 0 1 if $Sm4r7m4tCh::seen{"L$left"}++
920 0 0 unless (defined $l)
921 0 0 if warnings::enabled("uninitialized")
925 0 0 if $l =~ /$right/u
934 0 0 if $lkey =~ /$right/u
942 0 7 unless (defined $left)
943 0 0 if warnings::enabled("uninitialized")
952 0 11 if (created_as_number $right)
954 0 0 if ($Switch::Back::_use_integer) { }
964 0 11 if (created_as_number $left and &looks_like_number($right))
965 0 0 if ($Switch::Back::_use_integer) { }
976 0 11 if (not defined $left) { }