Branch Coverage

blib/lib/File/Stubb/Render.pm
Criterion Covered Total %
branch 84 118 71.1


line true false branch
43 0 18 unless opendir my $dh, $dir
51 12 6 unless ($hidden)
63 0 4 unless open my $fh, "<", $file
70 0 4 unless (ref $ref eq "HASH")
74 2 2 if ($self->{'Defaults'} and ref $ref->{'defaults'} eq "HASH")
80 4 0 if (exists $ref->{'render_hidden'})
84 4 0 if (exists $ref->{'follow_symlinks'})
88 4 0 if (exists $ref->{'copy_perms'})
126 0 0 unless symlink $to, $out
137 0 14 if ($out eq $STDOUT_PATH)
143 0 14 unless mkdir $out
144 6 8 if ($self->{'CopyPerms'})
153 2 15 if $bn eq ".stubb.json"
163 7 8 if (-d $f) { }
0 8 elsif (not $self->{'FollowLink'} and -l $f) { }
172 0 15 if ($@ ne "")
174 0 0 if (-d $del) { }
0 0 elsif (-f $del) { }
175 0 0 unless rmdir $del
177 0 0 unless unlink $del
195 0 23 unless open my $rh, "<", $template
200 0 23 if ($out eq $STDOUT_PATH) { }
203 0 23 unless open $wh, ">", $out
214 12 73 if (defined $c{'SIGIL'} and $c{'SIGIL'} =~ /^\\/u)
219 54 31 if (not defined $c{'SIGIL'} or $c{'SIGIL'} =~ /^\\/u) { }
6 25 elsif ($c{'SIGIL'} eq '?') { }
12 13 elsif ($c{'SIGIL'} eq '$') { }
8 5 elsif ($c{'SIGIL'} eq '#') { }
5 0 elsif ($c{'SIGIL'} eq '!') { }
221 0 54 unless ($targ =~ /^$SUBST_TARGET_NAME_RX$/u)
226 27 27 exists $self->{'Subst'}{$targ} ? :
229 0 6 unless ($c{'TARGET'} =~ /^$SUBST_TARGET_NAME_RX$/u)
235 5 1 exists $self->{'Subst'}{$c{'TARGET'}} ? :
239 8 4 $self->{'Restricted'} ? :
243 4 4 $self->{'Restricted'} ? :
254 23 0 unless $out eq $STDOUT_PATH
256 4 19 if ($self->{'CopyPerms'} and $out ne $STDOUT_PATH)
282 0 13 unless open my $fh, "<", $template
289 24 21 if (not defined $c{'SIGIL'} or $c{'SIGIL'} eq '?' or $c{'SIGIL'} =~ /^\\/u) { }
4 17 elsif ($c{'SIGIL'} eq '$' and not $self->{'Restricted'}) { }
4 22 elsif ($c{'SIGIL'} eq '#' and not $self->{'Restricted'}) { }
291 0 24 unless $t =~ /^$SUBST_TARGET_NAME_RX$/u
315 1 6 if $bn eq ".stubb.json"
321 0 6 if (-l $f and not $self->{'FollowLink'}) { }
2 4 elsif (-d $f) { }
356 2 21 if (defined $param{'ignore_config'})
360 2 21 if (defined $param{'defaults'})
364 4 19 if (-f $json and not $self->{'IgnoreConf'})
368 11 12 if (defined $param{'subst'})
372 2 21 if (defined $param{'render_hidden'})
376 1 22 if (defined $param{'follow_symlinks'})
380 1 22 if (defined $param{'copy_perms'})
384 3 20 if (defined $param{'restricted'})
389 0 36 unless ($k =~ /^$SUBST_TARGET_NAME_RX$/u)
406 7 15 -d $self->{'Template'} ? :
422 2 9 if (-d $self->{'Template'}) { }
446 4 14 unless (exists $self->{'Subst'}{$c{'TARGET'}})
450 0 14 if ($self->{'Subst'}{$c{'TARGET'}} =~ /$ILLEGAL_PATH_RX/u)
483 0 0 unless (ref $subst eq "HASH")