Version 0.9, fix the bleeding message...
[catagits/Test-NoTabs.git] / t / 12-fail.t
index 731b76a..7a25704 100644 (file)
@@ -1,8 +1,6 @@
 use strict;
 
-use Test::More no_plan => 1;
-
-use Test::Group;
+use Test::More qw(no_plan);
 
 use File::Temp qw( tempdir tempfile );
 
@@ -10,32 +8,41 @@ my $perl  = $^X || 'perl';
 my $inc = join(' -I ', @INC) || '';
 $inc = "-I $inc" if $inc;
 
-test 'bad file 1' => sub {
+{
     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' );
-};
+    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");
+}
 
-test 'bad file 2' => sub {
+{
     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 file' );
-};
+    like( $content, qr/^not ok 1 - No tabs in '[^']*' on line 12/m, 'tabs found in tmp file2 ' );
+    unlink $outfile;
+    system("rm -rf $dir");
+}
 
-test 'bad file 3' => sub {
-    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' );
-};
+    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 {
   my $tmpdir = tempdir();
@@ -89,6 +96,7 @@ sub new {
 __DATA__
 nick   gerakines       software engineer       22
 DUMMY
-  return $filename;
+  close $fh;
+  return ($tmpdir, $filename);
 }