+++ /dev/null
-#!perl
-
-##############################################################################
-# $URL: http://perlcritic.tigris.org/svn/perlcritic/trunk/Perl-Critic/t/03_pragmas.t $
-# $Date: 2008-06-29 11:47:22 -0700 (Sun, 29 Jun 2008) $
-# $Author: clonezone $
-# $Revision: 2483 $
-##############################################################################
-
-use 5.006001;
-use strict;
-use warnings;
-
-use Test::More (tests => 28);
-use Perl::Critic::PolicyFactory (-test => 1);
-
-# common P::C testing tools
-use Perl::Critic::TestUtils qw(critique);
-Perl::Critic::TestUtils::block_perlcriticrc();
-
-# Configure Critic not to load certain policies. This
-# just makes it a little easier to create test cases
-my $profile = {
- '-CodeLayout::RequireTidyCode' => {},
- '-Documentation::PodSpelling' => {},
- '-ErrorHandling::RequireCheckingReturnValueOfEval' => {},
- '-Miscellanea::RequireRcsKeywords' => {},
- '-ValuesAndExpressions::ProhibitMagicNumbers' => {},
-};
-
-my $code = undef;
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-require 'some_library.pl'; ## no critic
-print $crap if $condition; ## no critic
-
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 1, -theme => 'core'}
- ),
- 0,
- 'inline no-critic'
-);
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-$foo = $bar;
-
-## no critic
-
-require 'some_library.pl';
-print $crap if $condition;
-
-## use critic
-
-$baz = $nuts;
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 1, -theme => 'core'},
- ),
- 0,
- 'region no-critic',
-);
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-for my $foo (@list) {
- ## no critic
- $long_int = 12345678;
- $oct_num = 033;
-}
-
-my $noisy = '!';
-
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 1, -theme => 'core'},
- ),
- 1,
- 'scoped no-critic',
-);
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-{
- ## no critic
- $long_int = 12345678;
- $oct_num = 033;
-}
-
-my $noisy = '!';
-
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 1, -theme => 'core'},
- ),
- 1,
- 'scoped no-critic',
-);
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-## no critic
-for my $foo (@list) {
- $long_int = 12345678;
- $oct_num = 033;
-}
-
-## use critic
-my $noisy = '!';
-
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 1, -theme => 'core'},
- ),
- 1,
- 'region no-critic across a scope',
-);
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-for my $foo (@list) {
- ## no critic
- $long_int = 12345678;
- $oct_num = 033;
- ## use critic
-}
-
-my $noisy = '!';
-my $empty = '';
-
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 1, -theme => 'core'},
- ),
- 2,
- 'scoped region no-critic',
-);
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-## no critic
-for my $foo (@list) {
- $long_int = 12345678;
- $oct_num = 033;
-}
-
-my $noisy = '!';
-my $empty = '';
-
-#No final '1;'
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 1, -theme => 'core'},
- ),
- 0,
- 'unterminated no-critic across a scope',
-);
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-$long_int = 12345678; ## no critic
-$oct_num = 033; ## no critic
-my $noisy = '!'; ## no critic
-my $empty = ''; ## no critic
-my $empty = ''; ## use critic
-
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 1, -theme => 'core'},
- ),
- 1,
- 'inline use-critic',
-);
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-$long_int = 12345678; ## no critic
-$oct_num = 033; ## no critic
-my $noisy = '!'; ## no critic
-my $empty = ''; ## no critic
-
-$long_int = 12345678;
-$oct_num = 033;
-my $noisy = '!';
-my $empty = '';
-
-#No final '1;'
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 1, -theme => 'core'},
- ),
- 5,
- 'inline no-critic',
-);
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-$long_int = 12345678; ## no critic
-$oct_num = 033; ## no critic
-my $noisy = '!'; ## no critic
-my $empty = ''; ## no critic
-
-## no critic
-$long_int = 12345678;
-$oct_num = 033;
-my $noisy = '!';
-my $empty = '';
-
-#No final '1;'
-END_PERL
-
-is(
- critique(
- \$code,
- {
- -profile => $profile,
- -severity => 1,
- -theme => 'core',
- -force => 1,
- }
- ),
- 9,
- 'force option',
-);
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-for my $foo (@list) {
- ## no critic
- $long_int = 12345678;
- $oct_num = 033;
-}
-
-my $noisy = '!'; ## no critic
-my $empty = ''; ## no critic
-
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {
- -profile => $profile,
- -severity => 1,
- -theme => 'core',
- -force => 1,
- }
- ),
- 4,
- 'force option',
-);
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-for my $foo (@list) {
- ## no critic
- $long_int = 12345678;
- $oct_num = 033;
-}
-
-## no critic
-my $noisy = '!';
-my $empty = '';
-
-#No final '1;'
-END_PERL
-
-is(
- critique(
- \$code,
- {
- -profile => $profile,
- -severity => 1,
- -theme => 'core',
- -force => 1,
- }
- ),
- 5,
- 'force option',
-);
-
-#-----------------------------------------------------------------------------
-# Check that '## no critic' on the top of a block doesn't extend
-# to all code within the block. See RT bug #15295
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-for ($i;$i++;$i<$j) { ## no critic
- my $long_int = 12345678;
- my $oct_num = 033;
-}
-
-unless ( $condition1
- && $condition2 ) { ## no critic
- my $noisy = '!';
- my $empty = '';
-}
-
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 1, -theme => 'core'},
- ),
- 4,
- 'RT bug 15295',
-);
-
-#-----------------------------------------------------------------------------
-# Check that '## no critic' on the top of a block doesn't extend
-# to all code within the block. See RT bug #15295
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-for ($i; $i++; $i<$j) { ## no critic
- my $long_int = 12345678;
- my $oct_num = 033;
-}
-
-#Between blocks now
-$Global::Variable = "foo"; #Package var; double-quotes
-
-unless ( $condition1
- && $condition2 ) { ## no critic
- my $noisy = '!';
- my $empty = '';
-}
-
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 1, -theme => 'core'}
- ),
- 6,
- 'RT bug 15295',
-);
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-sub grep { ## no critic;
- return $foo;
-}
-
-sub grep { return $foo; } ## no critic
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 1, -theme => 'core'},
- ),
- 0,
- 'no-critic on sub name',
-);
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-sub grep { ## no critic;
- return undef; #Should find this!
-}
-
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity =>1, -theme => 'core'}
- ),
- 1,
- 'no-critic on sub name',
-);
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-## no critic (NoisyQuotes)
-my $noisy = '!';
-my $empty = '';
-eval $string;
-
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 1, -theme => 'core'}
- ),
- 2,
- 'per-policy no-critic',
-);
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-## no critic (ValuesAndExpressions)
-my $noisy = '!';
-my $empty = '';
-eval $string;
-
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 1, -theme => 'core'}
- ),
- 1,
- 'per-policy no-critic',
-);
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-## no critic (Noisy, Empty)
-my $noisy = '!';
-my $empty = '';
-eval $string;
-
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 1, -theme => 'core'}
- ),
- 1,
- 'per-policy no-critic',
-);
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-## no critic (NOISY, EMPTY, EVAL)
-my $noisy = '!';
-my $empty = '';
-eval $string;
-
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 1, -theme => 'core'}
- ),
- 0,
- 'per-policy no-critic',
-);
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-## no critic (Noisy, Empty, Eval)
-my $noisy = '!';
-my $empty = '';
-eval $string;
-
-## use critic
-my $noisy = '!';
-my $empty = '';
-eval $string;
-
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 1, -theme => 'core'}
- ),
- 3,
- 'per-policy no-critic',
-);
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-## no critic (Critic::Policy)
-my $noisy = '!';
-my $empty = '';
-eval $string;
-
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 1, -theme => 'core'}
- ),
- 0,
- 'per-policy no-critic',
-);
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-## no critic (Foo::Bar, Baz, Boom)
-my $noisy = '!';
-my $empty = '';
-eval $string;
-
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 1, -theme => 'core'}
- ),
- 3,
- 'per-policy no-critic',
-);
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-## no critic (Noisy)
-my $noisy = '!'; #Should not find this
-my $empty = ''; #Should find this
-
-sub foo {
-
- ## no critic (Empty)
- my $nosiy = '!'; #Should not find this
- my $empty = ''; #Should not find this
- ## use critic;
-
- return 1;
-}
-
-my $nosiy = '!'; #Should not find this
-my $empty = ''; #Should find this
-
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 1, -theme => 'core'}
- ),
- 2,
- 'per-policy no-critic',
-);
-
-#-----------------------------------------------------------------------------
-$code = <<'END_PERL';
-package FOO;
-
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-# with parentheses
-my $noisy = '!'; ##no critic (NoisyQuotes)
-barf() unless $$ eq ''; ##no critic (Postfix,Empty,Punctuation)
-barf() unless $$ eq ''; ##no critic (Postfix , Empty , Punctuation)
-barf() unless $$ eq ''; ##no critic (Postfix Empty Punctuation)
-
-# qw() style
-my $noisy = '!'; ##no critic qw(NoisyQuotes);
-barf() unless $$ eq ''; ##no critic qw(Postfix,Empty,Punctuation)
-barf() unless $$ eq ''; ##no critic qw(Postfix , Empty , Punctuation)
-barf() unless $$ eq ''; ##no critic qw(Postfix Empty Punctuation)
-
-# no parentheses
-my $noisy = '!'; ##no critic NoisyQuotes;
-barf() unless $$ eq ''; ##no critic Postfix,Empty,Punctuation;
-barf() unless $$ eq ''; ##no critic Postfix , Empty , Punctuation;
-barf() unless $$ eq ''; ##no critic Postfix Empty Punctuation;
-
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 1, -theme => 'core'},
- ),
- 0,
- 'no critic: syntaxes',
-);
-
-#-----------------------------------------------------------------------------
-# Most policies apply to a particular type of PPI::Element and usually
-# only return one Violation at a time. But the next three cases
-# involve policies that apply to the whole document and can return
-# multiple violations at a time. These tests make sure that the 'no
-# critic' pragmas are effective with those Policies
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-
-#Code before 'use strict'
-my $foo = 'baz'; ## no critic
-my $bar = 42; # Should find this
-
-use strict;
-use warnings;
-our $VERSION = 1.0;
-
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 5, -theme => 'core'},
- ),
- 1,
- 'no critic & RequireUseStrict',
-);
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-package FOO;
-use strict;
-
-#Code before 'use warnings'
-my $foo = 'baz'; ## no critic
-my $bar = 42; # Should find this
-
-use warnings;
-our $VERSION = 1.0;
-
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 4, -theme => 'core'},
- ),
- 1,
- 'no critic & RequireUseWarnings',
-);
-
-#-----------------------------------------------------------------------------
-
-$code = <<'END_PERL';
-use strict; ##no critic
-use warnings; #should find this
-my $bar = 42; #this one will be squelched
-
-package FOO;
-
-our $VERSION = 1.0;
-
-1;
-END_PERL
-
-is(
- critique(
- \$code,
- {-profile => $profile, -severity => 4, -theme => 'core'},
- ),
- 1,
- 'no critic & RequireExplicitPackage',
-);
-
-#-----------------------------------------------------------------------------
-
-# ensure we run true if this test is loaded by
-# t/03_pragmas.t_without_optional_dependencies.t
-1;
-
-##############################################################################
-# Local Variables:
-# mode: cperl
-# cperl-indent-level: 4
-# fill-column: 78
-# indent-tabs-mode: nil
-# c-indentation-style: bsd
-# End:
-# ex: set ts=8 sts=4 sw=4 tw=78 ft=perl expandtab shiftround :