1BEGIN { 2 if($ENV{PERL_CORE}) { 3 chdir 't'; 4 @INC = '../lib'; 5 } 6} 7 8use strict; 9use Pod::Simple::Search; 10use Test; 11BEGIN { plan tests => 11 } 12 13print "# ", __FILE__, 14 ": Testing the scanning of several (well, two) docroots...\n"; 15 16my $x = Pod::Simple::Search->new; 17die "Couldn't make an object!?" unless ok defined $x; 18 19$x->inc(0); 20 21$x->callback(sub { 22 print "# ", join(" ", map "{$_}", @_), "\n"; 23 return; 24}); 25 26use File::Spec; 27use Cwd; 28my $cwd = cwd(); 29print "# CWD: $cwd\n"; 30 31sub source_path { 32 my $file = shift; 33 if ($ENV{PERL_CORE}) { 34 my $updir = File::Spec->updir; 35 my $dir = File::Spec->catdir($updir, 'lib', 'Pod', 'Simple', 't'); 36 return File::Spec->catdir ($dir, $file); 37 } else { 38 return $file; 39 } 40} 41 42my($here1, $here2); 43if( -e ($here1 = source_path('testlib1'))) { 44 die "But where's $here2?" 45 unless -e ($here2 = source_path('testlib2')); 46} elsif( -e ($here1 = File::Spec->catdir($cwd, 't', 'testlib1' ))) { 47 die "But where's $here2?" 48 unless -e ($here2 = File::Spec->catdir($cwd, 't', 'testlib2')); 49} else { 50 die "Can't find the test corpora"; 51} 52print "# OK, found the test corpora\n# as $here1\n# and $here2\n"; 53ok 1; 54 55print $x->_state_as_string; 56#$x->verbose(12); 57 58use Pod::Simple; 59*pretty = \&Pod::Simple::BlackBox::pretty; 60 61print "# OK, starting run...\n# [[\n"; 62my($name2where, $where2name) = $x->survey($here1, $here2); 63print "# ]]\n#OK, run done.\n"; 64 65my $p = pretty( $where2name, $name2where )."\n"; 66$p =~ s/, +/,\n/g; 67$p =~ s/^/# /mg; 68print $p; 69 70{ 71my $names = join "|", sort values %$where2name; 72skip $^O eq 'VMS' ? '-- case may or may not be preserved' : 0, 73 $names, 74 "Blorm|Suzzle|Zonk::Pronk|hinkhonk::Glunk|hinkhonk::Vliff|perlflif|perlthng|perlzuk|squaa|squaa::Glunk|squaa::Vliff|squaa::Wowo|zikzik"; 75} 76 77{ 78my $names = join "|", sort keys %$name2where; 79skip $^O eq 'VMS' ? '-- case may or may not be preserved' : 0, 80 $names, 81 "Blorm|Suzzle|Zonk::Pronk|hinkhonk::Glunk|hinkhonk::Vliff|perlflif|perlthng|perlzuk|squaa|squaa::Glunk|squaa::Vliff|squaa::Wowo|zikzik"; 82} 83 84ok( ($name2where->{'squaa'} || 'huh???'), '/squaa\.pm$/'); 85 86ok grep( m/squaa\.pm/, keys %$where2name ), 1; 87 88###### Now with recurse(0) 89 90$x->recurse(0); 91 92print "# OK, starting run without recurse...\n# [[\n"; 93($name2where, $where2name) = $x->survey($here1, $here2); 94print "# ]]\n#OK, run without recurse done.\n"; 95 96$p = pretty( $where2name, $name2where )."\n"; 97$p =~ s/, +/,\n/g; 98$p =~ s/^/# /mg; 99print $p; 100 101{ 102my $names = join "|", sort values %$where2name; 103skip $^O eq 'VMS' ? '-- case may or may not be preserved' : 0, 104 $names, 105 "Blorm|Suzzle|squaa|zikzik"; 106} 107 108{ 109my $names = join "|", sort keys %$name2where; 110skip $^O eq 'VMS' ? '-- case may or may not be preserved' : 0, 111 $names, 112 "Blorm|Suzzle|squaa|zikzik"; 113} 114 115ok( ($name2where->{'squaa'} || 'huh???'), '/squaa\.pm$/'); 116 117ok grep( m/squaa\.pm/, keys %$where2name ), 1; 118 119ok 1; 120 121__END__ 122 123