[Module-build-checkins] Module-Build/t tilde.t,1.2,1.3
Status: Beta
Brought to you by:
kwilliams
|
From: Michael G S. <sc...@us...> - 2005-06-23 02:12:10
|
Update of /cvsroot/module-build/Module-Build/t In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13544/t Modified Files: tilde.t Log Message: Functionalize the tilde test. Add in tests for various tricky ~ expansions. Add tests for prefix, install_path and destdir. install_path and destdir will currently fail, they are not handled. Index: tilde.t =================================================================== RCS file: /cvsroot/module-build/Module-Build/t/tilde.t,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- tilde.t 23 Jun 2005 01:54:55 -0000 1.2 +++ tilde.t 23 Jun 2005 02:12:01 -0000 1.3 @@ -2,25 +2,50 @@ # Test ~ expansion from command line arguments. +use lib 't/lib'; use strict; -use Test::More tests => 2; +use Test::More tests => 6; +use TieOut; use Cwd; use File::Spec::Functions qw(catdir); use Module::Build; my $cwd = cwd; -foreach my $param (qw(install_base prefix)) { - local $ENV{HOME} = 'home'; +sub test_tilde_expansion { + my($args, $expect) = @_; + + local $Test::Builder::Level = $Test::Builder::Level + 1; chdir 'Sample'; - Module::Build->run_perl_script('Build.PL', [], ["--$param=~"]); + + Module::Build->run_perl_script('Build.PL', [], [@$args, '--quiet=1']); my $mb = Module::Build->current; - like( $mb->install_destination('lib'), qr/\Q$ENV{HOME}/ ); + my $ret = like( $mb->install_destination('lib'), $expect, + join ' ', @$args + ); chdir $cwd; + + return $ret; } + +{ + local $ENV{HOME} = 'home'; + test_tilde_expansion(['--install_base=~'], qr{^$ENV{HOME}} ); + test_tilde_expansion(['--install_base=~/foo'], qr{^$ENV{HOME}/foo} ); + test_tilde_expansion(['--install_base=~~'], qr{^~~} ); + test_tilde_expansion(['--install_base=foo~'], qr{^foo~} ); + + test_tilde_expansion(['--prefix=~'], qr{^$ENV{HOME}} ); + test_tilde_expansion(['--destdir=~'], qr{^$ENV{HOME}} ); + + test_tilde_expansion(['--install_path', 'lib=~/lib'], + qr{^$ENV{HOME}/lib} ); +} + + |