if
( $] lt 5.008001 ) {
plan
skip_all
=>
"dotted-version numbers are buggy before 5.8.1"
;
}
else
{
plan
'no_plan'
;
}
blib_load(
'Module::Build'
);
{
my
$dist
= DistGen->new(
name
=>
'Simple::Name'
,
version
=>
'0.01'
);
$dist
->change_build_pl(
module_name
=>
'Simple::Name'
,
)->regen;
$dist
->chdir_in;
my
$mb
=
$dist
->new_from_context();
isa_ok(
$mb
,
"Module::Build"
);
is(
$mb
->release_status,
"stable"
,
"regular version has release_status 'stable'"
);
}
{
my
$dist
= DistGen->new(
name
=>
'Simple::Name'
,
version
=>
'v1.2.3'
);
$dist
->change_build_pl(
module_name
=>
'Simple::Name'
,
)->regen;
$dist
->chdir_in;
my
$mb
=
$dist
->new_from_context();
isa_ok(
$mb
,
"Module::Build"
);
is(
$mb
->release_status,
"stable"
,
"dotted-decimal version has release_status 'stable'"
);
}
{
my
$dist
= DistGen->new(
name
=>
'Simple::Name'
,
version
=>
q{'0.01_01'}
);
$dist
->change_build_pl(
module_name
=>
'Simple::Name'
,
)->regen;
$dist
->chdir_in;
my
$mb
=
$dist
->new_from_context();
isa_ok(
$mb
,
"Module::Build"
);
is(
$mb
->release_status,
"testing"
,
"alpha version has release_status 'testing'"
);
}
{
my
$dist
= DistGen->new(
name
=>
'Simple::Name'
,
version
=>
q{'0.01_01'}
);
$dist
->change_build_pl(
module_name
=>
'Simple::Name'
,
release_status
=>
'unstable'
,
)->regen;
$dist
->chdir_in;
my
$mb
=
$dist
->new_from_context();
isa_ok(
$mb
,
"Module::Build"
);
is(
$mb
->release_status,
"unstable"
,
"explicit 'unstable' keeps release_status 'unstable'"
);
}
{
my
$dist
= DistGen->new(
name
=>
'Simple::Name'
,
version
=>
'0.01'
);
$dist
->change_build_pl(
module_name
=>
'Simple::Name'
,
release_status
=>
'testing'
,
)->regen;
$dist
->chdir_in;
my
$mb
=
$dist
->new_from_context();
isa_ok(
$mb
,
"Module::Build"
);
is(
$mb
->dist_suffix,
"TRIAL"
,
"regular version marked 'testing' gets 'TRIAL' suffix"
);
}
{
my
$dist
= DistGen->new(
name
=>
'Simple::Name'
,
version
=>
'v1.2.3'
);
$dist
->change_build_pl(
module_name
=>
'Simple::Name'
,
release_status
=>
'testing'
,
)->regen;
$dist
->chdir_in;
my
$mb
=
$dist
->new_from_context();
isa_ok(
$mb
,
"Module::Build"
);
is(
$mb
->dist_suffix,
"TRIAL"
,
"dotted version marked 'testing' gets 'TRIAL' suffix"
);
}
{
my
$dist
= DistGen->new(
name
=>
'Simple::Name'
,
version
=>
'0.01'
);
$dist
->change_build_pl(
module_name
=>
'Simple::Name'
,
release_status
=>
'unstable'
,
)->regen;
$dist
->chdir_in;
my
$mb
=
$dist
->new_from_context();
isa_ok(
$mb
,
"Module::Build"
);
is(
$mb
->dist_suffix,
"TRIAL"
,
"regular version marked 'unstable' gets 'TRIAL' suffix"
);
}
{
my
$dist
= DistGen->new(
name
=>
'Simple::Name'
,
version
=>
'0.01'
);
$dist
->change_build_pl(
module_name
=>
'Simple::Name'
,
release_status
=>
'beta'
,
)->regen;
$dist
->chdir_in;
my
$output
= stdout_stderr_of
sub
{
$dist
->run_build_pl() };
like(
$output
,
qr/Illegal value 'beta' for release_status/
i,
"Got error message for illegal release_status"
);
}
{
my
$dist
= DistGen->new(
name
=>
'Simple::Name'
,
version
=>
q{'0.01_01'}
);
$dist
->change_build_pl(
module_name
=>
'Simple::Name'
,
release_status
=>
'stable'
,
)->regen;
$dist
->chdir_in;
my
$output
= stdout_stderr_of
sub
{
$dist
->run_build_pl() };
like(
$output
,
qr/Illegal value 'stable' with version '0.01_01'/
i,
"Got error message for illegal 'stable' with alpha version"
);
}
{
my
$dist
= DistGen->new(
name
=>
'Simple::Name'
,
version
=>
q{'0.01_01'}
);
$dist
->change_build_pl(
module_name
=>
'Simple::Name'
,
dist_version
=>
'1.23beta1'
,
)->regen;
$dist
->chdir_in;
my
$mb
=
$dist
->new_from_context();
isa_ok(
$mb
,
"Module::Build"
);
is(
$mb
->dist_suffix,
""
,
"non-standard dist_version does not get a suffix"
);
is(
$mb
->release_status,
"stable"
,
"non-standard dist_version defaults to stable release_status"
);
}