Modified source files and compiled any and armel versions of packages
[pkg-perl] / deb-src / libperl-critic-perl / libperl-critic-perl-1.088 / t / 05_utils_ppi.t
1 #!perl
2
3 ##############################################################################
4 #      $URL: http://perlcritic.tigris.org/svn/perlcritic/trunk/Perl-Critic/t/05_utils_ppi.t $
5 #     $Date: 2008-06-06 00:48:04 -0500 (Fri, 06 Jun 2008) $
6 #   $Author: clonezone $
7 # $Revision: 2416 $
8 ##############################################################################
9
10 use 5.006001;
11 use strict;
12 use warnings;
13 use Readonly;
14
15 use Test::More tests => 67;
16
17 #-----------------------------------------------------------------------------
18
19 my @PPI_STATEMENT_CLASSES;
20
21 BEGIN {
22     @PPI_STATEMENT_CLASSES = qw{
23         PPI::Statement
24             PPI::Statement::Package
25             PPI::Statement::Include
26             PPI::Statement::Sub
27                 PPI::Statement::Scheduled
28             PPI::Statement::Compound
29             PPI::Statement::Break
30             PPI::Statement::Data
31             PPI::Statement::End
32             PPI::Statement::Expression
33                 PPI::Statement::Variable
34             PPI::Statement::Null
35             PPI::Statement::UnmatchedBrace
36             PPI::Statement::Unknown
37     };
38
39     use_ok('PPI::Token::Word');
40     foreach my $class (@PPI_STATEMENT_CLASSES) {
41         use_ok($class);
42     }
43
44     use_ok('Perl::Critic::Utils::PPI', qw{ :all } );
45 }
46
47 my %INSTANCES = map { $_ => $_->new() } @PPI_STATEMENT_CLASSES;
48 $INSTANCES{'PPI::Token::Word'} = PPI::Token::Word->new('foo');
49
50 #-----------------------------------------------------------------------------
51 #  export tests
52
53 can_ok('main', 'is_ppi_expression_or_generic_statement');
54 can_ok('main', 'is_ppi_generic_statement');
55 can_ok('main', 'is_ppi_statement_subclass');
56
57 #-----------------------------------------------------------------------------
58 #  is_ppi_expression_or_generic_statement tests
59
60 {
61     ok(
62         ! is_ppi_expression_or_generic_statement( undef ),
63         'is_ppi_expression_or_generic_statement( undef )',
64     );
65     ok(
66         ! is_ppi_expression_or_generic_statement( $INSTANCES{'PPI::Token::Word'} ),
67         'is_ppi_expression_or_generic_statement( PPI::Token::Word )',
68     );
69     ok(
70         is_ppi_expression_or_generic_statement( $INSTANCES{'PPI::Statement'} ),
71         'is_ppi_expression_or_generic_statement( PPI::Statement )',
72     );
73     ok(
74         ! is_ppi_expression_or_generic_statement( $INSTANCES{'PPI::Statement::Package'} ),
75         'is_ppi_expression_or_generic_statement( PPI::Statement::Package )',
76     );
77     ok(
78         ! is_ppi_expression_or_generic_statement( $INSTANCES{'PPI::Statement::Include'} ),
79         'is_ppi_expression_or_generic_statement( PPI::Statement::Include )',
80     );
81     ok(
82         ! is_ppi_expression_or_generic_statement( $INSTANCES{'PPI::Statement::Sub'} ),
83         'is_ppi_expression_or_generic_statement( PPI::Statement::Sub )',
84     );
85     ok(
86         ! is_ppi_expression_or_generic_statement( $INSTANCES{'PPI::Statement::Scheduled'} ),
87         'is_ppi_expression_or_generic_statement( PPI::Statement::Scheduled )',
88     );
89     ok(
90         ! is_ppi_expression_or_generic_statement( $INSTANCES{'PPI::Statement::Compound'} ),
91         'is_ppi_expression_or_generic_statement( PPI::Statement::Compound )',
92     );
93     ok(
94         ! is_ppi_expression_or_generic_statement( $INSTANCES{'PPI::Statement::Break'} ),
95         'is_ppi_expression_or_generic_statement( PPI::Statement::Break )',
96     );
97     ok(
98         ! is_ppi_expression_or_generic_statement( $INSTANCES{'PPI::Statement::Data'} ),
99         'is_ppi_expression_or_generic_statement( PPI::Statement::Data )',
100     );
101     ok(
102         ! is_ppi_expression_or_generic_statement( $INSTANCES{'PPI::Statement::End'} ),
103         'is_ppi_expression_or_generic_statement( PPI::Statement::End )',
104     );
105     ok(
106         is_ppi_expression_or_generic_statement( $INSTANCES{'PPI::Statement::Expression'} ),
107         'is_ppi_expression_or_generic_statement( PPI::Statement::Expression )',
108     );
109     ok(
110         is_ppi_expression_or_generic_statement( $INSTANCES{'PPI::Statement::Variable'} ),
111         'is_ppi_expression_or_generic_statement( PPI::Statement::Variable )',
112     );
113     ok(
114         ! is_ppi_expression_or_generic_statement( $INSTANCES{'PPI::Statement::Null'} ),
115         'is_ppi_expression_or_generic_statement( PPI::Statement::Null )',
116     );
117     ok(
118         ! is_ppi_expression_or_generic_statement( $INSTANCES{'PPI::Statement::UnmatchedBrace'} ),
119         'is_ppi_expression_or_generic_statement( PPI::Statement::UnmatchedBrace )',
120     );
121     ok(
122         ! is_ppi_expression_or_generic_statement( $INSTANCES{'PPI::Statement::Unknown'} ),
123         'is_ppi_expression_or_generic_statement( PPI::Statement::Unknown )',
124     );
125 }
126
127 #-----------------------------------------------------------------------------
128 #  is_ppi_generic_statement tests
129
130 {
131     ok(
132         ! is_ppi_generic_statement( undef ),
133         'is_ppi_generic_statement( undef )',
134     );
135     ok(
136         ! is_ppi_generic_statement( $INSTANCES{'PPI::Token::Word'} ),
137         'is_ppi_generic_statement( PPI::Token::Word )',
138     );
139     ok(
140         is_ppi_generic_statement( $INSTANCES{'PPI::Statement'} ),
141         'is_ppi_generic_statement( PPI::Statement )',
142     );
143     ok(
144         ! is_ppi_generic_statement( $INSTANCES{'PPI::Statement::Package'} ),
145         'is_ppi_generic_statement( PPI::Statement::Package )',
146     );
147     ok(
148         ! is_ppi_generic_statement( $INSTANCES{'PPI::Statement::Include'} ),
149         'is_ppi_generic_statement( PPI::Statement::Include )',
150     );
151     ok(
152         ! is_ppi_generic_statement( $INSTANCES{'PPI::Statement::Sub'} ),
153         'is_ppi_generic_statement( PPI::Statement::Sub )',
154     );
155     ok(
156         ! is_ppi_generic_statement( $INSTANCES{'PPI::Statement::Scheduled'} ),
157         'is_ppi_generic_statement( PPI::Statement::Scheduled )',
158     );
159     ok(
160         ! is_ppi_generic_statement( $INSTANCES{'PPI::Statement::Compound'} ),
161         'is_ppi_generic_statement( PPI::Statement::Compound )',
162     );
163     ok(
164         ! is_ppi_generic_statement( $INSTANCES{'PPI::Statement::Break'} ),
165         'is_ppi_generic_statement( PPI::Statement::Break )',
166     );
167     ok(
168         ! is_ppi_generic_statement( $INSTANCES{'PPI::Statement::Data'} ),
169         'is_ppi_generic_statement( PPI::Statement::Data )',
170     );
171     ok(
172         ! is_ppi_generic_statement( $INSTANCES{'PPI::Statement::End'} ),
173         'is_ppi_generic_statement( PPI::Statement::End )',
174     );
175     ok(
176         ! is_ppi_generic_statement( $INSTANCES{'PPI::Statement::Expression'} ),
177         'is_ppi_generic_statement( PPI::Statement::Expression )',
178     );
179     ok(
180         ! is_ppi_generic_statement( $INSTANCES{'PPI::Statement::Variable'} ),
181         'is_ppi_generic_statement( PPI::Statement::Variable )',
182     );
183     ok(
184         ! is_ppi_generic_statement( $INSTANCES{'PPI::Statement::Null'} ),
185         'is_ppi_generic_statement( PPI::Statement::Null )',
186     );
187     ok(
188         ! is_ppi_generic_statement( $INSTANCES{'PPI::Statement::UnmatchedBrace'} ),
189         'is_ppi_generic_statement( PPI::Statement::UnmatchedBrace )',
190     );
191     ok(
192         ! is_ppi_generic_statement( $INSTANCES{'PPI::Statement::Unknown'} ),
193         'is_ppi_generic_statement( PPI::Statement::Unknown )',
194     );
195 }
196
197 #-----------------------------------------------------------------------------
198 #  is_ppi_statement_subclass tests
199
200 {
201     ok(
202         ! is_ppi_statement_subclass( undef ),
203         'is_ppi_statement_subclass( undef )',
204     );
205     ok(
206         ! is_ppi_statement_subclass( $INSTANCES{'PPI::Token::Word'} ),
207         'is_ppi_statement_subclass( PPI::Token::Word )',
208     );
209     ok(
210         ! is_ppi_statement_subclass( $INSTANCES{'PPI::Statement'} ),
211         'is_ppi_statement_subclass( PPI::Statement )',
212     );
213     ok(
214         is_ppi_statement_subclass( $INSTANCES{'PPI::Statement::Package'} ),
215         'is_ppi_statement_subclass( PPI::Statement::Package )',
216     );
217     ok(
218         is_ppi_statement_subclass( $INSTANCES{'PPI::Statement::Include'} ),
219         'is_ppi_statement_subclass( PPI::Statement::Include )',
220     );
221     ok(
222         is_ppi_statement_subclass( $INSTANCES{'PPI::Statement::Sub'} ),
223         'is_ppi_statement_subclass( PPI::Statement::Sub )',
224     );
225     ok(
226         is_ppi_statement_subclass( $INSTANCES{'PPI::Statement::Scheduled'} ),
227         'is_ppi_statement_subclass( PPI::Statement::Scheduled )',
228     );
229     ok(
230         is_ppi_statement_subclass( $INSTANCES{'PPI::Statement::Compound'} ),
231         'is_ppi_statement_subclass( PPI::Statement::Compound )',
232     );
233     ok(
234         is_ppi_statement_subclass( $INSTANCES{'PPI::Statement::Break'} ),
235         'is_ppi_statement_subclass( PPI::Statement::Break )',
236     );
237     ok(
238         is_ppi_statement_subclass( $INSTANCES{'PPI::Statement::Data'} ),
239         'is_ppi_statement_subclass( PPI::Statement::Data )',
240     );
241     ok(
242         is_ppi_statement_subclass( $INSTANCES{'PPI::Statement::End'} ),
243         'is_ppi_statement_subclass( PPI::Statement::End )',
244     );
245     ok(
246         is_ppi_statement_subclass( $INSTANCES{'PPI::Statement::Expression'} ),
247         'is_ppi_statement_subclass( PPI::Statement::Expression )',
248     );
249     ok(
250         is_ppi_statement_subclass( $INSTANCES{'PPI::Statement::Variable'} ),
251         'is_ppi_statement_subclass( PPI::Statement::Variable )',
252     );
253     ok(
254         is_ppi_statement_subclass( $INSTANCES{'PPI::Statement::Null'} ),
255         'is_ppi_statement_subclass( PPI::Statement::Null )',
256     );
257     ok(
258         is_ppi_statement_subclass( $INSTANCES{'PPI::Statement::UnmatchedBrace'} ),
259         'is_ppi_statement_subclass( PPI::Statement::UnmatchedBrace )',
260     );
261     ok(
262         is_ppi_statement_subclass( $INSTANCES{'PPI::Statement::Unknown'} ),
263         'is_ppi_statement_subclass( PPI::Statement::Unknown )',
264     );
265 }
266
267 #-----------------------------------------------------------------------------
268
269 # ensure we run true if this test is loaded by
270 # t/05_utils_ppi.t_without_optional_dependencies.t
271 1;
272
273 # Local Variables:
274 #   mode: cperl
275 #   cperl-indent-level: 4
276 #   fill-column: 78
277 #   indent-tabs-mode: nil
278 #   c-indentation-style: bsd
279 # End:
280 # ex: set ts=8 sts=4 sw=4 tw=78 ft=perl expandtab shiftround :