CPAN-Digger
view release on metacpan or search on metacpan
sub my_next {
my ($self) = @_;
my $res = shift @{$self->{results}};
return if not $res;
my $obj = MetaCPAN::Client::Release->new(%$res);
return $obj;
}
sub recent {
my ($self, $limit) = @_;
return _result_set(@results_recent);
}
#sub releases {
# my ($self) = @_;
# return _result_set(@results_author);
#}
#sub author {
# return MetaCPAN::Client::Author->new;
#}
sub _result_set {
my (@results) = @_;
my $rs = MetaCPAN::Client::ResultSet->new;
$rs->{results} = dclone(\@results);
$rs->{total} = scalar @results;
return $rs;
}
my $client;
my $resultset;
#my $author;
BEGIN {
$client = qclass(
-implement => 'MetaCPAN::Client',
-with_new => 1,
recent => \&recent,
# author => \&author,
);
$resultset = qclass(
-implement => 'MetaCPAN::Client::ResultSet',
-with_new => 1,
next => \&my_next,
);
# $author = qclass(
# -implement => 'MetaCPAN::Client::Author',
# -with_new => 1,
# releases => \&releases,
# );
}
use CPAN::Digger::CLI;
subtest recent_in_memory => sub {
my ($out, $err, $exit) = capture {
local @ARGV = ('--recent', '2', '--report', '--log', 'OFF');
CPAN::Digger::CLI::run();
};
is $err, '', 'STDERR';
my $expected_out = path('t/files/recent_in_memory.out')->slurp;
$out =~ s/^\S+\s+//mg; # remove the dates from each row.
is $out, $expected_out, 'STDOUT';
if ($ENV{SAVE}) {
path('t/files/recent_in_memory.out')->spew($out);
}
};
done_testing();
( run in 2.123 seconds using v1.01-cache-2.11-cpan-63c85eba8c4 )