1use strict; 2use warnings; 3use Perl::Lint::Policy::ValuesAndExpressions::ProhibitNoisyQuotes; 4use t::Policy::Util qw/fetch_violations/; 5use Test::Base::Less; 6 7my $class_name = 'ValuesAndExpressions::ProhibitNoisyQuotes'; 8 9filters { 10 params => [qw/eval/], # TODO wrong! 11}; 12 13for my $block (blocks) { 14 my $violations = fetch_violations($class_name, $block->input, $block->params); 15 is scalar @$violations, $block->failures, $block->dscr; 16} 17 18done_testing; 19 20__DATA__ 21 22=== 23--- dscr: Basic passing 24--- failures: 0 25--- params: 26--- input 27$var = q{'}; 28$var = q{"}; 29$var = q{!!}; 30$var = q{||}; 31$var = "!!!"; 32$var = '!!!'; 33$var = 'a'; 34$var = "a"; 35$var = '1'; 36$var = "1"; 37 38=== 39--- dscr: Basic failure 40--- failures: 4 41--- params: 42--- input 43$var = "!"; 44$var = '!'; 45$var = '!!'; 46$var = "||"; 47 48=== 49--- dscr: overload pragma 50--- failures: 0 51--- params: 52--- input 53use overload '""'; 54 55=== 56--- dscr: Parentheses, braces, brackets 57--- failures: 0 58--- params: 59--- input 60$var = '('; 61$var = ')'; 62$var = '{'; 63$var = '}'; 64$var = '['; 65$var = ']'; 66 67$var = '{('; 68$var = ')}'; 69$var = '[{'; 70$var = '[}'; 71$var = '[('; 72$var = '])'; 73 74$var = "("; 75$var = ")"; 76$var = "{"; 77$var = "}"; 78$var = "["; 79$var = "]"; 80 81$var = "{("; 82$var = ")]"; 83$var = "({"; 84$var = "}]"; 85$var = "{["; 86$var = "]}"; 87 88=== 89--- dscr: no lint 90--- failures: 3 91--- params: 92--- input 93$var = "!"; 94$var = '!'; 95$var = '!!'; ## no lint 96$var = "||"; 97