Branch Coverage

blib/lib/Image/SVG/Path.pm
Criterion Covered Total %
branch 123 178 69.1


line true false branch
41 84 117 if (lc $curve_type eq $curve_type) { }
117 0 elsif (uc $curve_type eq $curve_type) { }
63 0 0 unless ($path)
70 0 0 unless (@values)
79 0 0 if ($value->{'type'} eq 'cubic-bezier') { }
106 2 29 if ($t eq 'moveto') { }
0 29 elsif ($t eq 'cubic-bezier') { }
2 27 elsif ($t eq 'closepath') { }
14 13 elsif ($t eq 'vertical-line-to') { }
8 5 elsif ($t eq 'horizontal-line-to') { }
4 1 elsif ($t eq 'line-to') { }
1 0 elsif ($t eq 'arc') { }
357 0 63 unless ($path)
363 31 32 if ($options_ref) { }
364 0 31 if (ref $options_ref ne 'HASH')
371 0 63 unless (wantarray)
375 2 61 if ($verbose)
380 0 63 unless ($path[0] =~ /^$wsp*$/ and $path[1] =~ /[Mm]/)
389 28 173 unless (defined $values)
393 0 201 unless ($original =~ /$moveto|$drawto_command/x)
405 8 193 if ($ucc eq 'A') { }
415 12 189 if ($verbose)
419 9 192 if ($ucc eq 'C') { }
7 185 elsif (uc $command eq 'S') { }
29 156 elsif (uc $command eq 'L') { }
33 123 elsif (uc $command eq 'Z') { }
6 117 elsif (uc $command eq 'Q') { }
4 113 elsif (uc $command eq 'T') { }
12 101 elsif (uc $command eq 'H') { }
21 80 elsif (uc $command eq 'V') { }
8 72 elsif (uc $command eq 'A') { }
72 0 elsif (uc $command eq 'M') { }
421 0 9 if (@numbers % $expect_numbers != 0)
446 0 7 if (@numbers % $expect_numbers != 0)
469 0 29 if (@numbers % $expect_numbers != 0)
477 0 33 if (@numbers > 0)
491 0 6 if (@numbers % $expect_numbers != 0)
510 0 4 if (@numbers % $expect_numbers != 0)
553 0 8 if (@numbers % $expect_numbers != 0)
571 0 72 if (@numbers < $expect_numbers)
574 0 72 if (@numbers % $expect_numbers != 0)
587 9 63 if (@numbers > $expect_numbers)
602 7 56 if ($absolute)
603 2 5 if ($verbose)
611 13 60 if ($element->{'type'} eq 'moveto') { }
18 42 elsif ($element->{'type'} eq 'line-to') { }
10 32 elsif ($element->{'type'} eq 'horizontal-line-to') { }
18 14 elsif ($element->{'type'} eq 'vertical-line-to') { }
0 14 elsif ($element->{'type'} eq 'cubic-bezier') { }
2 12 elsif ($element->{'type'} eq 'smooth-cubic-bezier') { }
1 11 elsif ($element->{'type'} eq 'quadratic-bezier') { }
2 9 elsif ($element->{'type'} eq 'smooth-quadratic-bezier') { }
1 8 elsif ($element->{'type'} eq 'arc') { }
8 0 elsif ($element->{'type'} eq 'closepath') { }
613 5 8 if ($element->{'position'} eq 'relative')
615 0 5 if ($ip) { }
616 0 0 if (ref $ip ne 'ARRAY' or scalar @$ip != 2)
629 17 1 if ($element->{'position'} eq 'relative')
632 6 12 if ($begin_drawing)
633 1 5 if ($verbose)
642 10 0 if ($element->{'position'} eq 'relative')
645 0 10 if ($begin_drawing)
646 0 0 if ($verbose)
655 18 0 if ($element->{'position'} eq 'relative')
658 4 14 if ($begin_drawing)
659 2 2 if ($verbose)
668 0 0 if ($element->{'position'} eq 'relative')
673 0 0 if ($begin_drawing)
674 0 0 if ($verbose)
683 2 0 if ($element->{'position'} eq 'relative')
687 2 0 if ($no_smooth)
690 1 1 if ($previous and $previous->{'type'} eq 'cubic-bezier') { }
699 1 1 if ($begin_drawing)
700 0 1 if ($verbose)
709 1 0 if ($element->{'position'} eq 'relative')
713 1 0 if ($begin_drawing)
714 0 1 if ($verbose)
723 2 0 if ($element->{'position'} eq 'relative')
726 2 0 if ($no_smooth)
729 1 1 if ($previous and $previous->{'type'} eq 'quadratic-bezier') { }
738 1 1 if ($begin_drawing)
739 0 1 if ($verbose)
749 1 0 if ($element->{'position'} eq 'relative')
753 0 1 if ($begin_drawing)
754 0 0 if ($verbose)
763 2 6 if ($verbose)
770 0 73 unless ($element->{'svg_key'})
790 0 38 if ($n_coords % 2 != 0)
797 29 25 $position eq 'absolute' ? :