Add the original source packages to maemo, source lenny
[dh-make-perl] / dev / i386 / libpod-simple-perl / libpod-simple-perl-3.07 / t / reinit.t
diff --git a/dev/i386/libpod-simple-perl/libpod-simple-perl-3.07/t/reinit.t b/dev/i386/libpod-simple-perl/libpod-simple-perl-3.07/t/reinit.t
new file mode 100644 (file)
index 0000000..8576e99
--- /dev/null
@@ -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;
+    }
+  }