summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGianni Ceccarelli <dakkar@dechirico.(none)>2009-04-23 14:57:25 +0200
committerGianni Ceccarelli <dakkar@dechirico.(none)>2009-04-23 14:57:25 +0200
commit534a6ec2b8d95330c6de5d0040c924f8363c11f2 (patch)
tree7dca21934ed746d924c97c76b4a465cf7c688001
parentadded text nodes to XML (diff)
downloadTree-Template-Declare-534a6ec2b8d95330c6de5d0040c924f8363c11f2.tar.gz
Tree-Template-Declare-534a6ec2b8d95330c6de5d0040c924f8363c11f2.tar.bz2
Tree-Template-Declare-534a6ec2b8d95330c6de5d0040c924f8363c11f2.zip
new tests
-rw-r--r--Makefile.PL1
-rw-r--r--lib/Tree/Template/Declare.pm2
-rw-r--r--lib/Tree/Template/Declare/DAG_Node.pm2
-rw-r--r--lib/Tree/Template/Declare/LibXML.pm2
-rw-r--r--t/00-author-critic.t33
-rw-r--r--t/00-author-deps.t6
-rw-r--r--t/00-author-minver.t33
-rw-r--r--t/00-author-pod-cover.t7
-rw-r--r--t/00-author-pod.t35
9 files changed, 101 insertions, 20 deletions
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;