From 534a6ec2b8d95330c6de5d0040c924f8363c11f2 Mon Sep 17 00:00:00 2001 From: Gianni Ceccarelli Date: Thu, 23 Apr 2009 14:57:25 +0200 Subject: new tests --- Makefile.PL | 1 + lib/Tree/Template/Declare.pm | 2 +- lib/Tree/Template/Declare/DAG_Node.pm | 2 +- lib/Tree/Template/Declare/LibXML.pm | 2 +- t/00-author-critic.t | 33 +++++++++++++++++++++++++++++++++ t/00-author-deps.t | 6 ------ t/00-author-minver.t | 33 +++++++++++++++++++++++++++++++++ t/00-author-pod-cover.t | 7 ------- t/00-author-pod.t | 35 +++++++++++++++++++++++++++++++---- 9 files changed, 101 insertions(+), 20 deletions(-) create mode 100644 t/00-author-critic.t delete mode 100644 t/00-author-deps.t create mode 100644 t/00-author-minver.t delete mode 100644 t/00-author-pod-cover.t diff --git a/Makefile.PL b/Makefile.PL index a53ac8f..fb5c73a 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -7,6 +7,7 @@ all_from 'lib/Tree/Template/Declare.pm'; requires 'Carp' => 0, 'Sub::Exporter' => 0, 'Devel::Caller' => 0, + 'perl' => '5.6.0', ; test_requires 'Test::Most' => 0, diff --git a/lib/Tree/Template/Declare.pm b/lib/Tree/Template/Declare.pm index 118fcea..8e24215 100644 --- a/lib/Tree/Template/Declare.pm +++ b/lib/Tree/Template/Declare.pm @@ -36,7 +36,7 @@ sub _build_group { if ($builder_pkg=~m{\A \+(\w+) \z}smx) { $builder_pkg="Tree::Template::Declare::$1"; } - eval "require $builder_pkg"; + eval "require $builder_pkg"; ## no critic croak "Can't load $builder_pkg: $@" if $@; if ($builder_pkg->can('new')) { diff --git a/lib/Tree/Template/Declare/DAG_Node.pm b/lib/Tree/Template/Declare/DAG_Node.pm index 2736a5f..3f5fc8a 100644 --- a/lib/Tree/Template/Declare/DAG_Node.pm +++ b/lib/Tree/Template/Declare/DAG_Node.pm @@ -7,7 +7,7 @@ sub new { my ($class,$node_class)=@_; $node_class||='Tree::DAG_Node'; - eval "require $node_class"; + eval "require $node_class"; ## no critic croak "Can't load $node_class: $@" if $@; return bless {nc=>$node_class},$class; diff --git a/lib/Tree/Template/Declare/LibXML.pm b/lib/Tree/Template/Declare/LibXML.pm index 066d2e4..bc1fdef 100644 --- a/lib/Tree/Template/Declare/LibXML.pm +++ b/lib/Tree/Template/Declare/LibXML.pm @@ -22,7 +22,7 @@ sub _munge_exports { text_node => sub($) { if ($current_node_aref->[0]) { $current_node_aref->[0]->appendTextNode($_[0]); - }, + } }, }; } diff --git a/t/00-author-critic.t b/t/00-author-critic.t new file mode 100644 index 0000000..7937131 --- /dev/null +++ b/t/00-author-critic.t @@ -0,0 +1,33 @@ +#!/usr/bin/perl + +# Test that the module passes perlcritic +use strict; +BEGIN { + $| = 1; + $^W = 1; +} + +my @MODULES = ( + 'Perl::Critic 1.098', + 'Test::Perl::Critic 1.01', +); + +# Don't run tests during end-user installs +use Test::More; +unless ( $ENV{AUTOMATED_TESTING} or $ENV{RELEASE_TESTING} ) { + plan( skip_all => "Author tests not required for installation" ); +} + +# Load the testing modules +foreach my $MODULE ( @MODULES ) { + eval "use $MODULE"; + if ( $@ ) { + $ENV{RELEASE_TESTING} + ? die( "Failed to load required release-testing module $MODULE" ) + : plan( skip_all => "$MODULE not available for testing" ); + } +} + +all_critic_ok(); + +1; diff --git a/t/00-author-deps.t b/t/00-author-deps.t deleted file mode 100644 index 8f13b52..0000000 --- a/t/00-author-deps.t +++ /dev/null @@ -1,6 +0,0 @@ -#!perl -use Test::Most; -plan skip_all => "skipping author-only test" unless $ENV{RUN_AUTHOR_TESTS}; -eval "use Test::Dependencies exclude => [qw(Tree::Template::Declare)]"; - -ok_dependencies(); diff --git a/t/00-author-minver.t b/t/00-author-minver.t new file mode 100644 index 0000000..4dfb876 --- /dev/null +++ b/t/00-author-minver.t @@ -0,0 +1,33 @@ +#!/usr/bin/perl + +# Test that our declared minimum Perl version matches our syntax +use strict; +BEGIN { + $| = 1; + $^W = 1; +} + +my @MODULES = ( + 'Perl::MinimumVersion 1.20', + 'Test::MinimumVersion 0.008', +); + +# Don't run tests during end-user installs +use Test::More; +unless ( $ENV{AUTOMATED_TESTING} or $ENV{RELEASE_TESTING} ) { + plan( skip_all => "Author tests not required for installation" ); +} + +# Load the testing modules +foreach my $MODULE ( @MODULES ) { + eval "use $MODULE"; + if ( $@ ) { + $ENV{RELEASE_TESTING} + ? die( "Failed to load required release-testing module $MODULE" ) + : plan( skip_all => "$MODULE not available for testing" ); + } +} + +all_minimum_version_from_metayml_ok(); + +1; diff --git a/t/00-author-pod-cover.t b/t/00-author-pod-cover.t deleted file mode 100644 index 9bace3e..0000000 --- a/t/00-author-pod-cover.t +++ /dev/null @@ -1,7 +0,0 @@ -#!perl -use Test::Most; -plan skip_all => "skipping author-only test" unless $ENV{RUN_AUTHOR_TESTS}; -eval "use Test::Pod::Coverage"; -all_pod_coverage_ok({ - trustme=> [qr(^new_transformer$)], -}); diff --git a/t/00-author-pod.t b/t/00-author-pod.t index 5177b0c..2cdfcc4 100644 --- a/t/00-author-pod.t +++ b/t/00-author-pod.t @@ -1,6 +1,33 @@ -#!perl -use Test::Most; -plan skip_all => "skipping author-only test" unless $ENV{RUN_AUTHOR_TESTS}; -eval "use Test::Pod"; +#!/usr/bin/perl + +# Test that the syntax of our POD documentation is valid +use strict; +BEGIN { + $| = 1; + $^W = 1; +} + +my @MODULES = ( + 'Pod::Simple 3.07', + 'Test::Pod 1.26', +); + +# Don't run tests during end-user installs +use Test::More; +unless ( $ENV{AUTOMATED_TESTING} or $ENV{RELEASE_TESTING} ) { + plan( skip_all => "Author tests not required for installation" ); +} + +# Load the testing modules +foreach my $MODULE ( @MODULES ) { + eval "use $MODULE"; + if ( $@ ) { + $ENV{RELEASE_TESTING} + ? die( "Failed to load required release-testing module $MODULE" ) + : plan( skip_all => "$MODULE not available for testing" ); + } +} all_pod_files_ok(); + +1; -- cgit v1.2.3