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