#!/usr/bin/perl
test_needs_srcdir_switch();
my
@files
= Test::Dpkg::all_perl_modules();
plan
tests
=>
scalar
@files
;
sub
module_version_ok
{
my
$file
=
shift
;
my
$mod
= Module::Metadata->new_from_file(
$file
,
collect_pod
=> 1);
my
$modver
=
$mod
->version();
my
$podver
;
SKIP: {
if
(
$mod
->contains_pod()) {
my
$in_changes
= 0;
foreach
my
$sect
(
$mod
->pod_inside) {
if
(
$sect
eq
'CHANGES'
) {
$in_changes
= 1;
next
;
}
if
(
$in_changes
and
$sect
=~ m/^Version ([0-9x.]+)/) {
$podver
= $1;
last
;
}
}
if
(not
$in_changes
) {
fail(
"module $file does not contain a CHANGES POD section"
);
return
;
}
}
else
{
skip(
"module $file does not contain POD"
, 1);
}
if
(
defined
$podver
and
$podver
eq
'0.xx'
) {
ok(
$modver
=~ m/^0.\d\d$/,
"module $file version $modver is POD version 0.xx"
);
}
else
{
ok(
$modver
eq
$podver
,
"module $file version $modver == POD version $podver"
);
}
}
}
foreach
my
$file
(
@files
) {
module_version_ok(
$file
);
};