Perl-Critic-Mardem

 view release on metacpan or  search on metacpan

t/60-large-block.t  view on Meta::CPAN

{
    my $code = <<'END_OF_STRING';
        my @a = (1,2,3);
        my @x = map {
            my $x = 1 == 2;
            return "$x $_";} @a;
END_OF_STRING

    my @violations = _check_perl_critic( \$code, $STATEMENT_COUNT_LIMIT_VALUE_1 );

    ok !!@violations, 'map with two statements';

    my $desc = _get_description_from_violations( @violations );

    like $desc, qr/"map"\scode-block\s.*\sstatement\scount\s[(]\d+[)]/ixmso, 'violation description correct with map';
}

#####

{
    my $code = <<'END_OF_STRING';
        my @a = (1,2,3);
        my @x = grep {
            my $x = 1 == 2;
            return $x && $_;} @a;
END_OF_STRING

    my @violations = _check_perl_critic( \$code, $STATEMENT_COUNT_LIMIT_VALUE_1 );

    ok !!@violations, 'grep with two statements';

    my $desc = _get_description_from_violations( @violations );

    like $desc, qr/"grep"\scode-block\s.*\sstatement\scount\s[(]\d+[)]/ixmso, 'violation description correct with grep';
}

#####

{
    my $code = <<'END_OF_STRING';
        BEGIN {
            print __LINE__;
            return;
        };
END_OF_STRING

    my @violations = _check_perl_critic( \$code, $STATEMENT_COUNT_LIMIT_VALUE_1 );

    ok !!@violations, 'BEGIN with two statements';

    my $desc = _get_description_from_violations( @violations );

    like $desc, qr/"BEGIN"\scode-block\s.*\sstatement\scount\s[(]\d+[)]/ixmso,
        'violation description correct with BEGIN';
}

#####

{
    my $code = <<'END_OF_STRING';
        UNITCHECK {
            print __LINE__;
            return;
        };
END_OF_STRING

    my @violations = _check_perl_critic( \$code, $STATEMENT_COUNT_LIMIT_VALUE_1 );

    ok !!@violations, 'UNITCHECK with two statements';

    my $desc = _get_description_from_violations( @violations );

    like $desc, qr/"UNITCHECK"\scode-block\s.*\sstatement\scount\s[(]\d+[)]/ixmso,
        'violation description correct with UNITCHECK';
}

#####

{
    my $code = <<'END_OF_STRING';
        CHECK {
            print __LINE__;
            return;
        };
END_OF_STRING

    my @violations = _check_perl_critic( \$code, $STATEMENT_COUNT_LIMIT_VALUE_1 );

    ok !!@violations, 'CHECK with two statements';

    my $desc = _get_description_from_violations( @violations );

    like $desc, qr/"CHECK"\scode-block\s.*\sstatement\scount\s[(]\d+[)]/ixmso,
        'violation description correct with CHECK';
}

#####

{
    my $code = <<'END_OF_STRING';
        INIT {
            print __LINE__;
            return;
        };
END_OF_STRING

    my @violations = _check_perl_critic( \$code, $STATEMENT_COUNT_LIMIT_VALUE_1 );

    ok !!@violations, 'INIT with two statements';

    my $desc = _get_description_from_violations( @violations );

    like $desc, qr/"INIT"\scode-block\s.*\sstatement\scount\s[(]\d+[)]/ixmso, 'violation description correct with INIT';
}

#####

{
    my $code = <<'END_OF_STRING';
        END {
            print __LINE__;
            return;
        };
END_OF_STRING

    my @violations = _check_perl_critic( \$code, $STATEMENT_COUNT_LIMIT_VALUE_1 );

    ok !!@violations, 'END with two statements';

    my $desc = _get_description_from_violations( @violations );

    like $desc, qr/"END"\scode-block\s.*\sstatement\scount\s[(]\d+[)]/ixmso, 'violation description correct with END';
}



( run in 1.886 second using v1.01-cache-2.11-cpan-ff9377addf4 )