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) $
8 ##############################################################################
14 use Test::More tests => 9;
15 use English qw(-no_match_vars);
17 use Perl::Critic::Utils qw{ :booleans };
18 use Perl::Critic::Policy;
19 use Perl::Critic::PolicyParameter;
29 description => 'A boolean parameter for testing',
30 behavior => 'boolean',
34 $parameter = Perl::Critic::PolicyParameter->new($specification);
37 'Need to restore tri-state functionality to Behavior::Boolean.';
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});
44 $policy = Perl::Critic::Policy->new();
46 $parameter->parse_and_validate_config_value($policy, \%config);
47 is($policy->{_test}, $TRUE, q{'1', no default});
49 $policy = Perl::Critic::Policy->new();
51 $parameter->parse_and_validate_config_value($policy, \%config);
52 is($policy->{_test}, $FALSE, q{'0', no default});
55 $specification->{default_string} = '1';
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'});
63 $policy = Perl::Critic::Policy->new();
65 $parameter->parse_and_validate_config_value($policy, \%config);
66 is($policy->{_test}, $TRUE, q{'1', default '1'});
68 $policy = Perl::Critic::Policy->new();
70 $parameter->parse_and_validate_config_value($policy, \%config);
71 is($policy->{_test}, $FALSE, q{'0', default '1'});
74 $specification->{default_string} = '0';
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'});
82 $policy = Perl::Critic::Policy->new();
84 $parameter->parse_and_validate_config_value($policy, \%config);
85 is($policy->{_test}, $TRUE, q{'1', default '0'});
87 $policy = Perl::Critic::Policy->new();
89 $parameter->parse_and_validate_config_value($policy, \%config);
90 is($policy->{_test}, $FALSE, q{'0', default '0'});
93 ###############################################################################
96 # cperl-indent-level: 4
98 # indent-tabs-mode: nil
99 # c-indentation-style: bsd
101 # ex: set ts=8 sts=4 sw=4 tw=78 ft=perl expandtab shiftround :