1#!perl 2 3use strict; 4use warnings; 5use Perl::Lint::Policy::ValuesAndExpressions::ProhibitConstantPragma; 6use t::Policy::Util qw/fetch_violations/; 7use Test::Base::Less; 8 9my $class_name = 'ValuesAndExpressions::ProhibitConstantPragma'; 10 11filters { 12 params => [qw/eval/], # TODO wrong! 13}; 14 15for my $block (blocks) { 16 my $violations = fetch_violations($class_name, $block->input, $block->params); 17 is scalar @$violations, $block->failures, $block->dscr; 18} 19 20done_testing; 21 22__DATA__ 23 24=== 25--- dscr: Basic passing 26--- failures: 0 27--- params: 28--- input 29my $FOO = 42; 30local BAR = 24; 31our $NUTS = 16; 32 33=== 34--- dscr: Basic failure 35--- failures: 2 36--- params: 37--- input 38use constant FOO => 42; 39use constant BAR => 24; 40 41=== 42--- dscr: no lint 43--- failures: 4 44--- params: 45--- input 46use constant FOO => 42; 47use constant BAR => 24; 48use constant BAR => 24; ## no lint 49use constant FOO => 42; 50use constant BAR => 24; 51 52