5ab66cb984ccbd0374fa2ff7dc2db4cbf8978a1f
[catagits/Test-NoTabs.git] / t / 11-all.t
1 use strict;
2
3 use Test::NoTabs;
4 use FindBin qw/$Bin/;
5
6 use File::Temp qw( tempdir tempfile );
7
8 all_perl_files_ok("$Bin/../lib");
9
10 notabs_ok( $0, "$0 is tab free" );
11
12 my $tabbed_file1 = make_tabbed_file1();
13 notabs_ok( $tabbed_file1 );
14
15 my $tabbed_file2 = make_tabbed_file2();
16 notabs_ok( $tabbed_file2 );
17
18 my $tabbed_file3 = make_tabbed_file3();
19 notabs_ok( $tabbed_file3 );
20
21
22 sub make_tabbed_file1 {
23   my $tmpdir = tempdir();
24   my ($fh, $filename) = tempfile( DIR => $tmpdir, SUFFIX => '.pL' );
25   print $fh <<'DUMMY';
26 #!/usr/bin/perl -w
27
28 =pod
29
30 =head1 NAME
31
32 This test script doesn't do anything.
33
34 =cut
35
36 sub main {
37     my ($name) = @_;
38     print "Hello $name!\n";
39 }
40
41 DUMMY
42   return $filename;
43 }
44
45 sub make_tabbed_file2 {
46   my $tmpdir = tempdir();
47   my ($fh, $filename) = tempfile( DIR => $tmpdir, SUFFIX => '.pL' );
48   print $fh <<'DUMMY';
49 #!/usr/bin/perl -w
50
51 =pod
52
53 =head1 NAME
54
55 This test script doesn't do anything.
56
57         Its OK to have tabs in pod
58
59 =cut
60
61 sub main {
62     my ($name) = @_;
63     print "Hello $name!\n";
64 }
65
66 DUMMY
67   return $filename;
68 }
69
70 sub make_tabbed_file3 {
71   my $tmpdir = tempdir();
72   my ($fh, $filename) = tempfile( DIR => $tmpdir, SUFFIX => '.pm' );
73   print $fh <<'DUMMY';
74 package My::Test;
75
76 use strict;
77 use warnings;
78
79 sub new {
80     my ($class) = @_;
81     my $self = bless {}, $class;
82     return $self;
83 }
84
85 1;
86 __END__
87         I can have tabs here too!
88 DUMMY
89   return $filename;
90 }