Branch Coverage

blib/lib/Tie/SymlinkTree.pm
Criterion Covered Total %
branch 42 102 41.1


line true false branch
24 0 2 unless defined $val
27 0 2 if length $val == 0
35 1 2 unless defined $val
37 0 2 if $val eq ''
46 0 10 unless defined $key
51 1 9 if length $key == 0
59 0 3 unless defined $key
61 0 3 if $key eq ''
71 0 0 ref $package ? :
78 0 3 if @_ != 2
79 0 3 ref $package ? :
82 0 3 if $path =~ m[/\.\.?(/|$)]
83 0 3 if -e $path and -l $path
84 1 2 unless (-e $path)
85 0 1 unless mkdir $path or -d $path
86 0 1 if $$self{'ARRAY'}
88 0 3 if -e $path . '.array' xor $$self{'ARRAY'}
97 1 3 if (-d $$self{'PATH'} . $key) { }
98 0 1 if (-e $$self{'PATH'} . $key . '/.array') { }
116 0 1 if ref $val and ref $val ne 'HASH' and ref $val ne 'ARRAY'
118 0 3 if (not defined $val) { }
2 1 elsif (not ref $val) { }
0 1 elsif (ref $val eq 'ARRAY' or ref $val eq 'Tie::SymlinkTree::Array') { }
119 0 0 unless open my $fh, '>', $$self{'PATH'} . ".$$~" . $key
121 0 0 unless (rename $$self{'PATH'} . ".$$~" . $key, $$self{'PATH'} . $key or $recursion)
123 0 2 unless symlink encode_value($val), $$self{'PATH'} . ".$$~" . $key
124 0 2 unless (rename $$self{'PATH'} . ".$$~" . $key, $$self{'PATH'} . $key or $recursion)
128 0 0 if (not $recursion and $@)
133 0 1 if (not $recursion and $@)
145 0 0 if (UNIVERSAL::isa($val, 'ARRAY')) { }
0 0 elsif (UNIVERSAL::isa($val, 'HASH')) { }
159 0 0 if (substr($self->id, 0, 1) ne '.' and -d $$self{'PATH'} . "../.index-$key")
173 0 3 unless $dir
177 6 5 if $subdir eq '.' or $subdir eq '..'
178 1 4 unless (unlink $dir . $subdir)
212 1 2 unless substr($entry, 0, 1) eq '.'
222 2 2 unless substr($entry, 0, 1) eq '.'
234 0 0 if substr($entry, 0, 1) eq '.'
235 0 0 if $entry > $max
278 0 0 @_ ? :
279 0 0 if $off < 0
280 0 0 @_ ? :
281 0 0 if $len < 0
286 0 0 if $off > $size
287 0 0 if $off + $len > $size
288 0 0 if (@_ > $len) { }
0 0 elsif (@_ < $len) { }
308 0 0 wantarray ? :
313 2 0 if (not $$self{'locked'}++)
323 2 0 if (not --$$self{'locked'})
335 6 0 unless $create or -d $$tie{'PATH'} . '.index/'