3 ##############################################################################
4 # $URL: http://perlcritic.tigris.org/svn/perlcritic/trunk/Perl-Critic/t/04_optionsprocessor.t $
5 # $Date: 2008-06-08 20:41:30 -0500 (Sun, 08 Jun 2008) $
8 ##############################################################################
14 use English qw(-no_match_vars);
16 use Perl::Critic::OptionsProcessor;
18 use Test::More tests => 24;
20 #-----------------------------------------------------------------------------
23 my $processor = Perl::Critic::OptionsProcessor->new();
24 is($processor->force(), 0, 'native default force');
25 is($processor->only(), 0, 'native default only');
26 is($processor->severity(), 5, 'native default severity');
27 is($processor->theme(), q{}, 'native default theme');
28 is($processor->top(), 0, 'native default top');
29 is($processor->color(), 1, 'native default color');
30 is($processor->verbose(), 4, 'native default verbose');
31 is($processor->criticism_fatal, 0, 'native default criticism-fatal');
32 is_deeply($processor->include(), [], 'native default include');
33 is_deeply($processor->exclude(), [], 'native default exclude');
36 #-----------------------------------------------------------------------------
47 'criticism-fatal' => 1,
49 exclude => 'baz nuts',
52 my $processor = Perl::Critic::OptionsProcessor->new( %user_defaults );
53 is($processor->force(), 1, 'user default force');
54 is($processor->only(), 1, 'user default only');
55 is($processor->severity(), 4, 'user default severity');
56 is($processor->theme(), 'pbp', 'user default theme');
57 is($processor->top(), 50, 'user default top');
58 is($processor->color(), 0, 'user default color');
59 is($processor->verbose(), 7, 'user default verbose');
60 is($processor->criticism_fatal(), 1, 'user default criticism_fatal');
61 is_deeply($processor->include(), [ qw(foo bar) ], 'user default include');
62 is_deeply($processor->exclude(), [ qw(baz nuts)], 'user default exclude');
65 #-----------------------------------------------------------------------------
68 my $processor = Perl::Critic::OptionsProcessor->new( 'colour' => 1 );
69 is($processor->color(), 1, 'user default colour true');
71 $processor = Perl::Critic::OptionsProcessor->new( 'colour' => 0 );
72 is($processor->color(), 0, 'user default colour false');
75 #-----------------------------------------------------------------------------
76 # Test exception handling
79 my %invalid_defaults = (
84 eval { Perl::Critic::OptionsProcessor->new( %invalid_defaults ) };
85 like( $EVAL_ERROR, qr/"foo" is not a supported option/m, 'First invalid default' );
86 like( $EVAL_ERROR, qr/"bar" is not a supported option/m, 'Second invalid default' );
90 #-----------------------------------------------------------------------------
92 # ensure we run true if this test is loaded by
93 # t/04_defaults.t_without_optional_dependencies.t
96 ##############################################################################
99 # cperl-indent-level: 4
101 # indent-tabs-mode: nil
102 # c-indentation-style: bsd
104 # ex: set ts=8 sts=4 sw=4 tw=78 ft=perl expandtab shiftround :