Branch Coverage

blib/lib/Parse/DMIDecode/Handle.pm
Criterion Covered Total %
branch 49 90 54.4


line true false branch
43 0 346 if ref(my $class = shift())
44 0 346 if @_ % 2
51 0 0 if @invalidkeys and $^W
54 0 346 unless defined defined $$stor{'raw'}
56 346 2753 if (/^Handle ([0-9A-Fx]+)(?:, DMI type (\d+), (\d+) bytes?\.?)?\s*$/) { }
206 2547 elsif (defined $$stor{'handle'} and /^\s*DMI type (\d+), (\d+) bytes?\.?\s*$/) { }
58 140 206 if defined $2
59 140 206 if defined $3
62 206 0 if defined $1
63 206 0 if defined $2
65 346 2201 unless defined $$stor{'raw_entries'}
70 346 0 if $$stor{'raw_entries'}
102 723 0 length ref $_[0] ? :
108 0 723 unless my $pkg = ref $_[0]
109 723 0 if (_blessed($_[0])) { }
116 723 0 if defined $pkg
123 4345 700 if (not ref $this) { }
350 350 elsif (ref $this eq 'ARRAY') { }
350 0 elsif (ref $this eq 'HASH') { }
137 0 0 unless ref $self and UNIVERSAL::isa($self, 'Parse::DMIDecode::Handle')
145 0 6 unless ref $self and UNIVERSAL::isa($self, 'Parse::DMIDecode::Handle')
147 0 0 @_ > 1 ? :
0 6 if @_ != 1
155 0 17 unless ref $self and UNIVERSAL::isa($self, 'Parse::DMIDecode::Handle')
163 0 0 unless ref $self and UNIVERSAL::isa($self, 'Parse::DMIDecode::Handle')
171 0 0 unless ref $self and UNIVERSAL::isa($self, 'Parse::DMIDecode::Handle')
179 0 0 unless ref $self and UNIVERSAL::isa($self, 'Parse::DMIDecode::Handle')
188 0 0 unless ref $self and UNIVERSAL::isa($self, 'Parse::DMIDecode::Handle')
197 0 0 unless ref $self and UNIVERSAL::isa($self, 'Parse::DMIDecode::Handle')
205 0 346 unless defined $$stor{'raw_entries'}
223 140 2407 unless defined $indent
232 0 2547 if (!$name || $legacy_dmidecode_binary_data and /^(([a-f0-9]{2} )+)\s*\t[[:print:]]{1,16}\s*$/)
238 0 0 unless defined $data{$name}{$key}[1]
243 346 2201 if $l == 0
244 305 2242 if ($l == 1)
245 305 0 if ($indent > $name_indent) { }
250 350 2197 if (/^\s{$name_indent}(\S+.*?)\s*$/) { }
1617 580 elsif ($name and /^\s{$key_indent}(\S.*?)(?::|:\s+(\S+.*?))?\s*$/) { }
580 0 elsif ($name and $key and $indent > $key_indent and /^\s*(\S+.*?)\s*$/) { }
258 1617 0 unless defined $data{$name}{$key}[1]
259 1138 479 if defined $Parse::DMIDecode::Handle::TYPE2GROUP{$$stor{'dmitype'}}
264 271 309 if defined $Parse::DMIDecode::Handle::TYPE2GROUP{$$stor{'dmitype'}}
281 0 346 if (@errors and not $$stor{'nowarnings'})
290 0 0 unless $Parse::DMIDecode::Handle::DEBUG
296 1046 0 unless $Parse::DMIDecode::Handle::DEBUG