Blame xt/release/changes_has_content.t

Packit 1c5632
#!perl
Packit 1c5632
Packit 1c5632
use Test::More tests => 2;
Packit 1c5632
Packit 1c5632
note 'Checking Changes';
Packit 1c5632
my $changes_file = 'Changes';
Packit 1c5632
my $newver = '0.928';
Packit 1c5632
my $trial_token = '-TRIAL';
Packit 1c5632
Packit 1c5632
SKIP: {
Packit 1c5632
    ok(-e $changes_file, "$changes_file file exists")
Packit 1c5632
        or skip 'Changes is missing', 1;
Packit 1c5632
Packit 1c5632
    ok(_get_changes($newver), "$changes_file has content for $newver");
Packit 1c5632
}
Packit 1c5632
Packit 1c5632
done_testing;
Packit 1c5632
Packit 1c5632
# _get_changes copied and adapted from Dist::Zilla::Plugin::Git::Commit
Packit 1c5632
# by Jerome Quelin
Packit 1c5632
sub _get_changes
Packit 1c5632
{
Packit 1c5632
    my $newver = shift;
Packit 1c5632
Packit 1c5632
    # parse changelog to find commit message
Packit 1c5632
    open(my $fh, '<', $changes_file) or die "cannot open $changes_file: $!";
Packit 1c5632
    my $changelog = join('', <$fh>);
Packit 1c5632
    close $fh;
Packit 1c5632
Packit 1c5632
    my @content =
Packit 1c5632
        grep { /^$newver(?:$trial_token)?(?:\s+|$)/ ... /^\S/ } # from newver to un-indented
Packit 1c5632
        split /\n/, $changelog;
Packit 1c5632
    shift @content; # drop the version line
Packit 1c5632
Packit 1c5632
    # drop unindented last line and trailing blank lines
Packit 1c5632
    pop @content while ( @content && $content[-1] =~ /^(?:\S|\s*$)/ );
Packit 1c5632
Packit 1c5632
    # return number of non-blank lines
Packit 1c5632
    return scalar @content;
Packit 1c5632
}
Packit 1c5632