CPAN-Common-Index
view release on metacpan or search on metacpan
t/local_package.t view on Meta::CPAN
use 5.008001;
use strict;
use warnings;
use Test::More 0.96;
use Test::FailWarnings;
use Test::Deep '!blessed';
use Test::Fatal;
use Cwd qw/getcwd/;
use File::Spec;
use File::Temp ();
use lib 't/lib';
use CommonTests;
my $cwd = getcwd;
my $localgz = File::Spec->catfile(qw/t CUSTOM mypackages.gz/);
my $local = File::Spec->catfile(qw/t CUSTOM uncompressed/);
my $packages = "mypackages";
my $uncompressed = "uncompressed";
sub new_local_index {
my $cache = File::Temp->newdir;
my $index = new_ok(
'CPAN::Common::Index::LocalPackage' => [ { cache => $cache, source => $localgz } ],
"new with cache and local gz"
);
is $index->cache, $cache, "the cache constructor attribute is respected";
$index;
}
sub new_uncompressed_local_index {
my $cache = File::Temp->newdir;
my $index = new_ok(
'CPAN::Common::Index::LocalPackage' => [ { cache => $cache, source => $local } ],
"new with cache and local uncompressed"
);
is $index->cache, $cache, "the cache constructor attribute is respected";
$index;
}
require_ok("CPAN::Common::Index::LocalPackage");
subtest "constructor tests" => sub {
# no arguments, all defaults
like(
exception { CPAN::Common::Index::LocalPackage->new() },
qr/'source' parameter must be provided/,
"new with no args dies because source is required"
);
# missing file
like(
exception {
CPAN::Common::Index::LocalPackage->new( { source => 'LDJFLKDJLJDLKD' } );
},
qr/index file .* does not exist/,
"new with invalid source dies"
);
# source specified
new_ok(
'CPAN::Common::Index::LocalPackage' => [ { source => $localgz } ],
"new with source"
);
# both specified
( run in 0.913 second using v1.01-cache-2.11-cpan-54e63673c56 )