Add dists to .gitingore
[catagits/Test-NoTabs.git] / t / 12-fail.t
CommitLineData
a3ce2d76 1use strict;
2
5f6f355a 3use Test::More qw(no_plan);
a3ce2d76 4
a3ce2d76 5use File::Temp qw( tempdir tempfile );
6
7my $perl = $^X || 'perl';
8my $inc = join(' -I ', @INC) || '';
9$inc = "-I $inc" if $inc;
10
08ffaabd 11{
a3ce2d76 12 my $dir = make_bad_file_1();
11620476 13 my (undef, $outfile) = tempfile();
a3ce2d76 14 ok( `$perl $inc -MTest::NoTabs -e "all_perl_files_ok( '$dir' )" 2>&1 > $outfile` );
15 local $/ = undef;
11620476 16 open my $fh, '<', $outfile or die $!;
a3ce2d76 17 my $content = <$fh>;
bdc23c0c 18 like( $content, qr/^not ok 1 - No tabs in '[^']*' on line 4/m, 'tabs found in tmp file 1' );
2550d7cb 19 unlink $outfile;
20 system("rm -rf $dir");
08ffaabd 21}
a3ce2d76 22
08ffaabd 23{
a3ce2d76 24 my $dir = make_bad_file_2();
11620476 25 my (undef, $outfile) = tempfile();
a3ce2d76 26 ok( `$perl $inc -MTest::NoTabs -e "all_perl_files_ok( '$dir' )" 2>&1 > $outfile` );
11620476 27 open my $fh, '<', $outfile or die $!;
a3ce2d76 28 local $/ = undef;
29 my $content = <$fh>;
bdc23c0c 30 like( $content, qr/^not ok 1 - No tabs in '[^']*' on line 12/m, 'tabs found in tmp file2 ' );
2550d7cb 31 unlink $outfile;
32 system("rm -rf $dir");
08ffaabd 33}
a3ce2d76 34
08ffaabd 35{
2550d7cb 36 my ($dir, $file) = make_bad_file_3();
11620476 37 my (undef, $outfile) = tempfile();
a3ce2d76 38 ok( `$perl $inc -MTest::NoTabs -e "all_perl_files_ok( '$file' )" 2>&1 > $outfile` );
11620476 39 open my $fh, '<', $outfile or die $!;
a3ce2d76 40 local $/ = undef;
41 my $content = <$fh>;
bdc23c0c 42 like( $content, qr/^not ok 1 - No tabs in '[^']*' on line 6/m, 'tabs found in tmp file 3' );
2550d7cb 43 unlink $outfile;
44 system("rm -rf $dir");
08ffaabd 45}
a3ce2d76 46
47sub make_bad_file_1 {
48 my $tmpdir = tempdir();
49 my ($fh, $filename) = tempfile( DIR => $tmpdir, SUFFIX => '.pL' );
50 print $fh <<"DUMMY";
51#!perl
52
53sub main {
54\tprint "Hello!\n";
55}
56DUMMY
57 return $tmpdir;
58}
59
60sub make_bad_file_2 {
61 my $tmpdir = tempdir();
62 my ($fh, $filename) = tempfile( DIR => $tmpdir, SUFFIX => '.pL' );
63 print $fh <<"DUMMY";
64#!perl
65
66=pod
67
68=head1 NAME
69
70test.pL - A test script
71
72=cut
73
74sub main {
75\tprint "Hello!\n";
76}
77DUMMY
78 return $tmpdir;
79}
80
81sub make_bad_file_3 {
82 my $tmpdir = tempdir();
83 my ($fh, $filename) = tempfile( DIR => $tmpdir, SUFFIX => '.pm' );
84 print $fh <<"DUMMY";
85use strict;
86
87package My::Test;
88
89sub new {
90\tmy (\$class) = @_;
91\tmy \$self = bless { }, \$class;
92\treturn \$self;
93}
94
951;
96__DATA__
97nick gerakines software engineer 22
98DUMMY
11620476 99 close $fh;
2550d7cb 100 return ($tmpdir, $filename);
a3ce2d76 101}
102