#!/usr/bin/perl -w
BEGIN {
$| = 1;
push
@INC
,
'./blib/lib'
;
}
my
$path
=
'./t/project'
;
my
$saveAll
= 1;
my
$modules
= find_sources(
Output
=>
'./t/project'
);
my
$expected
= {
'./bin/mapmodule'
=> [
'./bin/mapmodule'
,
'./t/project/bin/mapmodule'
],
'Module::Mapper'
=> [
'./lib/Module/Mapper.pm'
,
'./t/project/blib/Module/Mapper.pm'
,
'./lib/Module/Mapper.pod'
,
'./t/project/blib/Module/Mapper.pod'
]
};
saveIt(
'mapper1.out'
, Dumper(
$modules
));
is_deeply(
$modules
,
$expected
,
'find_sources(project mode)'
);
$modules
= find_sources(
Output
=>
'./t/project'
,
Libs
=> [
'./lib'
],
Scripts
=> [
'./bin/mapmodules'
],
Modules
=> [
'Module::Mapper'
,
'File::Path'
],
UseINC
=> 1,
IncludePOD
=> 1,
);
$expected
= {
'./bin/mapmodules'
=> [
'./bin/mapmodules'
,
'./t/project/bin/mapmodules'
],
'Module::Mapper'
=> [
'./lib/Module/Mapper.pm'
,
'./t/project/blib/Module/Mapper.pm'
,
'./lib/Module/Mapper.pod'
,
'./t/project/blib/Module/Mapper.pod'
],
'File::Path'
=> [
'C:/Perl/lib/File/Path.pm'
,
'./t/project/lib/File/Path.pm'
]
};
saveIt(
'mapper2.out'
, Dumper(
$modules
));
ok(
(
exists
$modules
->{
'./bin/mapmodules'
}) &&
($
(
exists
$modules
->{
'Module::Mapper'
}) &&
($
(
exists
$modules
->{
'File::Path'
}) &&
($
,
'find_sources(explicit modules)'
);
$modules
= find_sources(
All
=> 1,
Output
=>
'./t/project'
,
Scripts
=> [
'./bin/mapmodules'
],
Libs
=> [
'./lib'
],
Modules
=> [
'Module'
],
UseINC
=> 1,
IncludePOD
=> 1,
);
saveIt(
'mapper3.out'
, Dumper(
$modules
));
$expected
= {
'./bin/mapmodules'
=> [
'./bin/mapmodules'
,
'./t/project/bin/mapmodules'
],
'Module::Mapper'
=> [
'./lib/Module/Mapper.pm'
,
'./t/project/blib/Module/Mapper.pm'
,
'./lib/Module/Mapper.pod'
,
'./t/project/blib/Module/Mapper.pod'
]
};
is_deeply(
$modules
,
$expected
,
'find_sources(namespace)'
);
sub
saveIt {
return
unless
$saveAll
;
open
OUTF,
">$_[0]"
or
die
$!;
print
OUTF
$_
[1];
close
OUTF;
}