Commit | Line | Data |
a83ae797 |
1 | use strict; |
2 | |
3 | use Test::More qw(no_plan); |
4 | |
5 | use File::Temp qw( tempdir tempfile ); |
6 | |
7 | my $perl = $^X || 'perl'; |
8 | my $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 | |
47 | sub make_bad_file_1 { |
48 | my $tmpdir = tempdir(); |
49 | my ($fh, $filename) = tempfile( DIR => $tmpdir, SUFFIX => '.pL' ); |
50 | print $fh <<"DUMMY"; |
51 | #!perl |
52 | |
53 | sub main { |
54 | print "Hello!\r\n"; |
55 | } |
56 | DUMMY |
57 | return $tmpdir; |
58 | } |
59 | |
60 | sub 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 | |
70 | test.pL - A test script |
71 | \r |
72 | =cut |
73 | |
74 | sub main { |
75 | print "Hello!\n"; |
76 | } |
77 | DUMMY |
78 | return $tmpdir; |
79 | } |
80 | |
81 | sub make_bad_file_3 { |
82 | my $tmpdir = tempdir(); |
83 | my ($fh, $filename) = tempfile( DIR => $tmpdir, SUFFIX => '.pm' ); |
84 | print $fh <<"DUMMY"; |
85 | use strict;\r |
86 | \r |
87 | package My::Test;\r |
88 | \r |
89 | sub new {\r |
90 | my (\$class) = @_;\r |
91 | my \$self = bless { }, \$class;\r |
92 | return \$self;\r |
93 | }\r |
94 | \r |
95 | 1;\r |
96 | DUMMY |
97 | close $fh; |
98 | return ($tmpdir, $filename); |
99 | } |
100 | |