X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;ds=sidebyside;f=dev%2Farm%2Flibperl-critic-perl%2Flibperl-critic-perl-1.088%2Ft%2F15_statistics.t;fp=dev%2Farm%2Flibperl-critic-perl%2Flibperl-critic-perl-1.088%2Ft%2F15_statistics.t;h=41e5213b0419002cf18f6a0ddec082616e227e8d;hb=f477fa73365d491991707e7ed9217b48d6994551;hp=0000000000000000000000000000000000000000;hpb=da95c414033799c3a62606f299c3c00b5c77ca11;p=dh-make-perl diff --git a/dev/arm/libperl-critic-perl/libperl-critic-perl-1.088/t/15_statistics.t b/dev/arm/libperl-critic-perl/libperl-critic-perl-1.088/t/15_statistics.t new file mode 100644 index 0000000..41e5213 --- /dev/null +++ b/dev/arm/libperl-critic-perl/libperl-critic-perl-1.088/t/15_statistics.t @@ -0,0 +1,105 @@ +#!perl + +############################################################################## +# $URL: http://perlcritic.tigris.org/svn/perlcritic/trunk/Perl-Critic/t/15_statistics.t $ +# $Date: 2008-06-06 00:48:04 -0500 (Fri, 06 Jun 2008) $ +# $Author: clonezone $ +# $Revision: 2416 $ +############################################################################## + +use 5.006001; +use strict; +use warnings; + +use Test::More (tests => 25); +use English qw(-no_match_vars); +use Perl::Critic::PolicyFactory (-test => 1); +use Perl::Critic::TestUtils; + +Perl::Critic::TestUtils::block_perlcriticrc(); + +#----------------------------------------------------------------------------- + +my $pkg = 'Perl::Critic::Statistics'; +use_ok( $pkg ); + +my @methods = qw( + average_sub_mccabe + lines + modules + new + statements + subs + total_violations + violations_by_policy + violations_by_severity + statements_other_than_subs + violations_per_file + violations_per_statement + violations_per_line_of_code +); + +for my $method ( @methods ) { + can_ok( $pkg, $method ); +} + +#----------------------------------------------------------------------------- + +my $code = <<'END_PERL'; +package Foo; + +use My::Module; +$this = $that if $condition; +sub foo { return @list unless $condition }; +END_PERL + +#----------------------------------------------------------------------------- + +# User may not have Perl::Tidy installed... +my $profile = { '-CodeLayout::RequireTidyCode' => {} }; +my $critic = + Perl::Critic->new( + -severity => 1, + -profile => $profile, + -theme => 'core', + ); +my @violations = $critic->critique( \$code ); + +#print @violations; +#exit; + +my %expected_stats = ( + average_sub_mccabe => 2, + lines => 5, + modules => 1, + statements => 6, + statements_other_than_subs => 5, + subs => 1, + total_violations => 10, + violations_per_file => 10, + violations_per_line_of_code => 2, + violations_per_statement => 2, +); + +my $stats = $critic->statistics(); +isa_ok($stats, $pkg); + +while ( my($method, $expected) = each %expected_stats) { + is( $stats->$method, $expected, "Statistics: $method"); +} + +#----------------------------------------------------------------------------- + +# ensure we run true if this test is loaded by +# t/15_statistics.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 :