Branch Coverage

blib/lib/Parse/Win32Registry/Base.pm
Criterion Covered Total %
branch 178 218 81.6


line true false branch
68 31 424 if $WARNINGS
75 1 39 unless defined $data
83 30 9 if ($fake_start < $start)
90 11 19 if ($indent + $len < 16)
106 24 44 if ($len < 16)
124 2 68 unless defined $data
128 6 62 if $col > 76
134 27 41 if $num_octets > $max_octets
139 19 86 if $num_octets > 25
140 46 59 if ($num_octets > 0)
151 0 535 unless (defined $data)
155 2 533 if (length $data < 8)
173 8 525 if ($epoch_time < 0 or $epoch_time > 2147483647)
177 23 510 wantarray ? :
184 40 98 unless (defined $time)
188 98 0 if (not defined $tz or $tz ne 'Z')
193 0 98 if ($time < 0 or $time > 2147483647)
206 0 12 unless (defined $data)
212 8 4 if ((my $end = index($data, "\000")) != -1) { }
221 6 6 wantarray ? :
227 0 22 unless (defined $data)
234 12 58 if $v == 0
246 12 10 if (length $str > 0 and substr($str, -1, 1) eq "\000")
250 11 11 wantarray ? :
255 2 6 unless defined $guid
256 3 3 wantarray ? :
261 6 8 unless defined $sid
262 4 4 wantarray ? :
267 12 10 unless defined $ace
268 5 5 wantarray ? :
273 12 10 unless defined $acl
274 5 5 wantarray ? :
279 11 26 unless defined $sd
280 9 17 wantarray ? :
287 0 0 unless (defined $function and defined $data)
304 56 8 if defined $_
1 40 if (@keys == 0 or grep {not UNIVERSAL::isa($_, 'Parse::Win32Registry::Key') if defined $_;} @keys)
314 8 56 unless defined $key
322 2 32 if (@{$subkeys_seen{$name};} != @keys)
330 34 34 if (defined $subkeys) { }
343 56 8 if defined $_
1 40 if (@keys == 0 or grep {not UNIVERSAL::isa($_, 'Parse::Win32Registry::Key') if defined $_;} @keys)
353 8 56 unless defined $key
361 2 60 if (@{$values_seen{$name};} != @keys)
369 36 24 if (defined $values) { }
382 10 0 if defined $_
1 6 if (@keys == 0 or grep {not UNIVERSAL::isa($_, 'Parse::Win32Registry::Key') if defined $_;} @keys)
396 60 20 if (defined $value_iter and wantarray)
398 36 24 if (defined $values)
404 40 38 if (defined $subkeys)
419 28 8 if defined $_
1 12 if (@keys == 0 or grep {not UNIVERSAL::isa($_, 'Parse::Win32Registry::Key') if defined $_;} @keys)
431 24 12 if (@changes > 0)
444 22 8 if defined $_
1 10 if (@values == 0 or grep {not UNIVERSAL::isa($_, 'Parse::Win32Registry::Value') if defined $_;} @values)
456 20 10 if (@changes > 0)
468 4 20 if (not defined $key1 || defined $key2) { }
2 18 elsif (defined $key1 and not defined $key2) { }
2 32 elsif (not defined $key1 and defined $key2) { }
480 0 16 if ($key1->get_name ne $key2->get_name) { }
8 8 elsif (defined $timestamp1 and defined $timestamp2) { }
484 0 8 if ($timestamp1 < $timestamp2) { }
0 8 elsif ($timestamp1 > $timestamp2) { }
495 0 0 if (_compare_values($val1, $val2) ne '')
506 4 16 if (not defined $val1 || defined $val2) { }
2 14 elsif (defined $val1 and not defined $val2) { }
2 24 elsif (not defined $val1 and defined $val2) { }
518 0 12 if ($val1->get_name ne $val2->get_name or $val1->get_type != $val2->get_type or defined $data1 ne defined $data2 or defined $data1 and defined $data2 and $data1 ne $data2) { }
539 0 744 if $type ne 'CODE' and $type ne 'Parse::Win32Registry::Iterator'
557 0 8 unless (defined $data)
561 2 6 if (length $data < 16)
596 0 170 unless (defined $data)
607 4 166 if (length $data < 8)
613 2 164 if ($num_sub_auths == 0)
619 8 156 if (length $data < $sid_len)
693 0 0 if ($sid =~ /^$regexp$/)
719 0 129 unless (defined $data)
742 6 123 if (length $data < 4)
748 6 117 if (length $data < $ace_len)
760 112 5 if ($type >= 0 and $type <= 2 or $type == 17) { }
766 4 108 unless (defined $sid)
771 2 106 if ($sid->get_length + 8 != $ace_len)
815 97 0 if (exists $Types[$type]) { }
853 0 0 if defined $name
872 0 51 unless (defined $data)
885 2 49 if (length $data < 8)
891 4 45 if (length $data < $acl_len)
901 11 96 unless defined $ace
908 0 34 if ($pos > $acl_len)
956 0 37 unless (defined $data)
987 2 35 if (length $data < 20)
1002 23 12 if ($offset_to_owner > 0 and $offset_to_owner < length $data)
1005 2 21 unless defined $owner
1007 21 0 if ($offset_to_owner + $owner->get_length > $sd_len)
1011 21 12 if ($offset_to_group > 0 and $offset_to_group < length $data)
1014 2 19 unless defined $group
1016 19 0 if ($offset_to_group + $group->get_length > $sd_len)
1020 12 19 if ($offset_to_sacl > 0 and $offset_to_sacl < length $data)
1023 2 10 unless defined $sacl
1025 3 7 if ($offset_to_sacl + $sacl->get_length > $sd_len)
1029 17 12 if ($offset_to_dacl > 0 and $offset_to_dacl < length $data)
1032 3 14 unless defined $dacl
1034 3 11 if ($offset_to_dacl + $dacl->get_length > $sd_len)
1076 0 0 if (defined(my $owner = $$self{'_owner'}))
1079 0 0 if defined $name
1082 0 0 if (defined(my $group = $$self{'_group'}))
1085 0 0 if defined $name
1088 0 0 if (defined(my $sacl = $$self{'_sacl'}))
1093 0 0 if (defined(my $dacl = $$self{'_dacl'}))