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 )