summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGianni Ceccarelli <dakkar@dechirico.(none)>2009-04-23 15:50:15 +0200
committerGianni Ceccarelli <dakkar@dechirico.(none)>2009-04-23 15:50:15 +0200
commit5baf431cd43d7932f9a21c5d67f74c04409f90a3 (patch)
tree4f3c765e589dc3d2b508eb9327bbada9368a751e
parentnew tests (diff)
downloadTree-Template-Declare-5baf431cd43d7932f9a21c5d67f74c04409f90a3.tar.gz
Tree-Template-Declare-5baf431cd43d7932f9a21c5d67f74c04409f90a3.tar.bz2
Tree-Template-Declare-5baf431cd43d7932f9a21c5d67f74c04409f90a3.zip
passes critic
-rw-r--r--lib/Tree/Template/Declare.pm6
-rw-r--r--lib/Tree/Template/Declare/DAG_Node.pm15
-rw-r--r--lib/Tree/Template/Declare/HTML_Element.pm14
-rw-r--r--lib/Tree/Template/Declare/LibXML.pm21
-rw-r--r--t/00-author-critic.t4
-rw-r--r--t/perlcriticrc9
6 files changed, 50 insertions, 19 deletions
diff --git a/lib/Tree/Template/Declare.pm b/lib/Tree/Template/Declare.pm
index 8e24215..c103615 100644
--- a/lib/Tree/Template/Declare.pm
+++ b/lib/Tree/Template/Declare.pm
@@ -31,13 +31,13 @@ sub _build_group {
my $builder=$args->{builder};
- if (!ref($builder)) {
+ if (! ref $builder) {
my $builder_pkg=$builder;
if ($builder_pkg=~m{\A \+(\w+) \z}smx) {
$builder_pkg="Tree::Template::Declare::$1";
}
- eval "require $builder_pkg"; ## no critic
- croak "Can't load $builder_pkg: $@" if $@;
+ eval "require $builder_pkg" ## no critic (ProhibitStringyEval)
+ or croak "Can't load $builder_pkg: $@";
if ($builder_pkg->can('new')) {
$builder=$builder_pkg->new();
diff --git a/lib/Tree/Template/Declare/DAG_Node.pm b/lib/Tree/Template/Declare/DAG_Node.pm
index 3f5fc8a..b55b78f 100644
--- a/lib/Tree/Template/Declare/DAG_Node.pm
+++ b/lib/Tree/Template/Declare/DAG_Node.pm
@@ -3,12 +3,14 @@ use strict;
use warnings;
use Carp;
+our $VERSION='0.1';
+
sub new {
my ($class,$node_class)=@_;
$node_class||='Tree::DAG_Node';
- eval "require $node_class"; ## no critic
- croak "Can't load $node_class: $@" if $@;
+ eval "require $node_class" or ## no critic (ProhibitStringyEval)
+ croak "Can't load $node_class: $@";
return bless {nc=>$node_class},$class;
}
@@ -35,7 +37,7 @@ sub add_child_node {
my ($self,$parent,$child)=@_;
if ($parent->isa('Tree::Template::Declare::DAG_Node::Tree')) {
- push @$parent,$child;
+ push @{$parent},$child;
return $parent;
}
return $parent->add_daughter($child);
@@ -50,7 +52,12 @@ sub set_node_name {
sub set_node_attributes {
my ($self,$node,$attrs)=@_;
- return $node->attributes({%{$node->attributes},%$attrs});
+ my %all_attributes=(
+ %{$node->attributes},
+ %{$attrs},
+ );
+
+ return $node->attributes(\%all_attributes);
}
1;
diff --git a/lib/Tree/Template/Declare/HTML_Element.pm b/lib/Tree/Template/Declare/HTML_Element.pm
index c2dd87c..a589501 100644
--- a/lib/Tree/Template/Declare/HTML_Element.pm
+++ b/lib/Tree/Template/Declare/HTML_Element.pm
@@ -4,6 +4,8 @@ use warnings;
use Carp;
use HTML::Element;
+our $VERSION='0.1';
+
sub new {
my ($class)=@_;
@@ -13,8 +15,8 @@ sub new {
sub _munge_exports {
my ($self,$exports)=@_;
- return {
- %$exports,
+ my %all_exports=(
+ %{$exports},
text_node => sub($) {
$exports->{node}->(
sub {
@@ -22,7 +24,9 @@ sub _munge_exports {
$exports->{attribs}->(text => $_[0]);
});
},
- };
+ );
+
+ return \%all_exports;
}
sub new_tree {
@@ -50,7 +54,7 @@ sub add_child_node {
if ($parent->isa('Tree::Template::Declare::HTML_Element::Tree')) {
- push @$parent,$child;
+ push @{$parent},$child;
return $parent;
}
return $parent->push_content($child);
@@ -65,7 +69,7 @@ sub set_node_name {
sub set_node_attributes {
my ($self,$node,$attrs)=@_;
- while (my ($name,$val)=each %$attrs) {
+ while (my ($name,$val)=each %{$attrs}) {
$node->attr($name, $val);
}
return;
diff --git a/lib/Tree/Template/Declare/LibXML.pm b/lib/Tree/Template/Declare/LibXML.pm
index bc1fdef..626df32 100644
--- a/lib/Tree/Template/Declare/LibXML.pm
+++ b/lib/Tree/Template/Declare/LibXML.pm
@@ -4,6 +4,8 @@ use warnings;
use Carp;
use XML::LibXML;
+our $VERSION='0.1';
+
sub new {
my ($class)=@_;
@@ -13,8 +15,8 @@ sub new {
sub _munge_exports {
my ($self,$exports,$current_node_aref)=@_;
- return {
- %$exports,
+ my %all_exports=(
+ %{$exports},
xmlns => sub($$) {
$self->{ns}->{$_[0]}=$_[1];
return;
@@ -24,7 +26,9 @@ sub _munge_exports {
$current_node_aref->[0]->appendTextNode($_[0]);
}
},
- };
+ );
+
+ return \%all_exports;
}
sub new_tree {
@@ -44,7 +48,7 @@ sub _get_ns {
my ($prefix)=($name=~m{\A (.*?) : }smx);
- if (!defined($prefix) or length($prefix)==0) {
+ if (!defined($prefix) || length($prefix)==0) {
return '',$self->{ns}->{':default'};
}
@@ -64,7 +68,9 @@ sub add_child_node {
my ($self,$parent,$child)=@_;
my $doc=$parent->ownerDocument;
- $child=$doc->adoptNode($child) if $doc;
+ if ($doc) {
+ $child=$doc->adoptNode($child);
+ }
if ($parent->isa('XML::LibXML::Document')) {
$parent->setDocumentElement($child);
@@ -83,12 +89,14 @@ sub set_node_name {
if ($uri) {
$node->setNamespace($uri,$prefix,1);
}
+
+ return;
}
sub set_node_attributes {
my ($self,$node,$attrs)=@_;
- while (my ($name,$val)=each %$attrs) {
+ while (my ($name,$val)=each %{$attrs}) {
my ($prefix,$uri)=$self->_get_ns($name);
if ($prefix and $uri) {
$node->setAttributeNS($uri, $name, $val);
@@ -97,6 +105,7 @@ sub set_node_attributes {
$node->setAttribute($name, $val);
}
}
+
return;
}
diff --git a/t/00-author-critic.t b/t/00-author-critic.t
index 7937131..79ed2b7 100644
--- a/t/00-author-critic.t
+++ b/t/00-author-critic.t
@@ -10,6 +10,7 @@ BEGIN {
my @MODULES = (
'Perl::Critic 1.098',
'Test::Perl::Critic 1.01',
+ 'File::Spec',
);
# Don't run tests during end-user installs
@@ -27,7 +28,8 @@ foreach my $MODULE ( @MODULES ) {
: plan( skip_all => "$MODULE not available for testing" );
}
}
-
+my $rcfile = File::Spec->catfile( 't', 'perlcriticrc' );
+Test::Perl::Critic->import( -profile => $rcfile );
all_critic_ok();
1;
diff --git a/t/perlcriticrc b/t/perlcriticrc
new file mode 100644
index 0000000..3593672
--- /dev/null
+++ b/t/perlcriticrc
@@ -0,0 +1,9 @@
+severity = 1
+theme = core || bug || maintenance || complexity || security
+color = 1
+
+[-Miscellanea::RequireRcsKeywords]
+[-Documentation::RequirePodSections]
+[-Variables::ProhibitLocalVars]
+[-ValuesAndExpressions::ProhibitEmptyQuotes]
+[-Subroutines::RequireArgUnpacking]