Add ARM files
[dh-make-perl] / dev / arm / libperl-critic-perl / libperl-critic-perl-1.088 / t / 15_statistics.t
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 (file)
index 0000000..41e5213
--- /dev/null
@@ -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 :