#!/usr/bin/perl
my
$sub
= Test::CheckManifest->can(
'_validate_args'
);
ok
$sub
;
my
$default
= {
filter
=> [],
exclude
=> [
qw!/blib /_blib!
],
bool
=>
'or'
,
};
is_deeply [
$sub
->( [],
"hallo"
) ], [
$default
,
"hallo"
],
'Empty Arrayref'
;
is_deeply [
$sub
->( {
exclude
=> {} },
"hallo"
) ], [
$default
,
"hallo"
],
'exclude => {}'
;
is_deeply [
$sub
->( {
exclude
=> [] },
"hallo"
) ], [
$default
,
"hallo"
],
'exclude => []'
;
is_deeply [
$sub
->( {
exclude
=>
'test'
},
"hallo"
) ], [
$default
,
"hallo"
],
'exclude => "test"'
;
is_deeply [
$sub
->( {
bool
=> {} },
"hallo"
) ], [
$default
,
"hallo"
],
'bool => {}'
;
is_deeply [
$sub
->( {
bool
=>
'or'
},
"hallo"
)], [
$default
,
"hallo"
],
'bool => "or"'
;
is_deeply [
$sub
->( {
bool
=>
'and'
},
"hallo"
)], [ {
%$default
,
bool
=>
'and'
},
"hallo"
],
'bool => "and"'
;
is_deeply [
$sub
->( {
bool
=>
'1'
},
"hallo"
)], [
$default
,
"hallo"
],
'bool => "1"'
;
is_deeply [
$sub
->( {
filter
=> [] },
"hallo"
) ], [
$default
,
"hallo"
],
'filter -> arrayref'
;
is_deeply [
$sub
->( {
filter
=> {} },
"hallo"
) ], [
$default
,
"hallo"
],
'filter -> empty hashref'
;
is_deeply [
$sub
->( {
filter
=>
'test'
},
"hallo"
) ], [
$default
,
"hallo"
],
'filter -> string'
;
is_deeply [
$sub
->( {
filter
=> [
'hallo'
] },
"hallo"
) ], [
$default
,
"hallo"
],
'filter -> no regex'
;
{
my
$error
;
eval
{
$sub
->( {
exclude
=> [
'testing'
] } );
1;
} or
do
{
$error
= $@;
};
like
$error
,
qr/path in excluded array must be "absolute"/
,
'relative paths'
;
}
done_testing();