Add ARM files
[dh-make-perl] / dev / arm / libperl-critic-perl / libperl-critic-perl-1.088 / t / 07_perlcritic.t
diff --git a/dev/arm/libperl-critic-perl/libperl-critic-perl-1.088/t/07_perlcritic.t b/dev/arm/libperl-critic-perl/libperl-critic-perl-1.088/t/07_perlcritic.t
new file mode 100644 (file)
index 0000000..204a594
--- /dev/null
@@ -0,0 +1,192 @@
+#!perl
+
+##############################################################################
+#     $URL: http://perlcritic.tigris.org/svn/perlcritic/trunk/Perl-Critic/t/07_perlcritic.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 File::Spec;
+use English qw(-no_match_vars);
+use Test::More tests => 36;
+
+#-----------------------------------------------------------------------------
+# Load perlcritic like a library so we can test its subroutines.  If it is not
+# found in blib, then use the one in bin (for example, when using 'prove')
+
+my $perlcritic = File::Spec->catfile( qw(blib script perlcritic) );
+$perlcritic = File::Spec->catfile( qw(bin perlcritic) ) if ! -e $perlcritic;
+require $perlcritic;  ## no critic
+
+# Because bin/perlcritic does not declare a package, it has functions
+# in main, just like this test file, so we can use its functions
+# without a prefix.
+
+#-----------------------------------------------------------------------------
+
+local @ARGV = ();
+my %options = ();
+
+#-----------------------------------------------------------------------------
+
+@ARGV = qw(-1 -2 -3 -4 -5);
+%options = get_options();
+is( $options{-severity}, 1);
+
+@ARGV = qw(-5 -3 -4 -1 -2);
+%options = get_options();
+is( $options{-severity}, 1);
+
+@ARGV = qw();
+%options = get_options();
+is( $options{-severity}, undef);
+
+@ARGV = qw(-2 -3 -severity 4);
+%options = get_options();
+is( $options{-severity}, 4);
+
+@ARGV = qw(-severity 2 -3 -4);
+%options = get_options();
+is( $options{-severity}, 2);
+
+@ARGV = qw(--severity=2 -3 -4);
+%options = get_options();
+is( $options{-severity}, 2);
+
+@ARGV = qw(-cruel);
+%options = get_options();
+is( $options{-severity}, 'cruel');
+
+@ARGV = qw(-cruel --severity=1);
+%options = get_options();
+is( $options{-severity}, 1);
+
+@ARGV = qw(-stern --severity=1 -2);
+%options = get_options();
+is( $options{-severity}, 1);
+
+@ARGV = qw(-stern -severity 1 -2);
+%options = get_options();
+is( $options{-severity}, 1);
+
+#-----------------------------------------------------------------------------
+
+@ARGV = qw(-top);
+%options = get_options();
+is( $options{-severity}, 1);
+is( $options{-top}, 20);
+
+@ARGV = qw(-top 10);
+%options = get_options();
+is( $options{-severity}, 1);
+is( $options{-top}, 10);
+
+@ARGV = qw(-severity 4 -top);
+%options = get_options();
+is( $options{-severity}, 4);
+is( $options{-top}, 20);
+
+@ARGV = qw(-severity 4 -top 10);
+%options = get_options();
+is( $options{-severity}, 4);
+is( $options{-top}, 10);
+
+@ARGV = qw(-severity 5 -2 -top 5);
+%options = get_options();
+is( $options{-severity}, 5);
+is( $options{-top}, 5);
+
+#-----------------------------------------------------------------------------
+
+@ARGV = qw(-noprofile);
+%options = get_options();
+is( $options{-profile}, q{});
+
+@ARGV = qw(-profile foo);
+%options = get_options();
+is( $options{-profile}, 'foo');
+
+#-----------------------------------------------------------------------------
+
+@ARGV = qw(-single-policy nowarnings);
+%options = get_options();
+is( $options{'-single-policy'}, 'nowarnings');
+
+#-----------------------------------------------------------------------------
+
+@ARGV = qw(-verbose 2);
+%options = get_options();
+is( $options{-verbose}, 2);
+
+@ARGV = qw(-verbose %l:%c:%m);
+%options = get_options();
+is( $options{-verbose}, '%l:%c:%m');
+
+#-----------------------------------------------------------------------------
+
+@ARGV = qw(-statistics);
+%options = get_options();
+is( $options{-statistics}, 1);
+
+#-----------------------------------------------------------------------------
+
+@ARGV = qw(-statistics-only);
+%options = get_options();
+is( $options{'-statistics-only'}, 1);
+
+#-----------------------------------------------------------------------------
+
+@ARGV = qw(-quiet);
+%options = get_options();
+is( $options{-quiet}, 1);
+
+#-----------------------------------------------------------------------------
+# Intercept pod2usage so we can test invalid options and special switches
+
+{
+    no warnings qw(redefine once);
+    local *main::pod2usage = sub { my %args = @_; die $args{-message} || q{} };
+
+    eval { @ARGV = qw( -help ); get_options() };
+    ok( $EVAL_ERROR, '-help option' );
+
+    eval { @ARGV = qw( -options ); get_options() };
+    ok( $EVAL_ERROR, '-options option' );
+
+    eval { @ARGV = qw( -man ); get_options() };
+    ok( $EVAL_ERROR, '-man option' );
+
+    eval { @ARGV = qw( -noprofile -profile foo ); get_options() };
+    like( $EVAL_ERROR, qr/-noprofile with -profile/, '-noprofile with -profile');
+
+    eval { @ARGV = qw( -verbose bogus ); get_options() };
+    like( $EVAL_ERROR, qr/looks odd/, 'Invalid -verbose option' );
+
+    eval { @ARGV = qw( -top -9 ); get_options() };
+    like( $EVAL_ERROR, qr/is negative/, 'Negative -verbose option' );
+
+    eval { @ARGV = qw( -severity 0 ); get_options() };
+    like( $EVAL_ERROR, qr/out of range/, '-severity too small' );
+
+    eval { @ARGV = qw( -severity 6 ); get_options() };
+    like( $EVAL_ERROR, qr/out of range/, '-severity too large' );
+}
+
+#-----------------------------------------------------------------------------
+
+# ensure we run true if this test is loaded by
+# t/07_perlcritic.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 :