#!/usr/bin/env perl
local
$ENV
{NO_MANIFEST_CHECK} = 1;
my
$sub
= Test::CheckManifest->can(
'_check_manifest'
);
ok
$sub
;
my
$dir
= Cwd::realpath( dirname __FILE__ );
$dir
=~ s{.t\z}{};
my
$t_dir
= File::Spec->catdir(
$dir
,
't'
);
my
$abs_t_file
= File::Spec->rel2abs( __FILE__ );
my
$diag
=
''
;
{
no
warnings
'redefine'
;
sub
Test::Builder::diag {
$diag
.=
$_
[1] .
"\n"
;
};
}
my
$cnt
= 0;
{
my
@tests
= (
[
undef
,
undef
,
undef
,
'test'
, 1 ],
[ [
'/t/test'
],
undef
,
undef
,
'test'
,
''
],
[ [
'/t/test'
], [
'/t/test'
],
undef
,
'test'
, 1 ],
[ [
'/t/test'
],
undef
, {
'/t/test'
=> 1},
'test'
, 1 ],
[ [
'/t/test'
], [
'/test'
], {
'/t/test'
=> 1},
'test'
,
''
],
[ [
'/t/test'
], [
'/t/test'
,
'/t/test'
],
undef
,
'test'
,
''
],
[ [
'/t/test'
,
'/t/test2'
], [
'/t/test'
],
undef
,
'test'
,
''
],
);
for
my
$test
(
@tests
) {
$diag
=
''
;
my
@params
= @{
$test
};
my
$expected
=
pop
@params
;
my
$result
=
$sub
->(
@params
,
'No Manifest'
);
is
$result
,
$expected
,
"Test $cnt"
;
$cnt
++;
}
}
{
local
$Test::CheckManifest::test_bool
= 0;
my
@tests
= (
[
undef
,
undef
,
undef
,
'test'
,
''
],
[ [
'/t/test'
],
undef
,
undef
,
'test'
, 1 ],
[ [
'/t/test'
], [
'/t/test'
],
undef
,
'test'
,
''
],
[ [
'/t/test'
],
undef
, {
'/t/test'
=> 1},
'test'
,
''
],
[ [
'/t/test'
], [
'/test'
], {
'/t/test'
=> 1},
'test'
, 1 ],
[ [
'/t/test'
], [
'/t/test'
,
'/t/test'
],
undef
,
'test'
, 1 ],
[ [
'/t/test'
,
'/t/test2'
], [
'/t/test'
],
undef
,
'test'
, 1 ],
);
for
my
$test
(
@tests
) {
$diag
=
''
;
my
@params
= @{
$test
};
my
$expected
=
pop
@params
;
my
$result
=
$sub
->(
@params
,
'No Manifest'
);
is
$result
,
$expected
;
$cnt
++;
}
}
{
local
$Test::CheckManifest::test_bool
= 0;
local
$Test::CheckManifest::VERBOSE
= 0;
my
@tests
= (
[
undef
,
undef
,
undef
,
'test'
,
''
],
[ [
'/t/test'
],
undef
,
undef
,
'test'
, 1 ],
[ [
'/t/test'
], [
'/t/test'
],
undef
,
'test'
,
''
],
[ [
'/t/test'
],
undef
, {
'/t/test'
=> 1},
'test'
,
''
],
[ [
'/t/test'
], [
'/test'
], {
'/t/test'
=> 1},
'test'
, 1 ],
[ [
'/t/test'
], [
'/t/test'
,
'/t/test'
],
undef
,
'test'
, 1 ],
[ [
'/t/test'
,
'/t/test2'
], [
'/t/test'
],
undef
,
'test'
, 1 ],
);
for
my
$test
(
@tests
) {
$diag
=
''
;
my
@params
= @{
$test
};
my
$expected
=
pop
@params
;
my
$result
=
$sub
->(
@params
,
'No Manifest'
);
is
$result
,
$expected
;
$cnt
++;
}
}
{
local
$Test::CheckManifest::VERBOSE
= 0;
my
@tests
= (
[
undef
,
undef
,
undef
,
'test'
, 1 ],
[ [
'/t/test'
],
undef
,
undef
,
'test'
,
''
],
[ [
'/t/test'
], [
'/t/test'
],
undef
,
'test'
, 1 ],
[ [
'/t/test'
],
undef
, {
'/t/test'
=> 1},
'test'
, 1 ],
[ [
'/t/test'
], [
'/test'
], {
'/t/test'
=> 1},
'test'
,
''
],
[ [
'/t/test'
], [
'/t/test'
,
'/t/test'
],
undef
,
'test'
,
''
],
[ [
'/t/test'
,
'/t/test2'
], [
'/t/test'
],
undef
,
'test'
,
''
],
);
for
my
$test
(
@tests
) {
$diag
=
''
;
my
@params
= @{
$test
};
my
$expected
=
pop
@params
;
my
$result
=
$sub
->(
@params
,
'No Manifest'
);
is
$result
,
$expected
;
$cnt
++;
}
}
done_testing();