From 5baf431cd43d7932f9a21c5d67f74c04409f90a3 Mon Sep 17 00:00:00 2001 From: Gianni Ceccarelli Date: Thu, 23 Apr 2009 15:50:15 +0200 Subject: passes critic --- lib/Tree/Template/Declare.pm | 6 +++--- lib/Tree/Template/Declare/DAG_Node.pm | 15 +++++++++++---- lib/Tree/Template/Declare/HTML_Element.pm | 14 +++++++++----- lib/Tree/Template/Declare/LibXML.pm | 21 +++++++++++++++------ t/00-author-critic.t | 4 +++- t/perlcriticrc | 9 +++++++++ 6 files changed, 50 insertions(+), 19 deletions(-) create mode 100644 t/perlcriticrc 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] -- cgit v1.2.3