3 # Test ~ expansion from command line arguments.
6 use lib $ENV{PERL_CORE} ? '../lib/Module/Build/t/lib' : 't/lib';
7 use MBTest tests => 10;
11 my $tmp = File::Spec->catdir( $cwd, 't', '_tmp' );
14 my $dist = DistGen->new( dir => $tmp );
17 chdir( $dist->dirname ) or die "Can't chdir to '@{[$dist->dirname]}': $!";
25 local $Test::Builder::Level = $Test::Builder::Level + 1;
31 $mb = Module::Build->new_from_context( @args );
39 local $ENV{HOME} = 'home';
43 $mb = run_sample( install_base => '~' );
44 is( $mb->install_base, $ENV{HOME} );
46 $mb = run_sample( install_base => '~/foo' );
47 is( $mb->install_base, "$ENV{HOME}/foo" );
49 $mb = run_sample( install_base => 'foo~' );
50 is( $mb->install_base, 'foo~' );
52 $mb = run_sample( prefix => '~' );
53 is( $mb->prefix, $ENV{HOME} );
55 $mb = run_sample( install_path => { html => '~/html',
58 is( $mb->install_destination('lib'), "$ENV{HOME}/lib" );
59 # 'html' is translated to 'binhtml' & 'libhtml'
60 is( $mb->install_destination('binhtml'), "$ENV{HOME}/html" );
61 is( $mb->install_destination('libhtml'), "$ENV{HOME}/html" );
63 $mb = run_sample( install_path => { lib => '~/lib' } );
64 is( $mb->install_destination('lib'), "$ENV{HOME}/lib" );
66 $mb = run_sample( destdir => '~' );
67 is( $mb->destdir, $ENV{HOME} );
69 $mb->install_base('~');
70 is( $mb->install_base, '~', 'API does not expand tildes' );
75 chdir( $cwd ) or die "Can''t chdir to '$cwd': $!";