Login
86d1278c5efdef44ef7ba770d5e7ba1780107333
[gknop/Perl-Critic.git] / t / 03_useless_pragmas.t
1 #!perl
2
3 ##############################################################################
4 #     $URL$
5 #    $Date$
6 #   $Author$
7 # $Revision$
8 ##############################################################################
9
10 use 5.006001;
11 use strict;
12 use warnings;
13
14 #-----------------------------------------------------------------------------
15
16 our $VERSION = '1.093_01';
17
18 #-----------------------------------------------------------------------------
19
20 use Test::More (tests => 1);
21 use Perl::Critic::PolicyFactory (test => 1);
22 use Perl::Critic::Document;
23 use PPI::Document;
24
25 #-----------------------------------------------------------------------------
26
27 my $violation_free_code = <<'END_PERL';
28
29 $foo = 0;  ## this line is not disabled
30
31 ## no critic;    #\
32 $foo = 1;        # |-> this block counts as 3 disabled lines
33 ## use critic;   #/
34
35 $foo = 2; ## no critic;
36
37 $foo = 3; ## no critic (MagicNumbers)
38
39 sub foo {  ## no critic (ExcessComplexity, BuiltinHomonyms)
40     return 1;
41 }
42
43 $foo = 5;  ## this line is not disabled
44
45 END_PERL
46
47 my $ppi_doc = PPI::Document->new(\$violation_free_code);
48 my $doc = Perl::Critic::Document->new($ppi_doc);
49
50 my @site_policies = Perl::Critic::PolicyFactory::site_policy_names();
51 $doc->mark_disabled_lines(@site_policies);
52
53 my @empty_violation_list = ();
54 my @got_warnings = $doc->useless_no_critic_warnings(@empty_violation_list);
55 is(scalar @got_warnings, 7, 'Got correct numer of useless-no-critic warnings.');
56
57 #-----------------------------------------------------------------------------