Branch Coverage

blib/lib/FlatFile/DataStore.pm
Criterion Covered Total %
branch 304 378 80.4


line true false branch
217 64 2 if $parms
250 4 62 unless defined $dir and defined $name
253 2 60 unless -d $dir
274 10 50 if (-e $uri_file) { }
277 8 2 if (@lines == 4) { }
1 1 elsif (@lines == 1) { }
280 1 7 unless $uri_md5 eq md5_hex($uri)
281 1 6 unless $obj_md5 eq md5_hex($obj)
284 0 6 if ($new_uri and $new_uri ne $uri and not -e $self->which_datafile(1)) { }
293 1 5 if $@
314 51 5 if (not $obj and $uri)
327 1 855 unless $Attrs{$attr}
340 42 5 if ($self->prevfnum)
342 1 41 unless $self->thisfnum eq $self->prevfnum and $self->thisfnum eq $self->nextfnum
346 1 40 unless $self->thisseek eq $self->prevseek and $self->thisseek eq $self->nextseek
386 8 33 if (my $max = $self->datamax) { }
388 1 7 if ($self->datamax > $maxint)
401 4 36 if (my $max = $self->dirmax)
403 2 2 unless $self->dirlev
406 5 35 if (my $max = $self->keymax)
410 3 37 if (my $max = $self->tocmax)
414 39 1 if (my $user = $self->user)
419 1 1141 unless $Optional{$attr} or defined $self->$attr
427 10 33 if defined $_
480 1 73 if length $keynum > $keylen
549 0 69 unless close $datafh
550 0 69 unless close $keyfh
581 0 64 unless /^ [0-9]+ $/x
588 1 63 if (defined $pos) { }
590 0 1 unless /^ [0-9]+ $/x
605 2 61 if $keynum > $trynum
608 0 61 unless close $keyfh
619 0 62 unless close $datafh
622 61 1 if ($keystring)
625 0 61 if $string ne $keystring
650 0 4 unless /^ [0-9]+ $/x
659 1 3 if $keynum > $trynum
662 0 3 unless close $keyfh
717 0 3 unless /^ [0-9]+ $/x
725 0 3 if (defined $pos) { }
727 0 0 unless /^ [0-9]+ $/x
742 1 2 if $keynum > $trynum
745 0 2 unless close $keyfh
759 2 0 if ($keystring) { }
761 0 2 if $preamble ne $keystring
773 0 2 unless sysseek $datafh, $seekpos, 0
816 1 11 unless $pr_obj
832 1 10 unless $prevind =~ /[\Q$create$update$delete\E]/
845 0 10 unless $try eq $prevpreamble
872 7 0 if ($prevnext)
890 7 0 if ($prevnext)
897 7 0 if ($prevdatafile eq $datafile) { }
903 0 0 unless close $prevdatafh
918 7 0 if ($prevnext) { }
919 0 7 if ($prevfnum ne $datafnum) { }
922 0 0 if $prevind ne $delete
927 6 1 if $prevind ne $delete
931 0 0 if $prevind ne $delete
941 7 0 if $prevnext
942 1 6 if $prevind eq $delete
946 0 7 unless close $datafh
947 0 7 unless close $keyfh
974 1 12 unless $pr_obj
989 1 11 unless $prevind =~ /[\Q$create$update\E]/
1002 0 11 unless $try eq $prevpreamble
1030 8 0 if ($prevnext)
1048 8 0 if ($prevnext)
1055 8 0 if ($prevdatafile eq $datafile) { }
1061 0 0 unless close $prevdatafh
1075 8 0 if ($prevnext) { }
1076 0 8 if ($prevfnum ne $datafnum) { }
1098 8 0 if $prevnext
1103 0 8 unless close $datafh
1104 0 8 unless close $keyfh
1140 3 105 unless $parms
1145 19 86 if ($reftype =~ /Record/) { }
83 3 elsif ($reftype eq 'HASH') { }
1152 1 82 if (ref $_) { }
1153 76 6 if defined $_
1156 13 70 if defined $_
1159 0 83 if defined $_
1163 0 83 if defined $_
1166 73 10 unless defined $_
1167 3 7 unless $data_ref
1168 6 4 unless defined $user_data
1169 10 0 unless $preamble
1175 3 99 unless $data_ref
1208 1 1 if (ref $self) { }
1213 0 1 unless $dir and $name
1218 0 1 if ($parms)
1224 1 0 unless $dir and $name
1249 0 1 unless /^ [0-9]+ $/x
1304 49 433 if ($omap)
1306 1 48 unless omap_is_valid($omap)
1311 0 481 unless defined $_
1312 359 122 if wantarray
1333 38 1102 if (defined $dir and $dir eq '') { }
1336 145 957 if (defined $dir)
1338 1 144 unless -d $dir
1427 47 83 if @_ > 1
1428 47 40 if @_ > 1
1429 47 85 if @_ > 1
1430 47 85 if @_ > 1
1431 47 86 if @_ > 1
1432 47 41 if @_ > 1
1433 47 168 if @_ > 1
1434 47 163 if @_ > 1
1442 42 113 if @_
1443 108 5 if exists $$self{'prevfnum'}
1446 42 42 if @_ > 1
1447 42 42 if @_ > 1
1448 42 41 if @_ > 1
1449 46 80 if @_ > 1
1451 107 960 if @_ > 1
1452 47 40 if @_ > 1
1453 47 878 if @_ > 1
1454 51 129 if @_ > 1
1455 39 40 if @_ > 1
1456 45 124 if @_ > 1
1457 43 339 if @_ > 1
1458 41 445 if @_ > 1
1459 41 599 if @_ > 1
1460 55 183 if @_ > 1
1462 48 378 if @_ > 1
1463 41 209 if @_ > 1
1464 45 329 if @_ > 1
1465 45 508 if @_ > 1
1466 45 342 if @_ > 1
1467 45 521 if @_ > 1
1468 45 1163 if @_ > 1
1469 45 1428 if @_ > 1
1475 8 140 if @_
1476 104 36 if exists $$self{'dirmax'}
1480 4 835 if @_
1481 102 733 if exists $$self{'dirlev'}
1485 6 1195 if @_
1486 77 1118 if exists $$self{'tocmax'}
1490 10 295 if @_
1491 36 259 if exists $$self{'keymax'}
1497 12 56 if @_
1498 24 32 unless exists $$self{'userdata'}
1550 84 62 if (ref $preamble eq 'HASH')
1579 23 141 if (my $keymax = $self->keymax)
1583 1 22 if length $keyfnum > $fnumlen
1592 20 143 if (my $dirlev = $self->dirlev) { }
1597 30 0 $dirmax ? :
1599 10 20 $path ? :
1603 4 16 unless -d $path
1610 93 70 if wantarray
1651 6 87 if ($datasize + $checksize > $datamax)
1653 3 3 if $checksize > $datamax
1660 3 0 if length $fnum > $fnumlen
1690 24 187 if (my $dirlev = $self->dirlev) { }
1697 36 0 $dirmax ? :
1699 12 24 $path ? :
1703 4 20 unless -d $path
1762 1 0 unless $regx
1766 0 0 if /$regx/
1804 0 14 unless defined $_
1834 8 83 if (my $keymax = $self->keymax) { }
1873 3 84 if length $transnum > $translen
1900 0 130 unless $string
1904 1 129 unless @fields
1913 387 1210 if (/indicator|transind|date/) { }
129 1081 elsif (/user/) { }
347 734 elsif (/fnum/) { }
1922 194 153 if $field =~ /^-+$/
1926 194 540 if $field =~ /^-+$/
1960 1 62 unless $specs
1965 23 39 if (/indicator|transind|date|user/) { }
18 21 elsif (/fnum/) { }
1968 4 19 unless $try =~ /$Ascii_chars/
1979 13 45 if length $try > $len
1984 1 15 unless $preamble =~ $self->regx
2011 0 136 unless sysopen $fh, $file, 64
2013 0 136 unless flock $fh, 1
2036 0 386 unless sysopen $fh, $file, 66
2038 0 386 unless flock $fh, 2
2121 0 215 unless sysseek $fh, $seekpos, 0
2123 0 215 unless defined $rc
2144 0 351 unless sysseek $fh, $seekpos, 0
2145 0 351 unless syswrite $fh, $$sref
2166 0 10 unless open $fh, '<', $file
2167 0 10 unless flock $fh, 1
2195 22 62 if (/yyyy/) { }
2250 0 538 unless defined $_
2251 0 538 if /^$/
2254 0 538 unless $allow{$_}
2255 538 0 if ($var =~ /$allow{$_}/) { }