File Coverage

blib/lib/Protocol/DBus/Address.pm
Criterion Covered Total %
statement 21 22 95.4
branch n/a
condition n/a
subroutine 7 7 100.0
pod 0 4 0.0
total 28 33 84.8


line stmt bran cond sub pod time code
1             package Protocol::DBus::Address;
2              
3 7     7   270336 use strict;
  7         38  
  7         156  
4 7     7   27 use warnings;
  7         10  
  7         143  
5              
6 7     7   924 use Call::Context;
  7         1003  
  7         1588  
7              
8             # Not a very choosy parser, and it doesn’t try to validate anything.
9             sub parse {
10 4     4 0 9161 Call::Context::must_be_list();
11              
12             return map {
13 4         83 my $str = $_;
  5         10  
14              
15 5         60 my $xport = substr( $_, 0, 1 + index($_, ':'), q<> );
16 5         17 chop $xport;
17              
18             my %kvs = (
19 5         17 map { split m<=>, $_ } (split m<,>, $_),
  6         38  
20             );
21              
22 5         27 s<%(..)>ge for values %kvs;
  0         0  
23              
24 5         80 bless { _str => $str, _transport => $xport, _attrs => \%kvs }, __PACKAGE__;
25             } ( split m<;>, $_[0] );
26             }
27              
28             #----------------------------------------------------------------------
29              
30             sub transport {
31 5     5 0 6584 return $_[0]{'_transport'};
32             }
33              
34             sub to_string {
35 4     4 0 63 return $_[0]{'_str'};
36             }
37              
38             sub attribute {
39 8     8 0 95 return $_[0]{'_attrs'}{$_[1]};
40             }
41              
42             1;