Version 0.9, fix the bleeding message...
[catagits/Test-NoTabs.git] / t / 12-fail.t
index 21daa75..7a25704 100644 (file)
@@ -10,29 +10,38 @@ $inc = "-I $inc" if $inc;
 
 {
     my $dir = make_bad_file_1();
-    my ($fh, $outfile) = tempfile();
+    my (undef, $outfile) = tempfile();
     ok( `$perl $inc -MTest::NoTabs -e "all_perl_files_ok( '$dir' )" 2>&1 > $outfile` );
     local $/ = undef;
+    open my $fh, '<', $outfile or die $!;
     my $content = <$fh>;
-    like( $content, qr/^not ok 1 - Found tabs in '[^']*' on line 4/m, 'tabs found in tmp file 1' );
+    like( $content, qr/^not ok 1 - No tabs in '[^']*' on line 4/m, 'tabs found in tmp file 1' );
+    unlink $outfile;
+    system("rm -rf $dir");
 }
 
 {
     my $dir = make_bad_file_2();
-    my ($fh, $outfile) = tempfile();
+    my (undef, $outfile) = tempfile();
     ok( `$perl $inc -MTest::NoTabs -e "all_perl_files_ok( '$dir' )" 2>&1 > $outfile` );
+    open my $fh, '<', $outfile or die $!;
     local $/ = undef;
     my $content = <$fh>;
-    like( $content, qr/^not ok 1 - Found tabs in '[^']*' on line 12/m, 'tabs found in tmp file2 ' );
+    like( $content, qr/^not ok 1 - No tabs in '[^']*' on line 12/m, 'tabs found in tmp file2 ' );
+    unlink $outfile;
+    system("rm -rf $dir");
 }
 
 {
-    my $file = make_bad_file_3();
-    my ($fh, $outfile) = tempfile();
+    my ($dir, $file) = make_bad_file_3();
+    my (undef, $outfile) = tempfile();
     ok( `$perl $inc -MTest::NoTabs -e "all_perl_files_ok( '$file' )" 2>&1 > $outfile` );
+    open my $fh, '<', $outfile or die $!;
     local $/ = undef;
     my $content = <$fh>;
-    like( $content, qr/^not ok 1 - Found tabs in '[^']*' on line 6/m, 'tabs found in tmp file 3' );
+    like( $content, qr/^not ok 1 - No tabs in '[^']*' on line 6/m, 'tabs found in tmp file 3' );
+    unlink $outfile;
+    system("rm -rf $dir");
 }
 
 sub make_bad_file_1 {
@@ -87,6 +96,7 @@ sub new {
 __DATA__
 nick   gerakines       software engineer       22
 DUMMY
-  return $filename;
+  close $fh;
+  return ($tmpdir, $filename);
 }