Perl-Critic-Mardem

 view release on metacpan or  search on metacpan

t/40-complex-block.t  view on Meta::CPAN

}

#####

{
    my $code = <<'END_OF_STRING';
        my @a = (1,2,3);
        my @x = map { 1 == 0 && 2 == 3 || 4 == 6 } @a;
END_OF_STRING

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

    ok !!@violations, 'complex map block';

    my $desc = _get_description_from_violations( @violations );

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

#####

{
    my $code = <<'END_OF_STRING';
        my @a = (1,2,3);
        my @x = grep { 1 == 0 && 2 == 3 || 4 == 6 } @a;
END_OF_STRING

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

    ok !!@violations, 'complex grep block';

    my $desc = _get_description_from_violations( @violations );

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

#####

{
    my $code = <<'END_OF_STRING';
        BEGIN {
            print 'test ' . ( 1 == 0 && 2 == 3 || 4 == 6 ? '' : 'not ') . 'reached'."\n";
        };
END_OF_STRING

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

    ok !!@violations, 'complex tinaray within BEGIN block';

    my $desc = _get_description_from_violations( @violations );

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

#####

{
    my $code = <<'END_OF_STRING';
        UNITCHECK {
            print 'test ' . ( 1 == 0 && 2 == 3 || 4 == 6 ? '' : 'not ') . 'reached'."\n";
        };
END_OF_STRING

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

    ok !!@violations, 'complex tinaray within UNITCHECK block';

    my $desc = _get_description_from_violations( @violations );

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

#####

{
    my $code = <<'END_OF_STRING';
        CHECK {
            print 'test ' . ( 1 == 0 && 2 == 3 || 4 == 6 ? '' : 'not ') . 'reached'."\n";
        };
END_OF_STRING

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

    ok !!@violations, 'complex tinaray within CHECK block';

    my $desc = _get_description_from_violations( @violations );

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

#####

{
    my $code = <<'END_OF_STRING';
        INIT {
            print 'test ' . ( 1 == 0 && 2 == 3 || 4 == 6 ? '' : 'not ') . 'reached'."\n";
        };
END_OF_STRING

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

    ok !!@violations, 'complex tinaray within INIT block';

    my $desc = _get_description_from_violations( @violations );

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

#####

{
    my $code = <<'END_OF_STRING';
        END {
            print 'test ' . ( 1 == 0 && 2 == 3 || 4 == 6 ? '' : 'not ') . 'reached'."\n";
        };
END_OF_STRING

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

    ok !!@violations, 'complex tinaray within END block';

    my $desc = _get_description_from_violations( @violations );

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

#####



( run in 2.445 seconds using v1.01-cache-2.11-cpan-8f98c5d2c55 )