Modified source files and compiled any and armel versions of packages
[pkg-perl] / deb-src / libperl-critic-perl / libperl-critic-perl-1.088 / t / 14_policy_parameter_behavior_boolean.t
1 #!perl
2
3 ##############################################################################
4 #      $URL: http://perlcritic.tigris.org/svn/perlcritic/trunk/Perl-Critic/t/14_policy_parameter_behavior_boolean.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
14 use Test::More tests => 9;
15 use English qw(-no_match_vars);
16
17 use Perl::Critic::Utils qw{ :booleans };
18 use Perl::Critic::Policy;
19 use Perl::Critic::PolicyParameter;
20
21 my $specification;
22 my $parameter;
23 my %config;
24 my $policy;
25
26 $specification =
27     {
28         name        => 'test',
29         description => 'A boolean parameter for testing',
30         behavior    => 'boolean',
31     };
32
33
34 $parameter = Perl::Critic::PolicyParameter->new($specification);
35 TODO: {
36     local $TODO =
37         'Need to restore tri-state functionality to Behavior::Boolean.';
38
39     $policy = Perl::Critic::Policy->new();
40     $parameter->parse_and_validate_config_value($policy, \%config);
41     is($policy->{_test}, undef, q{no value, no default});
42 }
43
44 $policy = Perl::Critic::Policy->new();
45 $config{test} = '1';
46 $parameter->parse_and_validate_config_value($policy, \%config);
47 is($policy->{_test}, $TRUE, q{'1', no default});
48
49 $policy = Perl::Critic::Policy->new();
50 $config{test} = '0';
51 $parameter->parse_and_validate_config_value($policy, \%config);
52 is($policy->{_test}, $FALSE, q{'0', no default});
53
54
55 $specification->{default_string} = '1';
56 delete $config{test};
57
58 $parameter = Perl::Critic::PolicyParameter->new($specification);
59 $policy = Perl::Critic::Policy->new();
60 $parameter->parse_and_validate_config_value($policy, \%config);
61 is($policy->{_test}, $TRUE, q{no value, default '1'});
62
63 $policy = Perl::Critic::Policy->new();
64 $config{test} = '1';
65 $parameter->parse_and_validate_config_value($policy, \%config);
66 is($policy->{_test}, $TRUE, q{'1', default '1'});
67
68 $policy = Perl::Critic::Policy->new();
69 $config{test} = '0';
70 $parameter->parse_and_validate_config_value($policy, \%config);
71 is($policy->{_test}, $FALSE, q{'0', default '1'});
72
73
74 $specification->{default_string} = '0';
75 delete $config{test};
76
77 $parameter = Perl::Critic::PolicyParameter->new($specification);
78 $policy = Perl::Critic::Policy->new();
79 $parameter->parse_and_validate_config_value($policy, \%config);
80 is($policy->{_test}, $FALSE, q{no value, default '0'});
81
82 $policy = Perl::Critic::Policy->new();
83 $config{test} = '1';
84 $parameter->parse_and_validate_config_value($policy, \%config);
85 is($policy->{_test}, $TRUE, q{'1', default '0'});
86
87 $policy = Perl::Critic::Policy->new();
88 $config{test} = '0';
89 $parameter->parse_and_validate_config_value($policy, \%config);
90 is($policy->{_test}, $FALSE, q{'0', default '0'});
91
92
93 ###############################################################################
94 # Local Variables:
95 #   mode: cperl
96 #   cperl-indent-level: 4
97 #   fill-column: 78
98 #   indent-tabs-mode: nil
99 #   c-indentation-style: bsd
100 # End:
101 # ex: set ts=8 sts=4 sw=4 tw=78 ft=perl expandtab shiftround :