File Coverage

blib/lib/Pegex/vCard/Data.pm
Criterion Covered Total %
statement 15 15 100.0
branch 2 2 100.0
condition n/a
subroutine 3 3 100.0
pod 1 2 50.0
total 21 22 95.4


line stmt bran cond sub pod time code
1             package Pegex::vCard::Data;
2              
3 1     1   7 use Pegex::Base;
  1         1  
  1         7  
4             extends 'Pegex::Tree';
5              
6             has data => {};
7              
8             sub final {
9 1     1 1 243 my ($self, $got) = @_;
10 1         3 return $self->data;
11             }
12              
13             sub got_info_line {
14 13     13 0 57482 my ($self, $got) = @_;
15 13         24 my ($key, $value) = @$got;
16 13         31 my @keys = grep { $_ !~ /=/ } split ';', $key;
  26         77  
17 13         49 my $values = [ split ';', $value ];
18 13 100       40 $values = $values->[0] if @$values == 1;
19 13         41 my $insert = $self->data;
20 13         76 while (@keys > 1) {
21 11         52 $insert = $insert->{shift @keys} = {};
22             }
23 13         83 $insert = $insert->{shift @keys} = $values;
24             }
25              
26             1;