Branch Coverage

blib/lib/perl5i/2/equal.pm
Criterion Covered Total %
branch 55 70 78.5


line true false branch
20 1 9 unless defined $r1 or defined $r2
23 20 173 if defined $r1 xor defined $r2
27 24 149 if (not $ref1 || $ref2) { }
24 125 elsif ($ref1 eq $ref2) { }
86 39 elsif ($ref1 and $ref2) { }
30 2 22 if ($is_num1 xor $is_num2) { }
17 5 elsif ($is_num1) { }
45 5 19 if ($ref1 ~~ ['Regexp', 'GLOB', 'CODE']) { }
4 15 elsif ($ref1 eq 'ARRAY') { }
7 8 elsif ($ref1 eq 'HASH') { }
4 4 elsif ($ref1 ~~ ['SCALAR', 'REF']) { }
67 0 86 if ($is_overloaded1 and $is_overloaded2) { }
80 19 20 $ref1 ? :
83 4 35 if ($is_overloaded) { }
85 4 0 $ref1 ? :
98 1 3 if @$r1 != @$r2
101 0 6 unless are_equal($$r1[$i], $$r2[$i])
110 0 7 unless \%$r1 ~~ \%$r2
114 1 6 unless are_equal($$r1{$key}, $$r2{$key})
123 0 8 unless ref $_[0]
126 0 8 if $str and $num
127 0 4 unless $str or $num
128 4 4 if $str
129 4 0 if $num
140 0 2 unless $type1 and $type2
142 0 2 if ($type1 eq 'both' and $type2 eq 'both') { }
0 2 elsif ($type1 eq 'num' and $type2 eq 'str' or $type1 eq 'str' and $type2 eq 'num') { }
1 1 elsif ('num' ~~ [$type1, $type2]) { }
1 0 elsif ('str' ~~ [$type1, $type2]) { }
152 0 0 $type1 eq 'num' ? :
173 2 2 if (not $is_overloaded) { }
195 0 4 unless $type
197 2 2 if ($scalar->is_number) { }
198 1 1 if ($type eq 'str') { }
206 1 1 if ($type eq 'num') { }