#!/usr/bin/perl
BEGIN {
use_ok(
'Dpkg::Source::Format'
);
}
my
$format
= Dpkg::Source::Format->new();
my
@format_parts
;
my
$format_string
;
$format
->set(
'4.3 (variant)'
);
@format_parts
=
$format
->get();
is_deeply(\
@format_parts
, [
qw(4 3 variant)
],
'decomposition of format'
);
$format_string
=
$format
->get();
ok(
$format_string
eq
'4.3 (variant)'
,
'function stringification of format'
);
$format_string
=
"$format"
;
ok(
$format_string
eq
'4.3 (variant)'
,
'operator stringification of format'
);
$format
->set(
'5.5'
);
$format_string
=
$format
->get();
ok(
$format_string
eq
'5.5'
,
'missing variant'
);
$format
->set(
'6'
);
$format_string
=
$format
->get();
ok(
$format_string
eq
'6.0'
,
'implied minor'
);
my
%format_bogus
= (
'a'
=>
'require numerical major'
,
'7.a'
=>
'require numerical minor'
,
'.5'
=>
'require non-empty major'
,
'7.'
=>
'require non-empty minor'
,
'7.0 ()'
=>
'require non-empty variant'
,
'7.0 ( )'
=>
'require non-space variant'
,
'7.0 (VARIANT)'
=>
'require lower-case variant'
,
'7.6.5'
=>
'excess version part'
,
);
foreach
my
$format_bogus
(
sort
keys
%format_bogus
) {
eval
{
$format
->set(
$format_bogus
);
};
ok($@,
$format_bogus
{
$format_bogus
});
};