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