X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;ds=sidebyside;f=dev%2Fi386%2Flibperl-critic-perl%2Flibperl-critic-perl-1.088%2Ft%2F04_optionsprocessor.t;fp=dev%2Fi386%2Flibperl-critic-perl%2Flibperl-critic-perl-1.088%2Ft%2F04_optionsprocessor.t;h=19f1cbe99c7a634b240d9abe5e03fcb16570488f;hb=da95c414033799c3a62606f299c3c00b5c77ca11;hp=0000000000000000000000000000000000000000;hpb=2d38e14bacbb15b98e539843a40b3c52a225f493;p=dh-make-perl diff --git a/dev/i386/libperl-critic-perl/libperl-critic-perl-1.088/t/04_optionsprocessor.t b/dev/i386/libperl-critic-perl/libperl-critic-perl-1.088/t/04_optionsprocessor.t new file mode 100644 index 0000000..19f1cbe --- /dev/null +++ b/dev/i386/libperl-critic-perl/libperl-critic-perl-1.088/t/04_optionsprocessor.t @@ -0,0 +1,104 @@ +#!perl + +############################################################################## +# $URL: http://perlcritic.tigris.org/svn/perlcritic/trunk/Perl-Critic/t/04_optionsprocessor.t $ +# $Date: 2008-06-08 20:41:30 -0500 (Sun, 08 Jun 2008) $ +# $Author: clonezone $ +# $Revision: 2430 $ +############################################################################## + +use 5.006001; +use strict; +use warnings; + +use English qw(-no_match_vars); + +use Perl::Critic::OptionsProcessor; + +use Test::More tests => 24; + +#----------------------------------------------------------------------------- + +{ + my $processor = Perl::Critic::OptionsProcessor->new(); + is($processor->force(), 0, 'native default force'); + is($processor->only(), 0, 'native default only'); + is($processor->severity(), 5, 'native default severity'); + is($processor->theme(), q{}, 'native default theme'); + is($processor->top(), 0, 'native default top'); + is($processor->color(), 1, 'native default color'); + is($processor->verbose(), 4, 'native default verbose'); + is($processor->criticism_fatal, 0, 'native default criticism-fatal'); + is_deeply($processor->include(), [], 'native default include'); + is_deeply($processor->exclude(), [], 'native default exclude'); +} + +#----------------------------------------------------------------------------- + +{ + my %user_defaults = ( + force => 1, + only => 1, + severity => 4, + theme => 'pbp', + top => 50, + color => 0, + verbose => 7, + 'criticism-fatal' => 1, + include => 'foo bar', + exclude => 'baz nuts', + ); + + my $processor = Perl::Critic::OptionsProcessor->new( %user_defaults ); + is($processor->force(), 1, 'user default force'); + is($processor->only(), 1, 'user default only'); + is($processor->severity(), 4, 'user default severity'); + is($processor->theme(), 'pbp', 'user default theme'); + is($processor->top(), 50, 'user default top'); + is($processor->color(), 0, 'user default color'); + is($processor->verbose(), 7, 'user default verbose'); + is($processor->criticism_fatal(), 1, 'user default criticism_fatal'); + is_deeply($processor->include(), [ qw(foo bar) ], 'user default include'); + is_deeply($processor->exclude(), [ qw(baz nuts)], 'user default exclude'); +} + +#----------------------------------------------------------------------------- + +{ + my $processor = Perl::Critic::OptionsProcessor->new( 'colour' => 1 ); + is($processor->color(), 1, 'user default colour true'); + + $processor = Perl::Critic::OptionsProcessor->new( 'colour' => 0 ); + is($processor->color(), 0, 'user default colour false'); +} + +#----------------------------------------------------------------------------- +# Test exception handling + +{ + my %invalid_defaults = ( + foo => 1, + bar => 2, + ); + + eval { Perl::Critic::OptionsProcessor->new( %invalid_defaults ) }; + like( $EVAL_ERROR, qr/"foo" is not a supported option/m, 'First invalid default' ); + like( $EVAL_ERROR, qr/"bar" is not a supported option/m, 'Second invalid default' ); + +} + +#----------------------------------------------------------------------------- + +# ensure we run true if this test is loaded by +# t/04_defaults.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 :