use strict;
use warnings;
use Test::More 'no_plan';
use Data::Dumper qw(Dumper);
# for testing the Manifest plugin
use Module::CPANTS::Analyse;
use File::Path qw(rmtree);
{
my $a=Module::CPANTS::Analyse->new({ dist => 't/eg/manifest/Good-Dist-0.01.tar.gz' });
$a->unpack;
$a->analyse;
is($a->d->{manifest_matches_dist}, 1, 'manifest matches dist');
}
{
my $a=Module::CPANTS::Analyse->new({ dist => 't/eg/manifest/no-manifest-0.01.tar.gz' });
$a->unpack;
$a->analyse;
is( $a->d->{manifest_matches_dist}, 0, 'manifest does not match dist' );
is( $a->d->{error}{manifest_matches_dist}, 'Cannot find MANIFEST in dist.','proper error message' )
or diag Dumper $a->d->{error};
}
# a third with "bad-manifest-0.01"
{
my $a=Module::CPANTS::Analyse->new({ dist => 't/eg/manifest/bad-manifest-0.01.tar.gz' });
$a->unpack;
$a->analyse;
is( $a->d->{manifest_matches_dist}, 0, 'manifest does not match dist' );
is_deeply( $a->d->{error}{manifest_matches_dist}, [
"MANIFEST (11) does not match dist (11):",
"Missing in MANIFEST: TODO",
"Missing in Dist: eg/demo2.pl"], 'proper error message');
}