Login
Allow specification of violation descriptions in ProhibitEvilModules.
[gknop/Perl-Critic.git] / t / Modules / ProhibitEvilModules.run
1 ## name No modules configured
2 ## failures 0
3 ## cut
4
5 use Evil::Module qw(bad stuff);
6 use Super::Evil::Module;
7
8 #-----------------------------------------------------------------------------
9
10 ## name 2 evil modules
11 ## parms {modules => 'Evil::Module Super::Evil::Module'}
12 ## failures 2
13 ## cut
14
15 use Evil::Module qw(bad stuff);
16 use Super::Evil::Module;
17
18 #-----------------------------------------------------------------------------
19
20 ## name No evil modules
21 ## parms {modules => ' Evil::Module Super::Evil::Module'}
22 ## failures 0
23 ## cut
24
25 use Good::Module;
26
27 #-----------------------------------------------------------------------------
28
29 ## name 2 evil modules, with pattern matching
30 ## parms { modules => '/Evil::/ /Demonic/ ' }
31 ## failures 2
32 ## cut
33
34 use Evil::Module qw(bad stuff);
35 use Demonic::Module
36
37 #-----------------------------------------------------------------------------
38
39 ## name More evil modules, with mixed config
40 ## parms { modules => ' /Evil::/ Demonic::Module /Acme/' }
41 ## failures 4
42 ## cut
43
44 use Evil::Module qw(bad stuff);
45 use Super::Evil::Module;
46 use Demonic::Module;
47 use Acme::Foo;
48
49 #-----------------------------------------------------------------------------
50
51 ## name More evil modules, with more pattern matching
52 ## parms { modules => '/Evil::|Demonic::Module|Acme/ ' }
53 ## failures 4
54 ## cut
55
56 use Evil::Module qw(bad stuff);
57 use Super::Evil::Module;
58 use Demonic::Module;
59 use Acme::Foo;
60
61 #-----------------------------------------------------------------------------
62
63 ## name Pattern matching exceptions
64 ## parms { modules => '/(/' }
65 ## failures 0
66 ## error /invalid regular expression/
67 ## cut
68
69 print 'Hello World';
70
71 #-----------------------------------------------------------------------------
72
73 ## name Providing the description for modules, no regular expressions.
74 ## parms { modules => q' Fatal{Found use of Fatal. Use autodie instead} Getopt::Std {Found use of Getopt::Std. Use Getopt::Long instead} ' }
75 ## failures 2
76 ## cut
77
78 use Fatal qw< open close >;
79 use Getopt::Std;
80
81 #-----------------------------------------------------------------------------
82
83 ## name Providing the description for modules, regular expressions.
84 ## parms { modules => q' /Fatal/{Found use of Fatal. Use autodie instead} /Getopt::Std/ {Found use of Getopt::Std. Use Getopt::Long instead} ' }
85 ## failures 2
86 ## cut
87
88 use Fatal qw< open close >;
89 use Getopt::Std;
90
91 #-----------------------------------------------------------------------------
92
93 #      $URL$
94 #     $Date$
95 #   $Author$
96 # $Revision$
97
98 ##############################################################################
99 # Local Variables:
100 #   mode: cperl
101 #   cperl-indent-level: 4
102 #   fill-column: 78
103 #   indent-tabs-mode: nil
104 #   c-indentation-style: bsd
105 # End:
106 # ex: set ts=8 sts=4 sw=4 tw=78 ft=perl expandtab shiftround :