Branch Coverage

blib/lib/File/Codeowners.pm
Criterion Covered Total %
branch 95 136 69.8


line true false branch
30 0 6 unless my $input = shift()
32 0 6 if ref $input eq "ARRAY"
33 1 5 if ref $input eq "SCALAR"
34 0 5 if &openhandle($input)
41 0 6 unless my $path = shift()
43 6 0 unless ref $self
51 0 10 unless my $fh = shift()
54 1 9 unless ref $self
66 2 51 if ($line eq '### UNOWNED (File::Codeowners)') { }
15 36 elsif ($line =~ /^\h*#(.*)/) { }
14 22 elsif ($line =~ /^\h*$/) { }
1 21 elsif ($opts{'aliases'} and $line =~ /^\h*\@($RE_OWNER)\h+(.+)/) { }
20 1 elsif ($line =~ /^\h*($RE_PATTERN)\h+(.+)/) { }
73 2 13 if ($comment =~ /^\h*Project:\h*(.+?)\h*$/i)
76 2 13 $project ? :
96 2 18 $current_project ? :
107 2 7 if ($parse_unowned)
110 2 0 if ($line =~ /# (.+)/)
127 0 1 unless my $arr = shift()
129 1 0 unless ref $self
138 0 3 unless my $str = shift()
140 2 1 unless ref $self
142 3 0 ref $str eq 'SCALAR' ? :
143 0 3 unless open my $fh, "<:encoding(UTF-8)", $ref
151 0 0 unless my $path = shift()
159 0 0 unless my $fh = shift()
184 4 4 if (my $comment = $line->{'comment'}) { }
3 1 elsif (my $pattern = $line->{'pattern'}) { }
1 0 elsif (my $alias = $line->{'alias'}) { }
201 1 1 if (@unowned)
202 1 0 if $format[-1]
209 0 2 if (defined $charset)
218 0 6 unless my $filepath = shift()
226 1 1 if $alias
229 1 5 $opts{'expand'} ? :
237 0 6 unless $line->{'owners'}
238 2 4 $line->{'project'} ? :
6 9 if &$matcher($filepath)
250 1 3 if not $pattern and $self->{'owners'}
254 5 9 if $pattern and $line->{'pattern'} and $pattern ne $line->{'pattern'}
255 25 14 unless $line->{'owners'}
259 3 1 unless $pattern
269 0 2 if not $owner and $self->{'patterns'}
273 8 6 unless $line->{'owners'}
12 20 if $owner and not grep({$_ eq $owner;} @{[] unless $line->{'owners'};})
275 10 10 if $pattern
279 2 1 unless $owner
288 3 0 if $self->{'aliases'}
292 0 0 unless defined $line->{'alias'}
303 0 2 if $self->{'projects'}
308 4 24 if $project
322 0 2 unless $pattern and $owners
324 0 2 if ref $owners ne "ARRAY"
331 2 2 unless $line->{'pattern'}
332 1 1 if $pattern ne $line->{'pattern'}
345 0 1 unless $project and $owners
347 1 0 if ref $owners ne "ARRAY"
354 13 1 unless $line->{'project'} and $line->{'owners'}
355 0 1 if $project ne $line->{'project'}
368 0 0 unless $old_owner and $new_owner
375 0 0 unless exists $line->{'owners'}
377 0 0 if $line->{'owners'}[$i] ne $old_owner
391 0 1 unless $old_project and $new_project
398 12 2 if not exists $line->{'project'} or $old_project ne $line->{'project'}
400 1 1 if exists $line->{'comment'}
411 1 0 @_ ? :
418 1 0 @_ ? :
424 0 4 unless $self->{'unowned'}