Commit | Line | Data |
a3ce2d76 |
1 | use strict; |
2 | |
5f6f355a |
3 | use Test::More qw(no_plan); |
a3ce2d76 |
4 | |
5 | use Test::Group; |
6 | |
7 | use File::Temp qw( tempdir tempfile ); |
8 | |
9 | my $perl = $^X || 'perl'; |
10 | my $inc = join(' -I ', @INC) || ''; |
11 | $inc = "-I $inc" if $inc; |
12 | |
13 | test '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 | |
22 | test '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 | |
31 | test '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 | |
40 | sub make_bad_file_1 { |
41 | my $tmpdir = tempdir(); |
42 | my ($fh, $filename) = tempfile( DIR => $tmpdir, SUFFIX => '.pL' ); |
43 | print $fh <<"DUMMY"; |
44 | #!perl |
45 | |
46 | sub main { |
47 | \tprint "Hello!\n"; |
48 | } |
49 | DUMMY |
50 | return $tmpdir; |
51 | } |
52 | |
53 | sub 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 | |
63 | test.pL - A test script |
64 | |
65 | =cut |
66 | |
67 | sub main { |
68 | \tprint "Hello!\n"; |
69 | } |
70 | DUMMY |
71 | return $tmpdir; |
72 | } |
73 | |
74 | sub make_bad_file_3 { |
75 | my $tmpdir = tempdir(); |
76 | my ($fh, $filename) = tempfile( DIR => $tmpdir, SUFFIX => '.pm' ); |
77 | print $fh <<"DUMMY"; |
78 | use strict; |
79 | |
80 | package My::Test; |
81 | |
82 | sub new { |
83 | \tmy (\$class) = @_; |
84 | \tmy \$self = bless { }, \$class; |
85 | \treturn \$self; |
86 | } |
87 | |
88 | 1; |
89 | __DATA__ |
90 | nick gerakines software engineer 22 |
91 | DUMMY |
92 | return $filename; |
93 | } |
94 | |