Branch Coverage

blib/lib/SVGPDF/Contrib/PathExtract.pm
Criterion Covered Total %
branch 102 178 57.3


line true false branch
48 23 88 if (lc $curve_type eq $curve_type) { }
88 0 elsif (uc $curve_type eq $curve_type) { }
70 0 0 unless ($path)
77 0 0 unless (@values)
86 0 0 if ($value->{'type'} eq 'cubic-bezier') { }
113 0 0 if ($t eq 'moveto') { }
0 0 elsif ($t eq 'cubic-bezier') { }
0 0 elsif ($t eq 'closepath') { }
0 0 elsif ($t eq 'vertical-line-to') { }
0 0 elsif ($t eq 'horizontal-line-to') { }
0 0 elsif ($t eq 'line-to') { }
0 0 elsif ($t eq 'arc') { }
352 0 36 unless ($path)
358 36 0 if ($options_ref) { }
359 0 36 if (ref $options_ref ne "HASH")
366 0 36 unless (wantarray)
370 0 36 if ($verbose)
375 0 36 unless ($path[0] =~ /^$wsp*$/ and $path[1] =~ /[Mm]/)
384 5 106 unless (defined $values)
388 0 111 unless ($original =~ /$moveto|$drawto_command/x)
399 17 94 if ($ucc eq 'A') { }
408 0 111 if ($verbose)
412 10 101 if ($ucc eq 'C') { }
1 100 elsif ($ucc eq 'S') { }
28 72 elsif ($ucc eq 'L') { }
5 67 elsif ($ucc eq 'Z') { }
6 61 elsif ($ucc eq 'Q') { }
4 57 elsif ($ucc eq 'T') { }
1 56 elsif ($ucc eq 'H') { }
1 55 elsif ($ucc eq 'V') { }
17 38 elsif ($ucc eq 'A') { }
38 0 elsif ($ucc eq 'M') { }
414 0 10 if (@numbers % $expect_numbers != 0)
439 0 1 if (@numbers % $expect_numbers != 0)
462 0 28 if (@numbers % $expect_numbers != 0)
470 0 5 if (@numbers > 0)
484 0 6 if (@numbers % $expect_numbers != 0)
503 0 4 if (@numbers % $expect_numbers != 0)
546 0 17 if (@numbers % $expect_numbers != 0)
564 0 38 if (@numbers < $expect_numbers)
567 0 38 if (@numbers % $expect_numbers != 0)
580 0 38 if (@numbers > $expect_numbers)
595 36 0 if ($absolute)
596 0 36 if ($verbose)
604 38 73 if ($element->{'type'} eq 'moveto') { }
28 45 elsif ($element->{'type'} eq 'line-to') { }
1 44 elsif ($element->{'type'} eq 'horizontal-line-to') { }
1 43 elsif ($element->{'type'} eq 'vertical-line-to') { }
10 33 elsif ($element->{'type'} eq 'cubic-bezier') { }
1 32 elsif ($element->{'type'} eq 'smooth-cubic-bezier') { }
6 26 elsif ($element->{'type'} eq 'quadratic-bezier') { }
4 22 elsif ($element->{'type'} eq 'smooth-quadratic-bezier') { }
17 5 elsif ($element->{'type'} eq 'arc') { }
5 0 elsif ($element->{'type'} eq 'closepath') { }
606 0 38 if ($element->{'position'} eq "relative")
608 0 0 if ($ip) { }
609 0 0 if (ref $ip ne "ARRAY" or scalar @$ip != 2)
631 8 20 if ($element->{'position'} eq "relative")
634 13 15 if ($begin_drawing)
635 0 13 if ($verbose)
644 1 0 if ($element->{'position'} eq "relative")
647 1 0 if ($begin_drawing)
648 0 1 if ($verbose)
657 1 0 if ($element->{'position'} eq "relative")
660 1 0 if ($begin_drawing)
661 0 1 if ($verbose)
670 0 10 if ($element->{'position'} eq "relative")
675 10 0 if ($begin_drawing)
676 0 10 if ($verbose)
685 0 1 if ($element->{'position'} eq "relative")
689 1 0 if ($no_smooth)
692 1 0 if ($previous and $previous->{'type'} eq 'cubic-bezier') { }
701 0 1 if ($begin_drawing)
702 0 0 if ($verbose)
711 1 5 if ($element->{'position'} eq "relative")
715 6 0 if ($begin_drawing)
716 0 6 if ($verbose)
725 0 4 if ($element->{'position'} eq "relative")
728 4 0 if ($no_smooth)
731 4 0 if ($previous and $previous->{'type'} eq 'quadratic-bezier') { }
740 0 4 if ($begin_drawing)
741 0 0 if ($verbose)
751 10 7 if ($element->{'position'} eq "relative")
755 7 10 if ($begin_drawing)
756 0 7 if ($verbose)
765 0 5 if ($verbose)
772 0 111 unless ($element->{'svg_key'})
792 0 28 if ($n_coords % 2 != 0)
799 20 8 $position eq 'absolute' ? :