summaryrefslogtreecommitdiff
path: root/t/loadcfg.t
diff options
context:
space:
mode:
Diffstat (limited to 't/loadcfg.t')
-rw-r--r--t/loadcfg.t40
1 files changed, 40 insertions, 0 deletions
diff --git a/t/loadcfg.t b/t/loadcfg.t
new file mode 100644
index 0000000..4e8fcb5
--- /dev/null
+++ b/t/loadcfg.t
@@ -0,0 +1,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 ) );