summaryrefslogtreecommitdiff
path: root/t/loadcfg.t
blob: 4e8fcb5b236d6e8af869b4d5f9082862105d4c28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
use Test::More tests => 3;

use CPAN::Mini::Inject;
use Env;

sub chkcfg {
  return 1 if ( -r '/usr/local/etc/mcpani' );
  return 1 if ( -r '/etc/mcpani' );
}

my $prevhome;
if ( defined( $ENV{HOME} ) ) {
  $prevhome = $ENV{HOME};
  delete $ENV{HOME};
}

my $mcpanienv;
if ( defined( $ENV{MCPANI_CONFIG} ) ) {
  $mcpanienv = $ENV{MCPANI_CONFIG};
  delete $ENV{MCPANI_CONFIG};
}

my $native_path = File::Spec->catfile( qw( t .mcpani config ) );
my $mcpi = CPAN::Mini::Inject->new;

$mcpi->loadcfg( $native_path );
is( $mcpi->{cfgfile}, $native_path );

$ENV{HOME} = 't';
$mcpi->loadcfg;
is( $mcpi->{cfgfile}, $native_path );

$ENV{MCPANI_CONFIG} = $native_path;
$mcpi->loadcfg;
is( $mcpi->{cfgfile}, $native_path );

# XXX add tests for /usr/local/etc/mcpani and /etc/minicpani

$ENV{MCPANI_CONFIG} = $mcpanienv if ( defined( $mcpanienv ) );
$ENV{HOME}          = $prevhome  if ( defined( $prevhome ) );