X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=dev%2Farm%2Flibperl-critic-perl%2Flibperl-critic-perl-1.088%2Ft%2F01_policy_config.t;fp=dev%2Farm%2Flibperl-critic-perl%2Flibperl-critic-perl-1.088%2Ft%2F01_policy_config.t;h=03159ba64b97ce94e02edea91d75c9545f781ecf;hb=f477fa73365d491991707e7ed9217b48d6994551;hp=0000000000000000000000000000000000000000;hpb=da95c414033799c3a62606f299c3c00b5c77ca11;p=dh-make-perl diff --git a/dev/arm/libperl-critic-perl/libperl-critic-perl-1.088/t/01_policy_config.t b/dev/arm/libperl-critic-perl/libperl-critic-perl-1.088/t/01_policy_config.t new file mode 100644 index 0000000..03159ba --- /dev/null +++ b/dev/arm/libperl-critic-perl/libperl-critic-perl-1.088/t/01_policy_config.t @@ -0,0 +1,184 @@ +#!perl + +############################################################################## +# $URL: http://perlcritic.tigris.org/svn/perlcritic/trunk/Perl-Critic/t/01_policy_config.t $ +# $Date: 2008-06-06 00:48:04 -0500 (Fri, 06 Jun 2008) $ +# $Author: clonezone $ +# $Revision: 2416 $ +############################################################################## + +use 5.006001; +use strict; +use warnings; + +use Carp qw< confess >; + +use Test::More tests => 29; + +#----------------------------------------------------------------------------- + +BEGIN { + use_ok('Perl::Critic::PolicyConfig') or confess 'No point in continuing.'; +} + + +{ + my $config = + Perl::Critic::PolicyConfig->new('Some::Policy'); + + is( + $config->get_policy_short_name(), + 'Some::Policy', + 'Policy short name gets saved.', + ); + is( + $config->get_set_themes(), + undef, + 'set_themes is undef when not specified.', + ); + is( + $config->get_add_themes(), + undef, + 'add_themes is undef when not specified.', + ); + is( + $config->get_severity(), + undef, + 'severity is undef when not specified.', + ); + is( + $config->get_maximum_violations_per_document(), + undef, + 'maximum_violations_per_document is undef when not specified.', + ); + ok( + $config->is_empty(), + 'is_empty() is true when there were no configuration values.', + ); + + my @parameter_names = $config->get_parameter_names(); + is( + scalar @parameter_names, + 0, + 'There are no parameter names left.', + ); + + test_standard_parameters_undef_via_get($config); +} + +{ + my $config = + Perl::Critic::PolicyConfig->new( + 'Some::Other::Policy', + { + custom_parameter => 'blargh', + + # Standard parameters + set_themes => 'thingy', + add_themes => 'another thingy', + severity => 'harsh', + maximum_violations_per_document => '2', + } + ); + + is( + $config->get_policy_short_name(), + 'Some::Other::Policy', + 'Policy short name gets saved.', + ); + is( + $config->get_set_themes(), + 'thingy', + 'set_themes gets saved.', + ); + is( + $config->get_add_themes(), + 'another thingy', + 'add_themes gets saved.', + ); + is( + $config->get_severity(), + 'harsh', + 'severity gets saved.', + ); + is( + $config->get_maximum_violations_per_document(), + '2', + 'maximum_violations_per_document gets saved.', + ); + is( + $config->get('custom_parameter'), + 'blargh', + 'custom_parameter gets saved.', + ); + ok( + ! $config->is_empty(), + 'is_empty() is false when there were configuration values.', + ); + + my @parameter_names = $config->get_parameter_names(); + is( + scalar @parameter_names, + 1, + 'There is one parameter name left after construction.', + ); + is( + $parameter_names[0], + 'custom_parameter', + 'There parameter name is the expected value.', + ); + + test_standard_parameters_undef_via_get($config); + + $config->remove('custom_parameter'); + ok( + $config->is_empty(), + 'is_empty() is true after removing "custom_parameter".', + ); + + @parameter_names = $config->get_parameter_names(); + is( + scalar @parameter_names, + 0, + 'There are no parameter names left after removing "custom_parameter".', + ); +} + + +sub test_standard_parameters_undef_via_get { + my ($config) = @_; + my $policy_short_name = $config->get_policy_short_name(); + + foreach my $parameter ( + qw< + set_themes + add_themes + severity + maximum_violations_per_document + _non_public_data + > + ) { + is( + $config->get($parameter), + undef, + qq<"$parameter" is not defined via get() for $policy_short_name.>, + ) + } + + return; +} + +#----------------------------------------------------------------------------- + +# ensure we run true if this test is loaded by +# t/01_policy_config.t_without_optional_dependencies.t +1; + +# Local Variables: +# mode: cperl +# cperl-indent-level: 4 +# fill-column: 78 +# indent-tabs-mode: nil +# c-indentation-style: bsd +# End: +# ex: set ts=8 sts=4 sw=4 tw=78 ft=perl expandtab shiftround :