#!/usr/bin/perl use strict; use warnings; use File::Spec; use Test::More; BEGIN { if(!File::Spec->case_tolerant()) { plan skip_all => 'Test irrelevant on case intolerant systems'; } else { plan tests => 43; } } use lib qw(t t/data/case-insensitive-keys); use Utils; ############################################################## # Tests compilation of Module::ScanDeps ############################################################## BEGIN { use_ok( 'Module::ScanDeps' ); } ############################################################## # Static dependency check of scripts that reference the same # module but in different cases ############################################################## my @roots1 = qw(t/data/case-insensitive-keys/this_case.pl t/data/case-insensitive-keys/that_case.pl); my $expected_rv1 = { "Test.pm" => { file => generic_abs_path("t/data/case-insensitive-keys/Test.pm"), key => "Test.pm", type => "module", used_by => ["this_case.pl", "that_case.pl"], }, "that_case.pl" => { file => generic_abs_path("t/data/case-insensitive-keys/that_case.pl"), key => "that_case.pl", type => "data", uses => ["Test.pm"], }, "this_case.pl" => { file => generic_abs_path("t/data/case-insensitive-keys/this_case.pl"), key => "this_case.pl", type => "data", uses => ["Test.pm"], }, }; # Functional i/f my $rv1 = scan_deps(@roots1); #use Data::Dump qw(dump); #print dump($rv1), "\n"; compare_scandeps_rvs($rv1, $expected_rv1, \@roots1); # Check that only one entry for Cwd is created. my @roots2 = qw(t/data/case-insensitive-keys/Test2.pm); my $rv2 = scan_deps(files => \@roots2); my @keys = grep { lc($_) eq "cwd.pm" } keys %$rv2; ok($#keys == 0, "contains only one match"); __END__