#!perl
{
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
=> 1,
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
->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
%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'
);
}
1;