Branch Coverage

blib/lib/Parse/Win32Registry/WinNT/File.pm
Criterion Covered Total %
branch 36 48 75.0


line true false branch
19 1 39 unless my $filename = shift()
21 1 38 unless open my $fh, '<', $filename
39 1 37 if ($bytes_read != 512)
58 1 36 if ($regf_sig ne 'regf')
72 1 35 if ($checksum != $embedded_checksum)
110 0 6 unless defined $root_key
112 6 0 unless (defined $fake_root)
116 1 5 if ($filename =~ /NTUSER/i) { }
1 4 elsif ($filename =~ /USRCLASS/i) { }
1 3 elsif ($filename =~ /SOFTWARE/i) { }
1 2 elsif ($filename =~ /SYSTEM/i) { }
1 1 elsif ($filename =~ /SAM/i) { }
1 0 elsif ($filename =~ /SECURITY/i) { }
170 0 4 if ($offset_to_next_hbin > $end_of_file)
173 2 2 if (my $hbin = 'Parse::Win32Registry::WinNT::Hbin'->new($self, $offset_to_next_hbin)) { }
176 0 2 unless $hbin->get_length > 0
191 0 0 if (defined(my $cache = $$self{'_security_cache'}))
218 0 4 unless defined $regfile
219 0 4 unless defined $offset
232 2 2 if ($bytes_read != 32)
241 0 2 if ($sig ne 'hbin')
281 2 70 if ($offset_to_next_entry >= $end_of_hbin)
284 70 0 if (my $entry = 'Parse::Win32Registry::WinNT::Entry'->new($regfile, $offset_to_next_entry)) { }
287 0 70 unless $entry->get_length > 0