Branch Coverage

blib/lib/Spreadsheet/WriteExcel/Formula.pm
Criterion Covered Total %
branch 68 154 44.1


line true false branch
86 0 4 if $@
199 0 4 if $_debug
216 4 74 unless defined $parser
221 0 78 if $_debug
227 78 0 if (defined $parsetree) { }
233 0 78 if $self->_check_volatile(@tokens)
236 77 1 if (wantarray) { }
283 152 162 if ($token eq '_arg') { }
0 162 elsif ($token eq '_class') { }
0 162 elsif ($token eq '_vol') { }
0 162 elsif ($token eq 'ptgBool') { }
134 28 elsif ($token eq '_num') { }
8 20 elsif ($token eq '_str') { }
4 16 elsif ($token =~ /^_ref2d/) { }
3 13 elsif ($token =~ /^_ref3d/) { }
8 5 elsif ($token =~ /^_range2d/) { }
0 5 elsif ($token =~ /^_range3d/) { }
0 5 elsif ($token =~ /^_name/) { }
0 5 elsif ($token eq '_funcV') { }
0 5 elsif ($token eq '_func') { }
5 0 elsif (exists $ptg{$token}) { }
290 0 0 unless defined $class
311 0 4 if $modifier eq 'R'
312 0 4 if $modifier eq 'V'
319 0 3 if $modifier eq 'R'
320 0 3 if $modifier eq 'V'
327 4 4 if $modifier eq 'R'
328 0 8 if $modifier eq 'V'
335 0 0 if $modifier eq 'R'
336 0 0 if $modifier eq 'V'
343 0 0 if $modifier eq 'R'
344 0 0 if $modifier eq 'V'
370 0 152 if ($_debug)
405 0 713 if ($token eq 'ptgAdd' or $token eq 'ptgSub' or $token eq 'ptgConcat' or $token eq 'ptgMul' or $token eq 'ptgDiv' or $token eq 'ptgPower' or $token eq 'ptgEQ' or $token eq 'ptgNE' or $token eq 'ptgLE' or $token eq 'ptgGE' or $token eq 'ptgLT' or $token eq 'ptgGT')
427 398 321 if (ref $token) { }
457 0 321 if ($tokens[$i] =~ /^_func/ and $functions{$tokens[$i + 1]}[3])
510 124 10 if ($num =~ /^\d+$/ and $num <= 65535) { }
515 0 10 if $$self{'_byte_order'}
540 8 0 if ($] >= 5.008)
543 2 6 if (Encode::is_utf8($str))
549 0 8 if $length > 255
572 0 4 if ($class == 0) { }
4 0 elsif ($class == 1) { }
0 0 elsif ($class == 2) { }
613 0 3 if ($class == 0) { }
3 0 elsif ($class == 1) { }
0 0 elsif ($class == 2) { }
647 0 8 unless $cell1 =~ /\d/
648 0 8 unless $cell2 =~ /\d/
655 4 4 if ($class == 0) { }
4 0 elsif ($class == 1) { }
0 0 elsif ($class == 2) { }
696 0 0 unless $cell1 =~ /\d/
697 0 0 unless $cell2 =~ /\d/
704 0 0 if ($class == 0) { }
0 0 elsif ($class == 1) { }
0 0 elsif ($class == 2) { }
739 0 3 if ($ext_ref =~ /:/) { }
746 0 0 if ($sheet1 > $sheet2)
761 0 3 if (exists $$self{'_ext_refs'}{$key}) { }
787 3 0 if ($] >= 5.008)
790 0 3 if (Encode::is_utf8($sheet_name))
796 0 3 if (not exists $$self{'_ext_sheets'}{$sheet_name}) { }
867 0 0 if (not exists $$self{'_ext_names'}{$name}) { }
906 0 0 unless defined $functions{$token}[0]
912 0 0 if ($args >= 0)
914 0 0 if ($args != $num_args) { }
918 0 0 if ($non_var) { }
928 0 0 if ($args == -1)
929 0 0 if ($non_var) { }
958 0 0 if ($class == 0) { }
0 0 elsif ($class == 1) { }
0 0 elsif ($class == 2) { }
989 11 12 $1 eq '' ? :
991 11 12 $3 eq '' ? :
1029 0 23 if $col >= 256
1030 0 23 if $row >= 65536