Initial commit. Doesn't work, but I gotta go to work..
[catagits/Test-EOL.git] / t / 12-fail.t
CommitLineData
a83ae797 1use strict;
2
3use Test::More qw(no_plan);
4
5use File::Temp qw( tempdir tempfile );
6
7my $perl = $^X || 'perl';
8my $inc = join(' -I ', @INC) || '';
9$inc = "-I $inc" if $inc;
10
11{
12 my $dir = make_bad_file_1();
13 my (undef, $outfile) = tempfile();
14 ok( `$perl $inc -MTest::EOL -e "all_perl_files_ok( '$dir' )" 2>&1 > $outfile` );
15 local $/ = undef;
16 open my $fh, '<', $outfile or die $!;
17 my $content = <$fh>;
18 like( $content, qr/^not ok 1 - No tabs in '[^']*' on line 4/m, 'windows EOL found in tmp file 1' );
19 #unlink $outfile;
20 #system("rm -rf $dir");
21}
22
23{
24 my $dir = make_bad_file_2();
25 my (undef, $outfile) = tempfile();
26 ok( `$perl $inc -MTest::EOL -e "all_perl_files_ok( '$dir' )" 2>&1 > $outfile` );
27 open my $fh, '<', $outfile or die $!;
28 local $/ = undef;
29 my $content = <$fh>;
30 like( $content, qr/^not ok 1 - No tabs in '[^']*' on line 12/m, 'windows EOL found in tmp file2 ' );
31 unlink $outfile;
32 system("rm -rf $dir");
33}
34
35{
36 my ($dir, $file) = make_bad_file_3();
37 my (undef, $outfile) = tempfile();
38 ok( `$perl $inc -MTest::EOL -e "all_perl_files_ok( '$file' )" 2>&1 > $outfile` );
39 open my $fh, '<', $outfile or die $!;
40 local $/ = undef;
41 my $content = <$fh>;
42 like( $content, qr/^not ok 1 - No tabs in '[^']*' on line 6/m, 'windows EOL found in tmp file 3' );
43 unlink $outfile;
44 system("rm -rf $dir");
45}
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 print "Hello!\r\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\r
72=cut
73
74sub main {
75 print "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;\r
86\r
87package My::Test;\r
88\r
89sub new {\r
90 my (\$class) = @_;\r
91 my \$self = bless { }, \$class;\r
92 return \$self;\r
93}\r
94\r
951;\r
96DUMMY
97 close $fh;
98 return ($tmpdir, $filename);
99}
100