App-prepare4release
view release on metacpan or search on metacpan
t/helpers-more.t view on Meta::CPAN
like( $insert, qr/# Title.*X.*body/s, 'insert after title block' );
$insert = App::prepare4release->_insert_readme_badges_after_regen(
"# NAME\n\nPod\n", "Z\n\n" );
like( $insert, qr/\AZ\n\n# NAME\n/s, 'insert before NAME' );
eval { App::prepare4release->parse_argv( [ '--github', '--gitlab' ] ) };
like( $@, qr/Use only one of/, 'parse_argv both vcs flags' );
my $po = App::prepare4release->parse_argv( ['--verbose', '--cpan'] );
ok( $po->{verbose} && $po->{cpan}, 'parse_argv verbose cpan' );
like(
App::prepare4release->_postamble_block(
{ github => 1, gitlab => 0, cpan => 0 }
),
qr/pod2github.*maint\/inject-readme-badges\.pl/s,
'_postamble_block github + inject script'
);
like(
App::prepare4release->_postamble_block(
{ github => 0, gitlab => 0, cpan => 1 }
),
qr/pod2markdown.*maint\/inject-readme-badges\.pl/s,
'_postamble_block markdown + inject script'
);
is( scalar App::prepare4release->ci_apt_packages(
{ ci => { apt_packages => [qw(zlib1g-dev)] } }
),
1,
'ci_apt_packages' );
my $pmf = File::Spec->catfile( $tmp, 'x.pm' );
{
open my $fh, '>:encoding(UTF-8)', $pmf or die $!;
print {$fh} "package X;\n__END__\n\n=head1\n\ncut\n";
close $fh;
}
my ( $code, $pod ) = App::prepare4release->split_pm_code_and_pod($pmf);
ok( $code =~ /package X/, 'split_pm code' );
ok( $pod =~ /head1/, 'split_pm pod' );
{
my $legacy = File::Spec->catfile( $tmp, 'legacy.t' );
open my $fh, '>:encoding(UTF-8)', $legacy or die $!;
print {$fh} "use Test::More;\n";
close $fh;
ok( App::prepare4release->file_uses_legacy_assertion_framework($legacy),
'detect Test::More legacy' );
}
my $troot = tempdir( CLEANUP => 1 );
mkdir File::Spec->catfile( $troot, 't' );
{
open my $fh, '>:encoding(UTF-8)',
File::Spec->catfile( $troot, 't', 'z.t' ) or die $!;
print {$fh} "use Test2::V1;\n";
close $fh;
}
my @eol = App::prepare4release->list_files_for_eol_xt($troot);
ok( ( grep { $_ eq 't/z.t' } @eol ), 'list_files_for_eol_xt includes t/*.t' );
eval {
App::prepare4release->load_config_file(
File::Spec->catfile( $tmp, 'nope.json' ) );
};
ok( $@, 'load_config_file missing file croaks' );
done_testing;
( run in 0.479 second using v1.01-cache-2.11-cpan-98e64b0badf )