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