The original of this test script was not cleaning up the /tmp
directory and was using predicatble filenames there. This was what
prompted me to patch it with File::Temp to the rescue.

Besides, it was written with mixed line endings, Unix and
Windows. This is the reason that the patch became so large.

I did not try to understand why the original script used both a
xxx.html and a xxx.html.html file. I suppose this just does not matter
because now we clean up both.

-- 
andk@cpan.org, 2007-10-30

Nur in HTML-Scrubber-0.08-VMleFs: blib.
Nur in HTML-Scrubber-0.08-VMleFs: Makefile.
Nur in HTML-Scrubber-0.08-VMleFs: pm_to_blib.
diff -urp HTML-Scrubber-0.08-VMleFs.orig/t/06_scrub_file.t HTML-Scrubber-0.08-VMleFs/t/06_scrub_file.t
--- HTML-Scrubber-0.08-VMleFs.orig/t/06_scrub_file.t	2003-11-02 12:07:44.000000000 +0100
+++ HTML-Scrubber-0.08-VMleFs/t/06_scrub_file.t	2007-10-30 08:46:03.000000000 +0100
@@ -1,57 +1,61 @@
-# perl Makefile.PL && nmake realclean && cls && perl Makefile.PL && nmake test
+# perl Makefile.PL && nmake realclean && cls && perl Makefile.PL && nmake test
 
-use strict;
+use strict;
 use File::Spec;
+use File::Temp;
 use Test::More tests => 10;
 BEGIN { $^W = 1 }
 
-                use_ok( 'HTML::Scrubber' );
+use_ok( 'HTML::Scrubber' );
 
-my $s = HTML::Scrubber->new;
-my $html = q[<html><body><p>hi<br>start <!--comment--> mid1 <?html pi> mid2 <?xml pi?> end</body></html>];
+my $s = HTML::Scrubber->new;
+my $html = q[<html><body><p>hi<br>start <!--comment--> mid1 <?html pi> mid2 <?xml pi?> end</body></html>];
 
-                isa_ok($s, 'HTML::Scrubber');
-
-my $tmpdir = File::Spec->tmpdir();
-
-SKIP: {
-    skip "no writable temporary directory found", 6
-        unless length $tmpdir
-            and -d $tmpdir;
-
-    my $tmpfile = File::Spec->catfile($tmpdir,"html-scrubber.test.html");
-    my $r = $s->scrub($html,$tmpfile);
-    $r = "Error: \$@=$@ \$!=$!" unless $r;
-                    is($r, 1, "scrub(\$html,\$tmpfile=$tmpfile)");
-
-#    use Data::Dumper;die Dumper($s);
-
-    local *FILIS;
-    open FILIS, "+>$tmpfile" or die "can't write to $tmpfile";
-
-    $r = $s->scrub($html,\*FILIS);
-    $r = "Error: \$@=$@ \$!=$!" unless $r;
-
-                    is($r, 1, q[scrub($html,\*FILIS)]);
-
-    seek *FILIS,0,0;
-    $r = join '', readline *FILIS;
-                    is($r,"histart  mid1  mid2  end","FILIS has the right stuff");
-                    is(close(FILIS),1,q[close(FILIS)]);
-
-    $r = $s->scrub_file($tmpfile,"$tmpfile.html");
-    $r = "Error: \$@=$@ \$!=$!" unless $r;
-
-                    is($r, 1, qq[scrub_file(\$tmpfile,"\$tmpfile.html"=$tmpfile.html)]);
-
-    open FILIS, "+>$tmpfile.html" or die "can't write to $tmpfile";
-    $r = $s->scrub_file($tmpfile,\*FILIS);
-    $r = "Error: \$@=$@ \$!=$!" unless $r;
-
-                    is($r, 1, q[scrub_file($tmpfile,\*FILIS)]);
-    seek *FILIS,0,0;
-    $r = join '', readline *FILIS;
-                    is($r,"histart  mid1  mid2  end","FILIS has the right stuff");
-                    is(close(FILIS),1,q[close(FILIS)]);
-
-};
+isa_ok($s, 'HTML::Scrubber');
+my $tmpdir = File::Spec->tmpdir;
+
+SKIP: {
+    skip "no writable temporary directory found", 6
+        unless length $tmpdir
+            and -d $tmpdir;
+
+    my $ft = File::Temp->new(template => "html-scrubber-XXXX",
+			     suffix   => ".html",
+			     dir      => $tmpdir,
+			    );
+    my $tmpfile = $ft->filename;
+    my $r = $s->scrub($html,$tmpfile);
+    $r = "Error: \$@=$@ \$!=$!" unless $r;
+                    is($r, 1, "scrub(\$html,\$tmpfile=$tmpfile)");
+
+#    use Data::Dumper;die Dumper($s);
+
+    local *FILIS;
+    open FILIS, "+>$tmpfile" or die "can't write to $tmpfile";
+
+    $r = $s->scrub($html,\*FILIS);
+    $r = "Error: \$@=$@ \$!=$!" unless $r;
+
+                    is($r, 1, q[scrub($html,\*FILIS)]);
+
+    seek *FILIS,0,0;
+    $r = join '', readline *FILIS;
+                    is($r,"histart  mid1  mid2  end","FILIS has the right stuff");
+                    is(close(FILIS),1,q[close(FILIS)]);
+
+    $r = $s->scrub_file($tmpfile,"$tmpfile.html");
+    $r = "Error: \$@=$@ \$!=$!" unless $r;
+
+                    is($r, 1, qq[scrub_file(\$tmpfile,"\$tmpfile.html"=$tmpfile.html)]);
+
+    open FILIS, "+>$tmpfile.html" or die "can't write to $tmpfile";
+    $r = $s->scrub_file($tmpfile,\*FILIS);
+    $r = "Error: \$@=$@ \$!=$!" unless $r;
+
+                    is($r, 1, q[scrub_file($tmpfile,\*FILIS)]);
+    seek *FILIS,0,0;
+    $r = join '', readline *FILIS;
+                    is($r,"histart  mid1  mid2  end","FILIS has the right stuff");
+                    is(close(FILIS),1,q[close(FILIS)]);
+    1 while unlink "$tmpfile.html"; # = .html.html
+};
Nur in HTML-Scrubber-0.08-VMleFs/t: 06_scrub_file.t~.