5122bbba5fd2d219d1c4c7c7f96d4b479c61ce8f
[pkg-perl] / deb-src / libperl-critic-perl / libperl-critic-perl-1.088 / t / 14_policy_parameter_behavior_string.t
1 #!perl
2
3 ##############################################################################
4 #      $URL: http://perlcritic.tigris.org/svn/perlcritic/trunk/Perl-Critic/t/14_policy_parameter_behavior_string.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 => 4;
15 use English qw(-no_match_vars);
16
17 use Perl::Critic::Policy;
18 use Perl::Critic::PolicyParameter;
19
20 my $specification;
21 my $parameter;
22 my %config;
23 my $policy;
24
25 $specification =
26     {
27         name        => 'test',
28         description => 'A string parameter for testing',
29         behavior    => 'string',
30     };
31
32
33 $parameter = Perl::Critic::PolicyParameter->new($specification);
34 $policy = Perl::Critic::Policy->new();
35 $parameter->parse_and_validate_config_value($policy, \%config);
36 is($policy->{_test}, undef, q{no value, no default});
37
38 $policy = Perl::Critic::Policy->new();
39 $config{test} = 'foobie';
40 $parameter->parse_and_validate_config_value($policy, \%config);
41 is($policy->{_test}, 'foobie', q{'foobie', no default});
42
43
44 $specification->{default_string} = 'bletch';
45 delete $config{test};
46
47 $parameter = Perl::Critic::PolicyParameter->new($specification);
48 $policy = Perl::Critic::Policy->new();
49 $parameter->parse_and_validate_config_value($policy, \%config);
50 is($policy->{_test}, 'bletch', q{no value, default 'bletch'});
51
52 $policy = Perl::Critic::Policy->new();
53 $config{test} = 'foobie';
54 $parameter->parse_and_validate_config_value($policy, \%config);
55 is($policy->{_test}, 'foobie', q{'foobie', default 'bletch'});
56
57
58 ###############################################################################
59 # Local Variables:
60 #   mode: cperl
61 #   cperl-indent-level: 4
62 #   fill-column: 78
63 #   indent-tabs-mode: nil
64 #   c-indentation-style: bsd
65 # End:
66 # ex: set ts=8 sts=4 sw=4 tw=78 ft=perl expandtab shiftround :