diff options
author | 2010-09-24 14:48:16 +0000 | |
---|---|---|
committer | 2010-09-24 14:48:16 +0000 | |
commit | b39c515898423c8d899e35282f4b395f7cad3298 (patch) | |
tree | 1112fe0668df8904d89127dcb37234a401c97c42 /gnu/usr.bin/perl/cpan/Pod-Simple/t/reinit.t | |
parent | use a better description for the vnd(4) entry on this file. (diff) | |
download | wireguard-openbsd-b39c515898423c8d899e35282f4b395f7cad3298.tar.xz wireguard-openbsd-b39c515898423c8d899e35282f4b395f7cad3298.zip |
Perl 5.12.2 from CPAN
Diffstat (limited to 'gnu/usr.bin/perl/cpan/Pod-Simple/t/reinit.t')
-rwxr-xr-x | gnu/usr.bin/perl/cpan/Pod-Simple/t/reinit.t | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/reinit.t b/gnu/usr.bin/perl/cpan/Pod-Simple/t/reinit.t new file mode 100755 index 00000000000..8576e9963e5 --- /dev/null +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/reinit.t @@ -0,0 +1,91 @@ +BEGIN { + chdir 't' if -d 't'; + if($ENV{PERL_CORE}) { + @INC = '../lib'; + } +} + +use lib '../lib'; + +use strict; +use Test; +BEGIN { plan tests => 5 }; + +sub source_path { + my $file = shift; + if ($ENV{PERL_CORE}) { + require File::Spec; + my $updir = File::Spec->updir; + my $dir = File::Spec->catdir ($updir, 'lib', 'Pod', 'Simple', 't'); + return File::Spec->catfile ($dir, $file); + } else { + return $file; + } +} + +use Pod::Simple::Text; +$Pod::Simple::Text::FREAKYMODE = 1; + +my $parser = Pod::Simple::Text->new(); + +foreach my $file ( + "junk1.pod", + "junk2.pod", + "perlcyg.pod", + "perlfaq.pod", + "perlvar.pod", +) { + + unless(-e source_path($file)) { + ok 0; + print "# But $file doesn't exist!!\n"; + next; + } + + my $precooked = $file; + my $outstring; + my $compstring; + $precooked =~ s<\.pod><o.txt>s; + $parser->reinit; + $parser->output_string(\$outstring); + $parser->parse_file(source_path($file)); + + open(IN, $precooked) or die "Can't read-open $precooked: $!"; + { + local $/; + $compstring = <IN>; + } + close(IN); + + for ($outstring,$compstring) { s/\s+/ /g; s/^\s+//s; s/\s+$//s; } + + if($outstring eq $compstring) { + ok 1; + next; + } elsif( do{ + for ($outstring, $compstring) { tr/ //d; }; + $outstring eq $compstring; + }){ + print "# Differ only in whitespace.\n"; + ok 1; + next; + } else { + + my $x = $outstring ^ $compstring; + $x =~ m/^(\x00*)/s or die; + my $at = length($1); + print "# Difference at byte $at...\n"; + if($at > 10) { + $at -= 5; + } + { + print "# ", substr($outstring,$at,20), "\n"; + print "# ", substr($compstring,$at,20), "\n"; + print "# ^..."; + } + + ok 0; + printf "# Unequal lengths %s and %s\n", length($outstring), length($compstring); + next; + } + } |