3 use Test::More tests => 5;
4 use File::Temp 'tempdir';
8 # remember the original value of this, in case we are already running inside a
10 my $orig_llr = $ENV{PERL_LOCAL_LIB_ROOT} || '';
12 my $dir1 = tempdir('test_local_lib-XXXXX', DIR => Cwd::abs_path('t'), CLEANUP => 1);
13 my $dir2 = tempdir('test_local_lib-XXXXX', DIR => Cwd::abs_path('t'), CLEANUP => 1);
14 my $dir3 = tempdir('test_local_lib-XXXXX', DIR => Cwd::abs_path('t'), CLEANUP => 1);
16 ok(!(grep { $dir1 eq $_ } @INC), 'new dir is not already in @INC');
17 ok(!(grep { $dir1 eq $_ } split /\Q$Config{path_sep}\E/, ($ENV{PERL5LIB}||'')), 'new dir is not already in PERL5LIB');
19 local::lib->import($dir1);
20 local::lib->import($dir2);
22 # we have junk in here now
23 $ENV{PERL_LOCAL_LIB_ROOT} .= $Config{path_sep} . $dir3;
25 local::lib->import($dir1);
28 $ENV{PERL_LOCAL_LIB_ROOT},
29 join($Config{path_sep}, (grep { $_ } $orig_llr, $dir2, $dir1)),
30 'dir1 should have been removed and added back in at the top',
33 ok((grep { /\Q$dir1\E/ } @INC), 'new dir has been added to @INC');
34 ok((grep { /\Q$dir1\E/ } split /\Q$Config{path_sep}\E/, $ENV{PERL5LIB}), 'new dir has been added to PERL5LIB');