File Coverage

blib/lib/File/Find/CaseCollide.pm
Criterion Covered Total %
statement 33 35 94.2
branch 5 6 83.3
condition n/a
subroutine 7 7 100.0
pod 1 1 100.0
total 46 49 93.8


line stmt bran cond sub pod time code
1             package File::Find::CaseCollide;
2             $File::Find::CaseCollide::VERSION = '0.0.2';
3 2     2   84617 use strict;
  2         12  
  2         58  
4 2     2   11 use warnings;
  2         3  
  2         46  
5 2     2   33 use 5.014;
  2         8  
6 2     2   1044 use File::Find::Object ();
  2         22862  
  2         46  
7 2     2   1067 use Moo;
  2         22176  
  2         10  
8              
9             has '_results' => ( is => 'rw' );
10             has '_ffo' => ( is => 'rw' );
11             has 'dir' => ( is => 'ro' );
12              
13             sub _iter
14             {
15 145     145   267 my ($self) = @_;
16 145 100       405 if ( my $r = $self->_ffo->next_obj() )
17             {
18 143 100       30251 if ( $r->is_dir() )
19             {
20 55         90 my %found;
21 55         78 foreach my $fn ( @{ $self->_ffo->get_current_node_files_list() } )
  55         157  
22             {
23 141         7055 push @{ $found{ lc $fn } }, $fn;
  141         459  
24             }
25 55         512 my @positives = grep { @{ $found{$_} } > 1 } ( keys %found );
  141         191  
  141         317  
26              
27 55 50       197 if (@positives)
28             {
29             $self->_results->{ $r->path() } =
30 0         0 +{ map { $_ => $found{$_} } @positives };
  0         0  
31             }
32             }
33 143         476 return 1;
34             }
35 2         400 return;
36             }
37              
38             sub find
39             {
40 2     2 1 1294 my ($self) = @_;
41              
42 2         11 $self->_results( {} );
43 2         22 $self->_ffo( File::Find::Object->new( {}, $self->dir ) );
44              
45 2         457 while ( $self->_iter )
46             {
47             }
48              
49 2         13 return $self->_results;
50             }
51              
52             1;
53              
54             __END__