Dist-Zilla-Plugin-BumpVersionAfterRelease

 view release on metacpan or  search on metacpan

t/basic.t  view on Meta::CPAN

            $sample_src,
            _regex_for_version( q['], '0.001', "# comment" ),
            "single-quoted version line correct in source file",
        );

        my $sample_bld = $tzil->slurp_file('build/lib/DZT/Sample.pm');
        my $sample_re = _regex_for_version( q['], $version,
            $c->{trial} || $c->{add_tarball_name}
            ? '# '
              . ( $c->{trial} ? "TRIAL" : '' )
              . ( $c->{add_tarball_name} ? "from DZT-Sample-$version.tar.gz" : '' )
            : '' );

        like( $sample_bld, $sample_re, "single-quoted version line correct in built file" );

        my $count =()= $sample_bld =~ /$sample_re/mg;
        my $exp   = !$c->{add_tarball_name}
          && ( $c->{global} || ( !$c->{trial} && $label =~ /identity/ ) ) ? 2 : 1;
        is( $count, $exp, "right number of replacements" )
          or diag $sample_bld;

        like(
            $tzil->slurp_file('source/lib/DZT/DQuote.pm'),
            _regex_for_version( q["], '0.001', "# comment" ),
            "double-quoted version line correct in source file",
        );

        my $dquote_bld = $tzil->slurp_file('build/lib/DZT/DQuote.pm');
        like(
            $dquote_bld,
            _regex_for_version( q['], $version, $c->{trial} ? "# TRIAL" : "" ),
            "double-quoted version line changed to single in build file"
        );

        like( $dquote_bld, qr/1;\s+# last line/, "last line correct in double-quoted file" );

        ok(
            grep( { /updating \$VERSION assignment/ } @{ $tzil->log_messages } ),
            "we log updating a version",
        ) or diag join( "\n", @{ $tzil->log_messages } );

        my $makefilePL = $tzil->slurp_file('build/Makefile.PL');

        like( $makefilePL, _regex_for_makefilePL($version), "Makefile.PL version bumped" );

        # after release

        $tzil->release;

        pass("dzil release");

        ok(
            grep( { /fake release happen/i } @{ $tzil->log_messages } ),
            "we log a fake release when we fake release",
        );

        my $orig = $tzil->slurp_file('source/lib/DZT/Sample.pm');
        my $next_re = _regex_for_version( q['], next_version($version) );
        $next_re = qr/$next_re$/m;

        local $TODO = 'qr/...$/m is broken before 5.10' if $] lt '5.010000';
        if (!$c->{all_matching} || $version eq '0.001') {
            like( $orig, $next_re, "version line updated in single-quoted source file" );
        }
        else {
            unlike( $orig, $next_re, "version line not updated in source file - did not match release version");
        }
        local $TODO;

        $count =()= $orig =~ /$next_re/mg;
        $exp = $c->{global} || ($c->{all_matching} && $version eq '0.001') ? 2 : 1;
        $exp =
            $c->{global} ? 2
          : $c->{all_matching} ? ($version eq '0.001' ? 2 : 0)
          : 1;
        is( $count, $exp, "right number of replacements" )
          or diag $orig;

        like( $orig, qr/1;\s+# last line/,
            "last line correct in single-quoted source file" );

        $orig = $tzil->slurp_file('source/lib/DZT/DQuote.pm');

        local $TODO = 'qr/...$/m is broken before 5.10' if $] lt '5.010000';
        if (!$c->{all_matching} || $version eq '0.001') {
            like( $orig, $next_re, "version line updated from double-quotes to single-quotes in source file");
        }
        else {
            unlike( $orig, $next_re, "version line not updated in source file - did not match release version");
        }
        local $TODO;

        like( $orig, qr/1;\s+# last line/, "last line correct in revised source file" );

        $orig = $tzil->slurp_file('source/lib/DZT/Mismatched.pm');

        local $TODO = 'qr/...$/m is broken before 5.10' if $] lt '5.010000';

        if ($c->{all_matching} && $version ne '0.003' && $version ne '0.004') {
            unlike( $orig, $next_re, "version line not updated in source file - did not match release version");
        }
        else {
            like( $orig, $next_re, "version line updated unconditionally in source file");
        }
        local $TODO;

        $count =()= $orig =~ /$next_re/mg;
        $exp =
            $c->{global} ? 2
          : $c->{all_matching} ? ($version eq '0.003' || $version eq '0.004' ? 1 : 0)
          : 1;

        is( $count, $exp, "right number of replacements" )
          or diag $orig;

        $makefilePL = $tzil->slurp_file('source/Makefile.PL');

        like(
            $makefilePL,
            _regex_for_makefilePL( next_version($version) ),
            "Makefile.PL version bumped"
        );

        cmp_deeply(
            $tzil->distmeta,
            superhashof(
                {
                    x_Dist_Zilla => superhashof(
                        {
                            plugins => supersetof(
                                {
                                    class  => 'Dist::Zilla::Plugin::RewriteVersion',
                                    config => {
                                        'Dist::Zilla::Plugin::RewriteVersion' => {
    global                => bool( $c->{global} ),
    skip_version_provider => bool( $c->{skip_version_provider} ),
    add_tarball_name      => bool( $c->{add_tarball_name} ),
    finders               => [ ':ExecFiles', ':InstallModules' ],
                                        },
                                    },
                                    name    => 'RewriteVersion',
                                    version => Dist::Zilla::Plugin::RewriteVersion->VERSION,
                                },
                                {
                                    class  => 'Dist::Zilla::Plugin::BumpVersionAfterRelease',
                                    config => {
                                        'Dist::Zilla::Plugin::BumpVersionAfterRelease' => {
    global            => bool( $c->{global} ),
    munge_makefile_pl => bool(1),
    finders           => [ ':ExecFiles', ':InstallModules' ],
                                        },
                                    },
                                    name    => 'BumpVersionAfterRelease',
                                    version => Dist::Zilla::Plugin::BumpVersionAfterRelease->VERSION,
                                },
                            ),
                        }



( run in 2.152 seconds using v1.01-cache-2.11-cpan-a49fcb8fa48 )