1 ### make sure we can find our conf.pl file
4 require "$FindBin::Bin/inc/conf.pl";
9 ### make sure to keep the plan -- this is the only test
10 ### supported for 'older' T::H (pre 2.28) -- see Makefile.PL for details
11 use Test::More tests => 36;
19 use CPANPLUS::Internals::Utils;
21 my $Cwd = File::Spec->rel2abs(cwd());
22 my $Class = 'CPANPLUS::Internals::Utils';
27 rmdir $Move if -d $Move;
28 rmdir $Dir if -d $Dir;
31 { ok( $Class->_mkdir( dir => $Dir), "Created dir '$Dir'" );
32 ok( -d $Dir, " '$Dir' is a dir" );
36 { ok( $Class->_chdir( dir => $Dir), "Chdir to '$Dir'" );
37 is( File::Spec->rel2abs(cwd()), File::Spec->rel2abs(File::Spec->catdir($Cwd,$Dir)),
39 ok( $Class->_chdir( dir => $Cwd), "Chdir back to '$Cwd'" );
40 is( File::Spec->rel2abs(cwd()),$Cwd," Cwd() is '$Cwd'" );
44 { ok( $Class->_move( file => $Dir, to => $Move ),
45 "Move from '$Dir' to '$Move'" );
46 ok( -d $Move, " Dir '$Move' exists" );
47 ok( !-d $Dir, " Dir '$Dir' no longer exists" );
50 { local $CPANPLUS::Error::ERROR_FH = output_handle();
52 ### now try to move it somewhere it can't ###
53 ok( !$Class->_move( file => $Move, to => 'inc' ),
54 " Impossible move detected" );
55 like( CPANPLUS::Error->stack_as_string, qr/Failed to move/,
56 " Expected error found" );
61 { ok( -d $Move, "Dir '$Move' exists" );
62 ok( $Class->_rmdir( dir => $Move ), " Deleted dir '$Move'" );
63 ok(!-d $Move, " Dir '$Move' no longer exists" );
66 ### _get_file_contents tests ###
67 { my $contents = $Class->_get_file_contents( file => basename($0) );
68 ok( $contents, "Got file contents" );
69 like( $contents, qr/BEGIN/, " Proper contents found" );
70 like( $contents, qr/CPANPLUS/, " Proper contents found" );
73 ### _perl_version tests ###
74 { my $version = $Class->_perl_version( perl => $^X );
75 ok( $version, "Perl version found" );
76 like( $version, qr/\d.\d.\d/, " Looks like a proper version" );
79 ### _version_to_number tests ###
88 while( my($try,$expect) = each %$map ) {
89 my $ver = $Class->_version_to_number( version => $try );
90 ok( $ver, "Version returned" );
91 is( $ver, $expect, " Value as expected" );
97 my $me = $Class->_whoami;
98 ok( $me, "_whoami returned a result" );
99 is( $me, 'foo', " Value as expected" );
105 ### _mode_plus_w tests ###
106 { open my $fh, ">$File" or die "Could not open $File for writing: $!";
110 ok( -e $File, "File '$File' created" );
111 ok( chmod( 000, $File ), " File permissions set to 000" );
113 ok( $Class->_mode_plus_w( file => $File ),
114 " File permissions set to +w" );
115 ok( -w $File, " File is writable" );
117 1 while unlink $File;
119 ok( !-e $File, " File removed" );
127 # c-indentation-style: bsd
129 # indent-tabs-mode: nil
131 # vim: expandtab shiftwidth=4: