From 9361a9cbd67e58a0ada9da0f8c81428805e3d0b5 Mon Sep 17 00:00:00 2001 From: Gianni Ceccarelli Date: Sat, 25 Apr 2009 09:39:43 +0200 Subject: forgot the p::c profile --- t/perlcriticrc | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 t/perlcriticrc (limited to 't/perlcriticrc') diff --git a/t/perlcriticrc b/t/perlcriticrc new file mode 100644 index 0000000..4185498 --- /dev/null +++ b/t/perlcriticrc @@ -0,0 +1,11 @@ +severity = 1 +theme = core || bug || maintenance || complexity || security +color = 1 + +[-Miscellanea::RequireRcsKeywords] +[-Documentation::RequirePodSections] +[-ValuesAndExpressions::ProhibitNoisyQuotes] +[-Subroutines::ProhibitSubroutinePrototypes] +[-Subroutines::RequireArgUnpacking] +[-Subroutines::ProtectPrivateSubs] +[-ControlStructures::ProhibitUnlessBlocks] -- cgit v1.2.3 From de1a2f95f3ff6cf1d09e0f4df10f4c5e1c67aead Mon Sep 17 00:00:00 2001 From: dakkar Date: Sat, 25 Apr 2009 09:42:27 +0200 Subject: updated dependencies, removed work-arounds --- Makefile.PL | 2 +- t/01-basic.t | 3 --- t/02-inherit.t | 3 --- t/03-byname.t | 3 --- t/04-errors.t | 3 --- t/05-html-tree.t | 6 ++---- t/perlcriticrc | 1 + 7 files changed, 4 insertions(+), 17 deletions(-) (limited to 't/perlcriticrc') diff --git a/Makefile.PL b/Makefile.PL index 1971a86..d387a46 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -15,7 +15,7 @@ requires 'Tree::XPathEngine' => 0, ; test_requires 'Test::Most' => 0, - 'Tree::DAG_Node::XPath' => 0, + 'Tree::DAG_Node::XPath' => '0.10', ; WriteAll; diff --git a/t/01-basic.t b/t/01-basic.t index e947e7a..a8e2474 100644 --- a/t/01-basic.t +++ b/t/01-basic.t @@ -37,9 +37,6 @@ use strict; use warnings; use Tree::DAG_Node::XPath; -sub Tree::DAG_Node::XPath::Root::xpath_get_root_node { return $_[0] } -sub Tree::DAG_Node::XPath::Root::xpath_get_parent_node { return } - my $tree=Tree::DAG_Node::XPath->new(); $tree->name('base'); $tree->new_daughter->name("coso$_") for 1..5; diff --git a/t/02-inherit.t b/t/02-inherit.t index f11d116..e882b53 100644 --- a/t/02-inherit.t +++ b/t/02-inherit.t @@ -41,9 +41,6 @@ use strict; use warnings; use Tree::DAG_Node::XPath; -sub Tree::DAG_Node::XPath::Root::xpath_get_root_node { return $_[0] } -sub Tree::DAG_Node::XPath::Root::xpath_get_parent_node { return } - my $tree=Tree::DAG_Node::XPath->new(); $tree->name('base'); $tree->new_daughter->name("coso$_") for 1..5; diff --git a/t/03-byname.t b/t/03-byname.t index 8c3723f..a16b2d6 100644 --- a/t/03-byname.t +++ b/t/03-byname.t @@ -22,9 +22,6 @@ use strict; use warnings; use Tree::DAG_Node::XPath; -sub Tree::DAG_Node::XPath::Root::xpath_get_root_node { return $_[0] } -sub Tree::DAG_Node::XPath::Root::xpath_get_parent_node { return } - my $tree=Tree::DAG_Node::XPath->new(); $tree->name('base'); $tree->new_daughter->name("coso$_") for 1..5; diff --git a/t/04-errors.t b/t/04-errors.t index ae02713..6656933 100644 --- a/t/04-errors.t +++ b/t/04-errors.t @@ -5,9 +5,6 @@ use strict; use warnings; use Tree::DAG_Node::XPath; -sub Tree::DAG_Node::XPath::Root::xpath_get_root_node { return $_[0] } -sub Tree::DAG_Node::XPath::Root::xpath_get_parent_node { return } - my $tree=Tree::DAG_Node::XPath->new(); $tree->name('base'); $tree->new_daughter->name("coso$_") for 1..5; diff --git a/t/05-html-tree.t b/t/05-html-tree.t index eb990e8..2973d25 100644 --- a/t/05-html-tree.t +++ b/t/05-html-tree.t @@ -18,12 +18,10 @@ package main; use Test::Most 'die'; use strict; use warnings; -eval 'use XML::XPathEngine;use HTML::TreeBuilder::XPath;'; -plan skip_all => 'XML::XPathEngine and HTML::TreeBuilder::XPath needed for this test' if $@; +eval 'use XML::XPathEngine;use HTML::TreeBuilder::XPath 0.10;'; +plan skip_all => 'XML::XPathEngine and HTML::TreeBuilder::XPath 0.10 needed for this test' if $@; plan tests=> 1; -sub HTML::TreeBuilder::XPath::Root::getRootNode { return $_[0] } - my $tree=HTML::TreeBuilder::XPath->new(); $tree->parse(<<'HTML');$tree->eof; diff --git a/t/perlcriticrc b/t/perlcriticrc index 4185498..5ad1ad7 100644 --- a/t/perlcriticrc +++ b/t/perlcriticrc @@ -9,3 +9,4 @@ color = 1 [-Subroutines::RequireArgUnpacking] [-Subroutines::ProtectPrivateSubs] [-ControlStructures::ProhibitUnlessBlocks] +[-CodeLayout::RequireTidyCode] -- cgit v1.2.3 From b7a218903103b5f32360dce11523b76c6b5de5ae Mon Sep 17 00:00:00 2001 From: Gianni Ceccarelli Date: Wed, 29 Apr 2009 15:53:30 +0200 Subject: hopefully fixed P::C tests, and upped version --- lib/Tree/Transform/XSLTish.pm | 20 ++++- lib/Tree/Transform/XSLTish/Context.pm | 2 +- lib/Tree/Transform/XSLTish/Transformer.pm | 6 +- lib/Tree/Transform/XSLTish/Utils.pm | 2 +- t/perlcriticrc | 128 +++++++++++++++++++++++++++--- 5 files changed, 141 insertions(+), 17 deletions(-) (limited to 't/perlcriticrc') diff --git a/lib/Tree/Transform/XSLTish.pm b/lib/Tree/Transform/XSLTish.pm index 42b7222..9c4b1ec 100644 --- a/lib/Tree/Transform/XSLTish.pm +++ b/lib/Tree/Transform/XSLTish.pm @@ -8,7 +8,7 @@ use Tree::Transform::XSLTish::Transformer; use Carp::Clan qw(^Tree::Transform::XSLTish); use v5.8; -our $VERSION='0.1'; +our $VERSION='0.2'; my @DEFAULT_EXPORTS=('tree_rule', 'default_rules', @@ -270,6 +270,24 @@ and specify another one). This module uses L, see that module's documentation for things like renaming the imports. +=head1 KNOWN BUGS & ISSUES + +=over 4 + +=item * + +It's I. Right now each rule application is linear in the number +of defined rules I the depth of the node being +transformed. There are several ways to optimize this for most common +cases (patches welcome), but I prefer to "make it correct, before +making it fast" + +=item * + +Some sugaring with L could make everything look better + +=back + =head1 AUTHOR Gianni Ceccarelli diff --git a/lib/Tree/Transform/XSLTish/Context.pm b/lib/Tree/Transform/XSLTish/Context.pm index 96670ec..bb7c9de 100644 --- a/lib/Tree/Transform/XSLTish/Context.pm +++ b/lib/Tree/Transform/XSLTish/Context.pm @@ -2,7 +2,7 @@ package Tree::Transform::XSLTish::Context; use Moose; use Carp::Clan qw(^Tree::Transform::XSLTish); -our $VERSION='0.1'; +our $VERSION='0.2'; has 'current_node' => ( is => 'rw', isa => 'Object' ); has 'node_list' => ( is => 'rw', isa => 'ArrayRef[Object]' ); diff --git a/lib/Tree/Transform/XSLTish/Transformer.pm b/lib/Tree/Transform/XSLTish/Transformer.pm index 0d241e4..a36bd6a 100644 --- a/lib/Tree/Transform/XSLTish/Transformer.pm +++ b/lib/Tree/Transform/XSLTish/Transformer.pm @@ -8,7 +8,7 @@ use Tree::Transform::XSLTish::Context; use Tree::XPathEngine; use Carp::Clan qw(^Tree::Transform::XSLTish); -our $VERSION='0.1'; +our $VERSION='0.2'; subtype 'Tree::Transform::XSLTish::Engine' => as 'Object' @@ -238,10 +238,6 @@ If you don't specify an C, it will be constructed using the class or factory declared in the rules package; if you didn't declare anything, it will be an instance of L. -=for comment - -engine factories are not inherited! - =head2 C @results=$trans->transform($tree); diff --git a/lib/Tree/Transform/XSLTish/Utils.pm b/lib/Tree/Transform/XSLTish/Utils.pm index 8546919..c760585 100644 --- a/lib/Tree/Transform/XSLTish/Utils.pm +++ b/lib/Tree/Transform/XSLTish/Utils.pm @@ -3,7 +3,7 @@ use strict; use warnings; use Class::MOP; -our $VERSION='0.1'; +our $VERSION='0.2'; my $RULES_NAME='%_tree_transform_rules'; diff --git a/t/perlcriticrc b/t/perlcriticrc index 5ad1ad7..8503255 100644 --- a/t/perlcriticrc +++ b/t/perlcriticrc @@ -1,12 +1,122 @@ severity = 1 -theme = core || bug || maintenance || complexity || security color = 1 +only = 1 -[-Miscellanea::RequireRcsKeywords] -[-Documentation::RequirePodSections] -[-ValuesAndExpressions::ProhibitNoisyQuotes] -[-Subroutines::ProhibitSubroutinePrototypes] -[-Subroutines::RequireArgUnpacking] -[-Subroutines::ProtectPrivateSubs] -[-ControlStructures::ProhibitUnlessBlocks] -[-CodeLayout::RequireTidyCode] +[BuiltinFunctions::ProhibitBooleanGrep] +[BuiltinFunctions::ProhibitComplexMappings] +[BuiltinFunctions::ProhibitLvalueSubstr] +[BuiltinFunctions::ProhibitReverseSortBlock] +[BuiltinFunctions::ProhibitSleepViaSelect] +[BuiltinFunctions::ProhibitStringyEval] +[BuiltinFunctions::ProhibitStringySplit] +[BuiltinFunctions::ProhibitUniversalCan] +[BuiltinFunctions::ProhibitUniversalIsa] +[BuiltinFunctions::ProhibitVoidGrep] +[BuiltinFunctions::ProhibitVoidMap] +[BuiltinFunctions::RequireBlockGrep] +[BuiltinFunctions::RequireBlockMap] +[BuiltinFunctions::RequireGlobFunction] +[BuiltinFunctions::RequireSimpleSortBlock] +[ClassHierarchies::ProhibitAutoloading] +[ClassHierarchies::ProhibitExplicitISA] +[ClassHierarchies::ProhibitOneArgBless] +[CodeLayout::ProhibitHardTabs] +[CodeLayout::ProhibitParensWithBuiltins] +[CodeLayout::ProhibitQuotedWordLists] +[CodeLayout::ProhibitTrailingWhitespace] +[CodeLayout::RequireConsistentNewlines] +[CodeLayout::RequireTrailingCommas] +[ControlStructures::ProhibitCStyleForLoops] +[ControlStructures::ProhibitCascadingIfElse] +[ControlStructures::ProhibitDeepNests] +[ControlStructures::ProhibitLabelsWithSpecialBlockNames] +[ControlStructures::ProhibitMutatingListFunctions] +[ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions] +[ControlStructures::ProhibitPostfixControls] +[ControlStructures::ProhibitUnreachableCode] +[ControlStructures::ProhibitUntilBlocks] +[Documentation::RequirePackageMatchesPodName] +[Documentation::RequirePodAtEnd] +[ErrorHandling::RequireCarping] +[ErrorHandling::RequireCheckingReturnValueOfEval] +[InputOutput::ProhibitBacktickOperators] +[InputOutput::ProhibitBarewordFileHandles] +[InputOutput::ProhibitExplicitStdin] +[InputOutput::ProhibitInteractiveTest] +[InputOutput::ProhibitJoinedReadline] +[InputOutput::ProhibitOneArgSelect] +[InputOutput::ProhibitReadlineInForLoop] +[InputOutput::ProhibitTwoArgOpen] +[InputOutput::RequireBracedFileHandleWithPrint] +[InputOutput::RequireBriefOpen] +[InputOutput::RequireCheckedClose] +[InputOutput::RequireCheckedOpen] +[InputOutput::RequireCheckedSyscalls] +[Miscellanea::ProhibitFormats] +[Miscellanea::ProhibitTies] +[Miscellanea::ProhibitUnrestrictedNoCritic] +[Miscellanea::ProhibitUselessNoCritic] +[Modules::ProhibitAutomaticExportation] +[Modules::ProhibitExcessMainComplexity] +[Modules::ProhibitMultiplePackages] +[Modules::RequireBarewordIncludes] +[Modules::RequireEndWithOne] +[Modules::RequireExplicitPackage] +[Modules::RequireFilenameMatchesPackage] +[Modules::RequireNoMatchVarsWithUseEnglish] +[Modules::RequireVersionVar] +[NamingConventions::Capitalization] +[NamingConventions::ProhibitAmbiguousNames] +[References::ProhibitDoubleSigils] +[RegularExpressions::ProhibitCaptureWithoutTest] +[RegularExpressions::ProhibitFixedStringMatches] +[RegularExpressions::ProhibitUnusualDelimiters] +[RegularExpressions::RequireBracesForMultiline] +[RegularExpressions::RequireDotMatchAnything] +[RegularExpressions::RequireExtendedFormatting] +[RegularExpressions::RequireLineBoundaryMatching] +[Subroutines::ProhibitAmpersandSigils] +[Subroutines::ProhibitBuiltinHomonyms] +[Subroutines::ProhibitExcessComplexity] +[Subroutines::ProhibitExplicitReturnUndef] +[Subroutines::ProhibitManyArgs] +[Subroutines::ProhibitNestedSubs] +[Subroutines::ProhibitReturnSort] +[Subroutines::RequireFinalReturn] +[TestingAndDebugging::ProhibitNoStrict] +[TestingAndDebugging::ProhibitNoWarnings] +[TestingAndDebugging::ProhibitProlongedStrictureOverride] +[TestingAndDebugging::RequireTestLabels] +[TestingAndDebugging::RequireUseStrict] +[TestingAndDebugging::RequireUseWarnings] +[ValuesAndExpressions::ProhibitCommaSeparatedStatements] +[ValuesAndExpressions::ProhibitConstantPragma] +[ValuesAndExpressions::ProhibitEmptyQuotes] +[ValuesAndExpressions::ProhibitEscapedCharacters] +[ValuesAndExpressions::ProhibitImplicitNewlines] +[ValuesAndExpressions::ProhibitInterpolationOfLiterals] +[ValuesAndExpressions::ProhibitLeadingZeros] +[ValuesAndExpressions::ProhibitLongChainsOfMethodCalls] +[ValuesAndExpressions::ProhibitMagicNumbers] +[ValuesAndExpressions::ProhibitMismatchedOperators] +[ValuesAndExpressions::ProhibitMixedBooleanOperators] +[ValuesAndExpressions::ProhibitQuotesAsQuotelikeOperatorDelimiters] +[ValuesAndExpressions::ProhibitSpecialLiteralHeredocTerminator] +[ValuesAndExpressions::ProhibitVersionStrings] +[ValuesAndExpressions::RequireInterpolationOfMetachars] +[ValuesAndExpressions::RequireNumberSeparators] +[ValuesAndExpressions::RequireQuotedHeredocTerminator] +[ValuesAndExpressions::RequireUpperCaseHeredocTerminator] +[Variables::ProhibitConditionalDeclarations] +[Variables::ProhibitLocalVars] +[Variables::ProhibitMatchVars] +[Variables::ProhibitPackageVars] +[Variables::ProhibitPerl4PackageNames] +[Variables::ProhibitPunctuationVars] +[Variables::ProhibitReusedNames] +[Variables::ProhibitUnusedVariables] +[Variables::ProtectPrivateVars] +[Variables::RequireInitializationForLocalVars] +[Variables::RequireLexicalLoopIterators] +[Variables::RequireLocalizedPunctuationVars] +[Variables::RequireNegativeIndices] -- cgit v1.2.3