use
warnings;
use
strict;
use
Test::More;
use
Data::Dumper;
use
Hook::Output::Tiny;
# bad params
{
# no version
is
eval
{
version_incr();
1
},
undef
,
"version_incr() croaks if no param"
;
like $@,
qr/needs a version number/
,
"...and error is sane"
;
# invalid version
is
eval
{
version_incr(
'1.07asdf'
);
1
},
undef
,
"invalid version croaks ok"
;
like $@,
qr/The version number/
,
"...and error is sane"
;
}
# version
{
my
$orig
=
'0.01'
;
my
$v
=
'0.01'
;
for
(0..500) {
$v
= version_incr(
$v
);
my
$incr
= (
'0.01'
*
$_
) +
'0.01'
;
is
$v
,
sprintf
(
"%.2f"
,
$orig
+
$incr
),
"version incremented to $v at round $_ ok"
;
}
}
done_testing();