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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
use Test::More tests => 6;
use CPAN::Mini::Inject;
use File::Path;
mkdir( 't/local/MYCPAN' );
my $mcpi;
$mcpi = CPAN::Mini::Inject->new;
$mcpi->loadcfg( 't/.mcpani/config' )->parsecfg;
$mcpi->add(
module => 'CPAN::Mini::Inject',
authorid => 'SSORICHE',
version => '0.01',
file => 't/local/mymodules/CPAN-Mini-Inject-0.01.tar.gz'
)->add(
module => 'CPAN::Mini::Inject',
authorid => 'SSORICHE',
version => '0.02',
file => 't/local/mymodules/CPAN-Mini-Inject-0.01.tar.gz'
);
my $soriche_path = File::Spec->catfile( 'S', 'SS', 'SSORICHE' );
is( $mcpi->{authdir}, $soriche_path, 'author directory' );
ok(
-r 't/local/MYCPAN/authors/id/S/SS/SSORICHE/CPAN-Mini-Inject-0.01.tar.gz',
'Added module is readable'
);
my $module
= "CPAN::Mini::Inject 0.02 S/SS/SSORICHE/CPAN-Mini-Inject-0.01.tar.gz";
ok( grep( /$module/, @{ $mcpi->{modulelist} } ),
'Module added to list' );
is( grep( /^CPAN::Mini::Inject\s+/, @{ $mcpi->{modulelist} } ),
1, 'Module added to list just once' );
SKIP: {
skip "Not a UNIX system", 2 if ( $^O =~ /^MSWin/ );
is( ( stat( 't/local/MYCPAN/authors/id/S/SS/SSORICHE' ) )[2] & 07777,
0775, 'Added author directory mode is 0775' );
is(
(
stat(
't/local/MYCPAN/authors/id/S/SS/SSORICHE/CPAN-Mini-Inject-0.01.tar.gz'
)
)[2] & 07777,
0664,
'Added module mode is 0664'
);
}
# XXX do the same test as above again, but this time with a ->readlist after
# the ->parsecfg
rmtree( 't/local/MYCPAN', 0, 1 );
|