X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fbad_variables.t;h=6a8a13938c1ddda6254687165cc8d27f9fb0c785;hb=c3f6eefbefd51c0993675fb56a57f545a2c86bca;hp=96e199246b5cea3ff7500f3b67e8a6e3a1fbe6e5;hpb=1b0fe50a0169435cea5a426cebf27879432494c1;p=p5sagit%2Flocal-lib.git diff --git a/t/bad_variables.t b/t/bad_variables.t index 96e1992..6a8a139 100644 --- a/t/bad_variables.t +++ b/t/bad_variables.t @@ -1,34 +1,37 @@ use strict; use warnings; -use Test::More tests => 5; +use Test::More tests => 6; use File::Temp 'tempdir'; +use Config; use local::lib (); -# remember the original value of this, in case we are already running inside a -# local::lib -my $orig_llr = $ENV{PERL_LOCAL_LIB_ROOT}; +use lib 't/lib'; use TempDir; -my $dir1 = tempdir('test_local_lib-XXXXX', DIR => Cwd::abs_path('t'), CLEANUP => 1); -my $dir2 = tempdir('test_local_lib-XXXXX', DIR => Cwd::abs_path('t'), CLEANUP => 1); -my $dir3 = tempdir('test_local_lib-XXXXX', DIR => Cwd::abs_path('t'), CLEANUP => 1); +delete $ENV{PERL_LOCAL_LIB_ROOT}; + +my $dir1 = mk_temp_dir('test_local_lib-XXXXX'); +my $dir2 = mk_temp_dir('test_local_lib-XXXXX'); +my $dir3 = mk_temp_dir('test_local_lib-XXXXX'); ok(!(grep { $dir1 eq $_ } @INC), 'new dir is not already in @INC'); -ok(!(grep { $dir1 eq $_ } split /:/, $ENV{PERL5LIB}), 'new dir is not already in PERL5LIB'); +ok(!(grep { $dir1 eq $_ } split /\Q$Config{path_sep}\E/, ($ENV{PERL5LIB}||'')), 'new dir is not already in PERL5LIB'); local::lib->import($dir1); local::lib->import($dir2); # we have junk in here now -$ENV{PERL_LOCAL_LIB_ROOT} .= ':' . $dir3; +$ENV{PERL_LOCAL_LIB_ROOT} = $dir3 . $Config{path_sep} . $ENV{PERL_LOCAL_LIB_ROOT}; local::lib->import($dir1); is( $ENV{PERL_LOCAL_LIB_ROOT}, - join(':', $orig_llr, $dir2, $dir1), - 'dir1 should have been removed and added back in at the top', + join($Config{path_sep}, (grep { defined $_ and $_ ne '' } $dir1, $dir3, $dir2)), + 'dir1 should have been removed and added back in at the top' ); +ok((!grep { $_ eq $dir3 } local::lib->active_paths), 'junk dir added not included in active_paths'); + ok((grep { /\Q$dir1\E/ } @INC), 'new dir has been added to @INC'); -ok((grep { /\Q$dir1\E/ } split /:/, $ENV{PERL5LIB}), 'new dir has been added to PERL5LIB'); +ok((grep { /\Q$dir1\E/ } split /\Q$Config{path_sep}\E/, $ENV{PERL5LIB}), 'new dir has been added to PERL5LIB');