my
$REPO
=
$ENV
{PERL_REPOSITORY_APC_REPO};
my
$Id
=
q$Id: apc.t 293 2008-02-22 08:33:10Z k $
;
my
$tests
;
BEGIN {
$tests
= 20; $| = 1;
print
"1..$tests\n"
; }
END {
print
"not ok 1\n"
unless
$loaded
;}
$loaded
= 1;
print
"ok 1 # greets\n"
;
eval
{ Perl::Repository::APC->new };
if
($@) {
print
"ok 2 # no repo, no object\n"
;
}
else
{
print
"not ok 2\n"
;
}
if
(
defined
$REPO
and -d
$REPO
) {
my
$i
= 3;
my
$apc
= Perl::Repository::APC->new(
$REPO
);
print
"ok $i # ->new('$REPO')\n"
;
$i
++;
my
$pver
;
$pver
=
$apc
->get_to_version(
"perl"
,7100);
print
"not "
unless
$pver
eq
"5.7.1"
;
print
"ok $i # 7100 to 5.7.1\n"
;
$i
++;
$pver
=
$apc
->get_from_version(
"perl"
,7100);
print
"not "
unless
$pver
eq
"5.7.0"
;
print
"ok $i # 7100 from 5.7.0\n"
;
$i
++;
$pver
=
$apc
->get_from_version(
"maint-5.005"
,1656);
print
"not "
unless
$pver
eq
"5.005_00"
;
print
"ok $i @ 1656 from 5.005_00\n"
;
$i
++;
$pver
=
$apc
->get_from_version(
"maint-5.6"
,12823);
print
"not "
unless
$pver
eq
"5.6.1"
;
print
"ok $i # 12823/maint-5.6 from 5.6.1\n"
;
$i
++;
$pver
=
$apc
->get_from_version(
"perl"
,12823);
print
"not "
unless
$pver
eq
"5.7.2"
;
print
"ok $i # 12823/perl from 5.7.2\n"
;
$i
++;
eval
{
$pver
=
$apc
->get_from_version(
"perl"
,12822);};
print
"not "
unless
$@;
print
"ok $i # 12822 not exists exception\n"
;
$i
++;
my
$range
;
$range
=
$apc
->version_range(
"perl"
,17600,17700);
print
"not "
unless
@$range
== 2;
print
"ok $i # [@$range]\n"
;
$i
++;
$range
=
$apc
->patch_range(
"perl"
,17600,17700);
print
"not "
unless
@$range
== 73;
print
"ok $i # [@$range]\n"
;
$i
++;
my
$closest
;
$closest
=
$apc
->closest(
"perl"
,
">"
,12821);
print
"not "
unless
$closest
== 12823;
print
"ok $i # $closest\n"
;
$i
++;
$closest
=
$apc
->closest(
"perl"
,
"<"
,12821);
print
"not "
unless
$closest
== 12818;
print
"ok $i # $closest\n"
;
$i
++;
$closest
=
$apc
->closest(
"perl"
,
">"
,0);
print
"not "
unless
$closest
== 1;
print
"ok $i # $closest\n"
;
$i
++;
eval
{
$closest
=
$apc
->closest(
"perl"
,
">"
,999999990);};
print
"not "
unless
$@;
print
"ok $i # >999999990 exception\n"
;
$i
++;
eval
{
$closest
=
$apc
->closest(
"perl"
,
"<"
,0);};
print
"not "
unless
$@;
print
"ok $i # <0 exception\n"
;
$i
++;
my
$next
;
$next
=
$apc
->first_in_branch(
"maint-5.004"
);
print
"not "
unless
$next
eq
"5.004_00"
;
print
"ok $i # $next\n"
;
$i
++;
$next
=
$apc
->first_in_branch(
"perl"
);
print
"not "
unless
$next
eq
"5.004_50"
;
print
"ok $i # $next\n"
;
$i
++;
$next
=
$apc
->next_in_branch(
"5.6.0"
);
print
"not "
unless
$next
eq
"5.7.0"
;
print
"ok $i # $next\n"
;
$i
++;
$range
=
$apc
->patches(
"5.7.1"
);
my
$res
=
@$range
;
print
"not "
unless
$res
== 1820;
print
"ok $i # $res\n"
;
$i
++;
my
@perl
;
for
(
my
$next
=
$apc
->first_in_branch(
"perl"
);
$next
;
$next
=
$apc
->next_in_branch(
$next
)
) {
push
@perl
,
$next
;
}
}
else
{
warn
"\n\n\a Skipping tests! If you want to run the tests against your copy
of APC, please set environment variable \
$PERL_REPOSITORY_APC_REPO
to
the path to your APC\n\n";
for
(3..
$tests
) {
print
"ok $_ # skip\n"
;
}
}