X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fpod%2Ffind.t;h=3a0b274563f6c9e3564d64498db89ac63c1cc595;hb=8ac1de083da3f4d7b4dfcda5fc1ab646e9e13bd6;hp=f5d4c526b97c57e63ad77f385fe0e71c55a9188e;hpb=d220deaf856c3cdabaa2d430105b75dfc20fe531;p=p5sagit%2Fp5-mst-13.2.git diff --git a/t/pod/find.t b/t/pod/find.t index f5d4c52..3a0b274 100644 --- a/t/pod/find.t +++ b/t/pod/find.t @@ -5,40 +5,56 @@ $| = 1; use Test; -BEGIN { plan tests => 4 } +BEGIN { + plan tests => 4; + use File::Spec; + if ($^O eq 'VMS') { + # This magick is needed to make the VMS I/O system to believe + # that there's life after eight directory levels (this makes + # it believe there's life until sixteen levels). The filesystem + # has no limitation as such. + $DEFAULT_DIR = $ENV{'DEFAULT'}; + my $here = $DEFAULT_DIR; + my ($dev,$dir) = File::Spec->splitpath($here); + $dev =~ s/:$//; + $dev = $ENV{$dev} if exists($ENV{$dev}); + $dev .= ':' if $dev !~ /:/; + $here = File::Spec->canonpath($dev.$dir); + $here =~ s/\]$/.]/; + system "define/nolog/job/trans=conceal temp_perl_base $here"; + chdir('temp_perl_base:[000000]'); + } +} + +END { + chdir($DEFAULT_DIR) if $^O eq 'VMS'; + system "deassign/job temp_perl_base"; +} use Pod::Find qw(pod_find pod_where); -use File::Spec; # load successful ok(1); require Cwd; -my $THISDIR = Cwd::cwd(); my $VERBOSE = 0; -my $lib_dir = File::Spec->catdir($THISDIR,'lib'); +my $lib_dir = File::Spec->catdir('pod', 'testpods', 'lib'); if ($^O eq 'VMS') { - $lib_dir = VMS::Filespec::unixify(File::Spec->catdir($THISDIR,'-','lib','pod')); + $lib_dir = VMS::Filespec::unixify(File::Spec->catdir('pod', 'testpods', 'lib')); $Qlib_dir = $lib_dir; $Qlib_dir =~ s#\/#::#g; } print "### searching $lib_dir\n"; -my %pods = pod_find("$lib_dir"); -my $result = join("\n### ", sort values %pods); -print "### found $result\n"; -my $compare = join(',', qw( - Pod::Checker - Pod::Find - Pod::InputObjects - Pod::ParseUtils - Pod::Parser - Pod::PlainText - Pod::Select - Pod::Usage +my %pods = pod_find($lib_dir); +my $result = join(',', sort values %pods); +my $compare = join(',', sort qw( + Pod::Stuff + Pod::Rhubarb + Like::And::Yeah )); if ($^O eq 'VMS') { $compare = lc($compare); - $result = join(',', sort grep(/pod::/, values %pods)); + $result = join(',', sort values %pods); my $undollared = $Qlib_dir; $undollared =~ s/\$/\\\$/g; $undollared =~ s/\-/\\\-/g; @@ -55,8 +71,6 @@ else { ok($result,$compare); } -# File::Find is located in this place since eons -# and on all platforms, hopefully print "### searching for File::Find\n"; $result = pod_where({ -inc => 1, -verbose => $VERBOSE }, 'File::Find') @@ -71,27 +85,19 @@ if ($^O eq 'VMS') { # privlib is perl_root:[lib] OK but not under mms ok($result,$compare); } else { - $compare = File::Spec->catfile($Config::Config{privlib},"File","Find.pm"); + $compare = File::Spec->catfile(File::Spec->updir, 'lib','File','Find.pm'); ok(_canon($result),_canon($compare)); } # Search for a documentation pod rather than a module -print "### searching for perlfunc.pod\n"; -$result = pod_where({ -inc => 1, -verbose => $VERBOSE }, 'perlfunc') - || 'undef - perlfunc.pod not found!'; +print "### searching for Stuff.pod\n"; +my $search = File::Spec->catdir('pod', 'testpods', 'lib', 'Pod'); +$result = pod_where({ -dirs => [$search], -verbose => $VERBOSE }, 'Stuff') + || 'undef - Stuff.pod not found!'; print "### found $result\n"; -if ($^O eq 'VMS') { # privlib is perl_root:[lib] unfortunately - $compare = "/lib/pod/perlfunc.pod"; - $result = VMS::Filespec::unixify($result); - $result =~ s/perl_root\///i; - $result =~ s/^\.\.//; # needed under `mms test` - ok($result,$compare); -} -else { - $compare = File::Spec->catfile($Config::Config{privlib},"perlfunc.pod"); - ok(_canon($result),_canon($compare)); -} +$compare = File::Spec->catfile('pod', 'testpods', 'lib', 'Pod' ,'Stuff.pod'); +ok(_canon($result),_canon($compare)); # make the path as generic as possible sub _canon