File Coverage

lib/ChordPro/Delegate/SVG.pm
Criterion Covered Total %
statement 28 46 60.8
branch 1 4 25.0
condition 0 6 0.0
subroutine 8 10 80.0
pod 0 3 0.0
total 37 69 53.6


line stmt bran cond sub pod time code
1             #! perl
2              
3 1     1   16 use v5.26;
  1         5  
4 1     1   8 use strict;
  1         2  
  1         42  
5 1     1   5 use warnings;
  1         2  
  1         96  
6 1     1   8 use feature qw( signatures );
  1         2  
  1         188  
7 1     1   26 no warnings "experimental::signatures";
  1         3  
  1         74  
8 1     1   6 use utf8;
  1         3  
  1         35  
9              
10             package ChordPro::Delegate::SVG;
11              
12 1     1   77 use ChordPro::Utils;
  1         3  
  1         1081  
13              
14 0     0 0 0 sub DEBUG() { $::config->{debug}->{svg} }
  0         0  
  0         0  
15              
16 0     0 0 0 sub svg2svg( $self, %args ) {
  0         0  
  0         0  
  0         0  
17 0         0 my $elt = $args{elt};
18              
19 0         0 my @data = @{ $elt->{data} };
  0         0  
20 0         0 my @pre;
21              
22 0         0 while ( $data[0] !~ /
23 0         0 push( @pre, shift(@data) );
24             }
25 0 0       0 my $kv = parse_kvm( @pre ) if @pre;
26 0   0     0 $kv->{split} //= 1; # less overhead. really.
27 0   0     0 $kv->{scale} ||= 1;
28              
29             return
30             { type => "image",
31             subtype => "svg",
32             line => $elt->{line},
33             data => \@data,
34 0   0     0 opts => { %$kv, %{$elt->{opts}//{}} },
  0         0  
35             };
36             }
37              
38             # Pre-scan.
39 2     2 0 5 sub options( $data ) {
  2         4  
  2         4  
40              
41 2         5 my @pre;
42              
43 2         9 while ( $data->[0] !~ /
44 3         14 push( @pre, shift(@$data) );
45             }
46 2 50       14 my $kv = parse_kvm( @pre ) if @pre;
47 2         10 $kv;
48             }
49              
50             1;