#!perl use strict; use warnings; use Path::Class; use FindBin qw($Bin); use Test::More (tests => 8); use Package::Locator::Index; #------------------------------------------------------------------------------ my $repos_dir = dir($Bin)->as_foreign('Unix')->stringify() . '/repos'; my $repos_url = URI->new("file://$repos_dir/a"); my $index = Package::Locator::Index->new( repository_url => $repos_url ); #------------------------------------------------------------------------------ my $pkg = $index->packages->{Foo}; ok($pkg, 'Found package'); is($pkg->{name}, 'Foo', 'Package name'); is($pkg->{version}, '1.0', 'Package version'); is($pkg->{distribution}, 'A/AU/AUTHOR/Foo-1.0.tar.gz', 'Dist path'); #------------------------------------------------------------------------------ my $dist = $index->distributions->{'A/AU/AUTHOR/Foo-1.0.tar.gz'}; ok($dist, 'Found dist'); is($dist->{path}, 'A/AU/AUTHOR/Foo-1.0.tar.gz', 'Dist path'); is($dist->{source}, $repos_url, 'Dist path'); is($dist->{packages}->[0]->{name}, 'Foo', 'Package name');