Condition Coverage

blib/lib/Parse/Win32Registry/Base.pm
Criterion Covered Total %
condition 62 94 65.9


and 3 conditions

line !l l&&!r l&&r condition
246 4 6 12 length $str > 0 and substr($str, -1, 1) eq "\000"
287 0 0 0 defined $function and defined $data
396 6 14 60 defined $value_iter and wantarray
468 2 16 2 defined $key1 and not defined $key2
16 0 2 not defined $key1 and defined $key2
480 8 0 8 defined $timestamp1 and defined $timestamp2
506 2 12 2 defined $val1 and not defined $val2
12 0 2 not defined $val1 and defined $val2
518 0 0 12 defined $data1 and defined $data2
0 12 0 defined $data1 and defined $data2 and $data1 ne $data2
539 744 0 0 $type ne 'CODE' and $type ne 'Parse::Win32Registry::Iterator'
760 0 7 110 $type >= 0 and $type <= 2
1002 12 0 23 $offset_to_owner > 0 and $offset_to_owner < length $data
1011 12 0 21 $offset_to_group > 0 and $offset_to_group < length $data
1020 19 0 12 $offset_to_sacl > 0 and $offset_to_sacl < length $data
1029 12 0 17 $offset_to_dacl > 0 and $offset_to_dacl < length $data

or 2 conditions

line l !l condition
73 34 6 shift() || 0
122 65 5 shift() || 0

or 3 conditions

line l !l&&r !l&&!r condition
173 4 4 525 $epoch_time < 0 or $epoch_time > 2147483647
188 98 0 0 not defined $tz or $tz ne 'Z'
193 0 0 98 $time < 0 or $time > 2147483647
304 1 0 40 @keys == 0 or grep {not UNIVERSAL::isa($_, 'Parse::Win32Registry::Key') if defined $_;} @keys
343 1 0 40 @keys == 0 or grep {not UNIVERSAL::isa($_, 'Parse::Win32Registry::Key') if defined $_;} @keys
382 1 0 6 @keys == 0 or grep {not UNIVERSAL::isa($_, 'Parse::Win32Registry::Key') if defined $_;} @keys
419 1 0 12 @keys == 0 or grep {not UNIVERSAL::isa($_, 'Parse::Win32Registry::Key') if defined $_;} @keys
444 1 0 10 @values == 0 or grep {not UNIVERSAL::isa($_, 'Parse::Win32Registry::Value') if defined $_;} @values
468 18 2 4 defined $key1 || defined $key2
506 14 2 4 defined $val1 || defined $val2
518 0 0 12 $val1->get_name ne $val2->get_name or $val1->get_type != $val2->get_type
0 0 12 $val1->get_name ne $val2->get_name or $val1->get_type != $val2->get_type or defined $data1 ne defined $data2
0 0 12 $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
760 110 2 5 $type >= 0 and $type <= 2 or $type == 17