Hello community, here is the log from the commit of package perl-XML-XPath for openSUSE:Factory checked in at 2016-02-09 13:31:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-XML-XPath (Old) and /work/SRC/openSUSE:Factory/.perl-XML-XPath.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-XML-XPath" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-XML-XPath/perl-XML-XPath.changes 2016-01-23 01:15:33.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.perl-XML-XPath.new/perl-XML-XPath.changes 2016-02-09 13:31:26.000000000 +0100 @@ -1,0 +2,35 @@ +Sun Feb 7 10:57:01 UTC 2016 - [email protected] + +- updated to 1.30 + see /usr/share/doc/packages/perl-XML-XPath/Changes + + 1.30 2016-02-04 MANWAR + - Fixed issue RT #15902 (Quoting warnings with translate). + - Fixed issue RT #21154 (translate() function does not remove characters or support -) + + 1.29 2016-02-03 MANWAR + - Fixed issue RT# 26144 (createNode doesn't honor position() predicate). + + 1.28 2016-01-31 MANWAR + - Changed the LICENSE information about the package XML::XPath::PerlSAX as per + Matt Sergeant email response (dated 2016-01-30). + + 1.27 2016-01-30 MANWAR + - Fixed issue RT# 32012 (Debian bug #187583, http://bugs.debian.org/187583). + +------------------------------------------------------------------- +Wed Jan 27 10:53:13 UTC 2016 - [email protected] + +- updated to 1.26 + see /usr/share/doc/packages/perl-XML-XPath/Changes + + 1.26 2016-01-25 MANWAR + - Fixed inconsistent version issue (CPANTS). + - Added key 'provides' to the Makefile.PL script. + - Added unit test scripts t/meta-json.t and t/meta-yml.t + + 1.25 2016-01-20 MANWAR + - Merged in GitHub PR #2, thanks to sdeseille. + - Merged t/45overloading_number_operator.t and t/99rt_11724.t into t/45cmp_nodeset.t + +------------------------------------------------------------------- Old: ---- XML-XPath-1.24.tar.gz New: ---- XML-XPath-1.30.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-XML-XPath.spec ++++++ --- /var/tmp/diff_new_pack.UK5fsn/_old 2016-02-09 13:31:26.000000000 +0100 +++ /var/tmp/diff_new_pack.UK5fsn/_new 2016-02-09 13:31:26.000000000 +0100 @@ -17,7 +17,7 @@ Name: perl-XML-XPath -Version: 1.24 +Version: 1.30 Release: 0 %define cpan_name XML-XPath Summary: Parse and evaluate XPath statements @@ -30,6 +30,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros +BuildRequires: perl(Path::Tiny) >= 0.076 BuildRequires: perl(XML::Parser) >= 2.23 Requires: perl(XML::Parser) >= 2.23 %{perl_requires} ++++++ XML-XPath-1.24.tar.gz -> XML-XPath-1.30.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/Changes new/XML-XPath-1.30/Changes --- old/XML-XPath-1.24/Changes 2016-01-19 12:29:56.000000000 +0100 +++ new/XML-XPath-1.30/Changes 2016-02-04 15:05:15.000000000 +0100 @@ -1,5 +1,28 @@ Revision history for XML::XPath +1.30 2016-02-04 MANWAR + - Fixed issue RT #15902 (Quoting warnings with translate). + - Fixed issue RT #21154 (translate() function does not remove characters or support -) + +1.29 2016-02-03 MANWAR + - Fixed issue RT# 26144 (createNode doesn't honor position() predicate). + +1.28 2016-01-31 MANWAR + - Changed the LICENSE information about the package XML::XPath::PerlSAX as per + Matt Sergeant email response (dated 2016-01-30). + +1.27 2016-01-30 MANWAR + - Fixed issue RT# 32012 (Debian bug #187583, http://bugs.debian.org/187583). + +1.26 2016-01-25 MANWAR + - Fixed inconsistent version issue (CPANTS). + - Added key 'provides' to the Makefile.PL script. + - Added unit test scripts t/meta-json.t and t/meta-yml.t + +1.25 2016-01-20 MANWAR + - Merged in GitHub PR #2, thanks to sdeseille. + - Merged t/45overloading_number_operator.t and t/99rt_11724.t into t/45cmp_nodeset.t + 1.24 2016-01-19 MANWAR - Fixed issue RT# 111278 (XML::XPath::PerlSAX doesn't compile). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/MANIFEST new/XML-XPath-1.30/MANIFEST --- old/XML-XPath-1.24/MANIFEST 2016-01-19 12:30:34.000000000 +0100 +++ new/XML-XPath-1.30/MANIFEST 2016-02-04 15:13:30.000000000 +0100 @@ -73,10 +73,16 @@ t/42create_node.t t/43op_div.t t/44test_compare.t +t/45cmp_nodeset.t +t/46context.t +t/47position.t +t/48translate.t t/rdf.t t/remove.t t/insert.t t/stress.t +t/meta-json.t +t/meta-yml.t examples/test.xml examples/xpath META.yml Module YAML meta-data (added by MakeMaker) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/META.json new/XML-XPath-1.30/META.json --- old/XML-XPath-1.24/META.json 2016-01-19 12:30:34.000000000 +0100 +++ new/XML-XPath-1.30/META.json 2016-02-04 15:13:30.000000000 +0100 @@ -22,6 +22,7 @@ "prereqs" : { "build" : { "requires" : { + "Path::Tiny" : "0.076", "Test::More" : "0" } }, @@ -37,6 +38,96 @@ } } }, + "provides" : { + "XML::XPath" : { + "file" : "lib/XML/XPath.pm", + "version" : "1.30" + }, + "XML::XPath::Boolean" : { + "file" : "lib/XML/XPath/Boolean.pm", + "version" : "1.30" + }, + "XML::XPath::Builder" : { + "file" : "lib/XML/XPath/Builder.pm", + "version" : "1.30" + }, + "XML::XPath::Expr" : { + "file" : "lib/XML/XPath/Expr.pm", + "version" : "1.30" + }, + "XML::XPath::Function" : { + "file" : "lib/XML/XPath/Function.pm", + "version" : "1.30" + }, + "XML::XPath::Literal" : { + "file" : "lib/XML/XPath/Literal.pm", + "version" : "1.30" + }, + "XML::XPath::LocationPath" : { + "file" : "lib/XML/XPath/LocationPath.pm", + "version" : "1.30" + }, + "XML::XPath::Node" : { + "file" : "lib/XML/XPath/Node.pm", + "version" : "1.30" + }, + "XML::XPath::Node::Attribute" : { + "file" : "lib/XML/XPath/Node/Attribute.pm", + "version" : "1.30" + }, + "XML::XPath::Node::Comment" : { + "file" : "lib/XML/XPath/Node/Comment.pm", + "version" : "1.30" + }, + "XML::XPath::Node::Element" : { + "file" : "lib/XML/XPath/Node/Element.pm", + "version" : "1.30" + }, + "XML::XPath::Node::Namespace" : { + "file" : "lib/XML/XPath/Node/Namespace.pm", + "version" : "1.30" + }, + "XML::XPath::Node::PI" : { + "file" : "lib/XML/XPath/Node/PI.pm", + "version" : "1.30" + }, + "XML::XPath::Node::Text" : { + "file" : "lib/XML/XPath/Node/Text.pm", + "version" : "1.30" + }, + "XML::XPath::NodeSet" : { + "file" : "lib/XML/XPath/NodeSet.pm", + "version" : "1.30" + }, + "XML::XPath::Number" : { + "file" : "lib/XML/XPath/Number.pm", + "version" : "1.30" + }, + "XML::XPath::Parser" : { + "file" : "lib/XML/XPath/Parser.pm", + "version" : "1.30" + }, + "XML::XPath::PerlSAX" : { + "file" : "lib/XML/XPath/PerlSAX.pm", + "version" : "1.30" + }, + "XML::XPath::Root" : { + "file" : "lib/XML/XPath/Root.pm", + "version" : "1.30" + }, + "XML::XPath::Step" : { + "file" : "lib/XML/XPath/Step.pm", + "version" : "1.30" + }, + "XML::XPath::Variable" : { + "file" : "lib/XML/XPath/Variable.pm", + "version" : "1.30" + }, + "XML::XPath::XMLParser" : { + "file" : "lib/XML/XPath/XMLParser.pm", + "version" : "1.30" + } + }, "release_status" : "stable", "resources" : { "repository" : { @@ -45,6 +136,6 @@ "web" : "https://github.com/manwar/XML-XPath" } }, - "version" : "1.24", + "version" : "1.30", "x_serialization_backend" : "JSON::PP version 2.27203" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/META.yml new/XML-XPath-1.30/META.yml --- old/XML-XPath-1.24/META.yml 2016-01-19 12:30:34.000000000 +0100 +++ new/XML-XPath-1.30/META.yml 2016-02-04 15:13:30.000000000 +0100 @@ -3,6 +3,7 @@ author: - 'Matt Sergeant, AxKit.com Ltd' build_requires: + Path::Tiny: '0.076' Test::More: '0' configure_requires: ExtUtils::MakeMaker: '0' @@ -17,10 +18,77 @@ directory: - t - inc +provides: + XML::XPath: + file: lib/XML/XPath.pm + version: '1.30' + XML::XPath::Boolean: + file: lib/XML/XPath/Boolean.pm + version: '1.30' + XML::XPath::Builder: + file: lib/XML/XPath/Builder.pm + version: '1.30' + XML::XPath::Expr: + file: lib/XML/XPath/Expr.pm + version: '1.30' + XML::XPath::Function: + file: lib/XML/XPath/Function.pm + version: '1.30' + XML::XPath::Literal: + file: lib/XML/XPath/Literal.pm + version: '1.30' + XML::XPath::LocationPath: + file: lib/XML/XPath/LocationPath.pm + version: '1.30' + XML::XPath::Node: + file: lib/XML/XPath/Node.pm + version: '1.30' + XML::XPath::Node::Attribute: + file: lib/XML/XPath/Node/Attribute.pm + version: '1.30' + XML::XPath::Node::Comment: + file: lib/XML/XPath/Node/Comment.pm + version: '1.30' + XML::XPath::Node::Element: + file: lib/XML/XPath/Node/Element.pm + version: '1.30' + XML::XPath::Node::Namespace: + file: lib/XML/XPath/Node/Namespace.pm + version: '1.30' + XML::XPath::Node::PI: + file: lib/XML/XPath/Node/PI.pm + version: '1.30' + XML::XPath::Node::Text: + file: lib/XML/XPath/Node/Text.pm + version: '1.30' + XML::XPath::NodeSet: + file: lib/XML/XPath/NodeSet.pm + version: '1.30' + XML::XPath::Number: + file: lib/XML/XPath/Number.pm + version: '1.30' + XML::XPath::Parser: + file: lib/XML/XPath/Parser.pm + version: '1.30' + XML::XPath::PerlSAX: + file: lib/XML/XPath/PerlSAX.pm + version: '1.30' + XML::XPath::Root: + file: lib/XML/XPath/Root.pm + version: '1.30' + XML::XPath::Step: + file: lib/XML/XPath/Step.pm + version: '1.30' + XML::XPath::Variable: + file: lib/XML/XPath/Variable.pm + version: '1.30' + XML::XPath::XMLParser: + file: lib/XML/XPath/XMLParser.pm + version: '1.30' requires: XML::Parser: '2.23' perl: '5.006' resources: repository: https://github.com/manwar/XML-XPath.git -version: '1.24' +version: '1.30' x_serialization_backend: 'CPAN::Meta::YAML version 0.012' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/Makefile.PL new/XML-XPath-1.30/Makefile.PL --- old/XML-XPath-1.24/Makefile.PL 2015-12-28 20:39:08.000000000 +0100 +++ new/XML-XPath-1.30/Makefile.PL 2016-02-04 15:10:08.000000000 +0100 @@ -17,6 +17,7 @@ }, BUILD_REQUIRES => { 'Test::More' => 0, + 'Path::Tiny' => '0.076', }, PREREQ_PM => { 'XML::Parser' => '2.23', @@ -25,7 +26,31 @@ clean => { FILES => 'XML-XPath-*' }, (eval { ExtUtils::MakeMaker->VERSION(6.46) } ? (META_MERGE => { 'meta-spec' => { version => 2 }, - resources => { + provides => { + 'XML::XPath' => { file => 'lib/XML/XPath.pm', version => '1.30' }, + 'XML::XPath::XMLParser' => { file => 'lib/XML/XPath/XMLParser.pm', version => '1.30' }, + 'XML::XPath::Parser' => { file => 'lib/XML/XPath/Parser.pm', version => '1.30' }, + 'XML::XPath::Expr' => { file => 'lib/XML/XPath/Expr.pm', version => '1.30' }, + 'XML::XPath::Function' => { file => 'lib/XML/XPath/Function.pm', version => '1.30' }, + 'XML::XPath::Literal' => { file => 'lib/XML/XPath/Literal.pm', version => '1.30' }, + 'XML::XPath::LocationPath' => { file => 'lib/XML/XPath/LocationPath.pm', version => '1.30' }, + 'XML::XPath::Number' => { file => 'lib/XML/XPath/Number.pm', version => '1.30' }, + 'XML::XPath::Node' => { file => 'lib/XML/XPath/Node.pm', version => '1.30' }, + 'XML::XPath::Node::Element' => { file => 'lib/XML/XPath/Node/Element.pm', version => '1.30' }, + 'XML::XPath::Node::Attribute' => { file => 'lib/XML/XPath/Node/Attribute.pm', version => '1.30' }, + 'XML::XPath::Node::Text' => { file => 'lib/XML/XPath/Node/Text.pm', version => '1.30' }, + 'XML::XPath::Node::Namespace' => { file => 'lib/XML/XPath/Node/Namespace.pm', version => '1.30' }, + 'XML::XPath::Node::PI' => { file => 'lib/XML/XPath/Node/PI.pm', version => '1.30' }, + 'XML::XPath::Node::Comment' => { file => 'lib/XML/XPath/Node/Comment.pm', version => '1.30' }, + 'XML::XPath::Step' => { file => 'lib/XML/XPath/Step.pm', version => '1.30' }, + 'XML::XPath::Variable' => { file => 'lib/XML/XPath/Variable.pm', version => '1.30' }, + 'XML::XPath::NodeSet' => { file => 'lib/XML/XPath/NodeSet.pm', version => '1.30' }, + 'XML::XPath::Boolean' => { file => 'lib/XML/XPath/Boolean.pm', version => '1.30' }, + 'XML::XPath::Root' => { file => 'lib/XML/XPath/Root.pm', version => '1.30' }, + 'XML::XPath::PerlSAX' => { file => 'lib/XML/XPath/PerlSAX.pm', version => '1.30' }, + 'XML::XPath::Builder' => { file => 'lib/XML/XPath/Builder.pm', version => '1.30' }, + }, + resources => { repository => { type => 'git', url => 'https://github.com/manwar/XML-XPath.git', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/lib/XML/XPath/Boolean.pm new/XML-XPath-1.30/lib/XML/XPath/Boolean.pm --- old/XML-XPath-1.24/lib/XML/XPath/Boolean.pm 2016-01-19 12:19:30.000000000 +0100 +++ new/XML-XPath-1.30/lib/XML/XPath/Boolean.pm 2016-02-04 15:06:12.000000000 +0100 @@ -1,6 +1,6 @@ package XML::XPath::Boolean; -$VERSION = '1.24'; +$VERSION = '1.30'; use XML::XPath::Number; use XML::XPath::Literal; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/lib/XML/XPath/Builder.pm new/XML-XPath-1.30/lib/XML/XPath/Builder.pm --- old/XML-XPath-1.24/lib/XML/XPath/Builder.pm 2016-01-19 12:19:40.000000000 +0100 +++ new/XML-XPath-1.30/lib/XML/XPath/Builder.pm 2016-02-04 15:06:21.000000000 +0100 @@ -1,6 +1,6 @@ package XML::XPath::Builder; -$VERSION = '1.24'; +$VERSION = '1.30'; use strict; use warnings; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/lib/XML/XPath/Expr.pm new/XML-XPath-1.30/lib/XML/XPath/Expr.pm --- old/XML-XPath-1.24/lib/XML/XPath/Expr.pm 2016-01-19 12:19:48.000000000 +0100 +++ new/XML-XPath-1.30/lib/XML/XPath/Expr.pm 2016-02-04 15:06:27.000000000 +0100 @@ -1,6 +1,6 @@ package XML::XPath::Expr; -$VERSION = '1.24'; +$VERSION = '1.30'; use strict; use warnings; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/lib/XML/XPath/Function.pm new/XML-XPath-1.30/lib/XML/XPath/Function.pm --- old/XML-XPath-1.24/lib/XML/XPath/Function.pm 2016-01-19 12:19:57.000000000 +0100 +++ new/XML-XPath-1.30/lib/XML/XPath/Function.pm 2016-02-04 15:06:34.000000000 +0100 @@ -1,6 +1,6 @@ package XML::XPath::Function; -$VERSION = '1.24'; +$VERSION = '1.30'; use XML::XPath::Number; use XML::XPath::Literal; @@ -348,7 +348,8 @@ local $_ = $params[0]->string_value; my $find = $params[1]->string_value; my $repl = $params[2]->string_value; - eval "tr/\\Q$find\\E/\\Q$repl\\E/d, 1" or die $@; + eval "tr/\Q$find\E/\Q$repl\E/d"; + die $@ if $@; return XML::XPath::Literal->new($_); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/lib/XML/XPath/Literal.pm new/XML-XPath-1.30/lib/XML/XPath/Literal.pm --- old/XML-XPath-1.24/lib/XML/XPath/Literal.pm 2016-01-19 12:20:07.000000000 +0100 +++ new/XML-XPath-1.30/lib/XML/XPath/Literal.pm 2016-02-04 15:07:01.000000000 +0100 @@ -1,6 +1,6 @@ package XML::XPath::Literal; -$VERSION = '1.24'; +$VERSION = '1.30'; use XML::XPath::Boolean; use XML::XPath::Number; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/lib/XML/XPath/LocationPath.pm new/XML-XPath-1.30/lib/XML/XPath/LocationPath.pm --- old/XML-XPath-1.24/lib/XML/XPath/LocationPath.pm 2016-01-19 12:20:16.000000000 +0100 +++ new/XML-XPath-1.30/lib/XML/XPath/LocationPath.pm 2016-02-04 15:07:09.000000000 +0100 @@ -1,6 +1,6 @@ package XML::XPath::LocationPath; -$VERSION = '1.24'; +$VERSION = '1.30'; use XML::XPath::Root; use strict; use warnings; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/lib/XML/XPath/Node/Attribute.pm new/XML-XPath-1.30/lib/XML/XPath/Node/Attribute.pm --- old/XML-XPath-1.24/lib/XML/XPath/Node/Attribute.pm 2016-01-19 12:22:03.000000000 +0100 +++ new/XML-XPath-1.30/lib/XML/XPath/Node/Attribute.pm 2016-02-04 15:08:44.000000000 +0100 @@ -4,7 +4,7 @@ use vars qw/@ISA $VERSION/; @ISA = ('XML::XPath::Node'); -$VERSION = '1.24'; +$VERSION = '1.30'; package XML::XPath::Node::AttributeImpl; @@ -12,7 +12,7 @@ @ISA = ('XML::XPath::NodeImpl', 'XML::XPath::Node::Attribute'); use XML::XPath::Node ':node_keys'; -$VERSION = '1.24'; +$VERSION = '1.30'; sub new { my $class = shift; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/lib/XML/XPath/Node/Comment.pm new/XML-XPath-1.30/lib/XML/XPath/Node/Comment.pm --- old/XML-XPath-1.24/lib/XML/XPath/Node/Comment.pm 2016-01-19 12:23:28.000000000 +0100 +++ new/XML-XPath-1.30/lib/XML/XPath/Node/Comment.pm 2016-02-04 15:08:50.000000000 +0100 @@ -1,6 +1,6 @@ package XML::XPath::Node::Comment; -$VERSION = '1.24'; +$VERSION = '1.30'; use strict; use warnings; use vars qw/@ISA/; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/lib/XML/XPath/Node/Element.pm new/XML-XPath-1.30/lib/XML/XPath/Node/Element.pm --- old/XML-XPath-1.24/lib/XML/XPath/Node/Element.pm 2016-01-19 12:23:35.000000000 +0100 +++ new/XML-XPath-1.30/lib/XML/XPath/Node/Element.pm 2016-02-04 15:08:57.000000000 +0100 @@ -1,6 +1,6 @@ package XML::XPath::Node::Element; -$VERSION = '1.24'; +$VERSION = '1.30'; use strict; use warnings; use vars qw/@ISA/; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/lib/XML/XPath/Node/Namespace.pm new/XML-XPath-1.30/lib/XML/XPath/Node/Namespace.pm --- old/XML-XPath-1.24/lib/XML/XPath/Node/Namespace.pm 2016-01-19 12:23:42.000000000 +0100 +++ new/XML-XPath-1.30/lib/XML/XPath/Node/Namespace.pm 2016-02-04 15:09:03.000000000 +0100 @@ -1,6 +1,6 @@ package XML::XPath::Node::Namespace; -$VERSION = '1.24'; +$VERSION = '1.30'; use strict; use warnings; use vars qw/@ISA/; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/lib/XML/XPath/Node/PI.pm new/XML-XPath-1.30/lib/XML/XPath/Node/PI.pm --- old/XML-XPath-1.24/lib/XML/XPath/Node/PI.pm 2016-01-19 12:23:47.000000000 +0100 +++ new/XML-XPath-1.30/lib/XML/XPath/Node/PI.pm 2016-02-04 15:09:11.000000000 +0100 @@ -1,6 +1,6 @@ package XML::XPath::Node::PI; -$VERSION = '1.24'; +$VERSION = '1.30'; use strict; use warnings; use vars qw/@ISA/; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/lib/XML/XPath/Node/Text.pm new/XML-XPath-1.30/lib/XML/XPath/Node/Text.pm --- old/XML-XPath-1.24/lib/XML/XPath/Node/Text.pm 2016-01-19 12:23:58.000000000 +0100 +++ new/XML-XPath-1.30/lib/XML/XPath/Node/Text.pm 2016-02-04 15:09:16.000000000 +0100 @@ -1,6 +1,6 @@ package XML::XPath::Node::Text; -$VERSION = '1.24'; +$VERSION = '1.30'; use strict; use warnings; use vars qw/@ISA/; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/lib/XML/XPath/Node.pm new/XML-XPath-1.30/lib/XML/XPath/Node.pm --- old/XML-XPath-1.24/lib/XML/XPath/Node.pm 2016-01-19 12:20:26.000000000 +0100 +++ new/XML-XPath-1.30/lib/XML/XPath/Node.pm 2016-02-04 15:07:19.000000000 +0100 @@ -1,6 +1,6 @@ package XML::XPath::Node; -$VERSION = '1.24'; +$VERSION = '1.30'; use strict; use warnings; use vars qw(@ISA @EXPORT $AUTOLOAD %EXPORT_TAGS @EXPORT_OK); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/lib/XML/XPath/NodeSet.pm new/XML-XPath-1.30/lib/XML/XPath/NodeSet.pm --- old/XML-XPath-1.24/lib/XML/XPath/NodeSet.pm 2016-01-19 12:20:33.000000000 +0100 +++ new/XML-XPath-1.30/lib/XML/XPath/NodeSet.pm 2016-02-04 15:07:27.000000000 +0100 @@ -1,15 +1,27 @@ package XML::XPath::NodeSet; -$VERSION = '1.24'; +$VERSION = '1.30'; use strict; use warnings; use XML::XPath::Boolean; use overload - '""' => \&to_literal, - 'bool' => \&to_boolean, - ; + '""' => \&to_literal, + 'eq' => \&string_value, + 'ne' => \&string_value, + 'lt' => \&string_value, + 'le' => \&string_value, + 'gt' => \&string_value, + 'ge' => \&string_value, + 'bool' => \&to_boolean, + '==' => \&to_number, + '!=' => \&to_number, + '>' => \&to_number, + '<' => \&to_number, + '>=' => \&to_number, + '<=' => \&to_number, +; sub new { my $class = shift; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/lib/XML/XPath/Number.pm new/XML-XPath-1.30/lib/XML/XPath/Number.pm --- old/XML-XPath-1.24/lib/XML/XPath/Number.pm 2016-01-19 12:20:40.000000000 +0100 +++ new/XML-XPath-1.30/lib/XML/XPath/Number.pm 2016-02-04 15:07:37.000000000 +0100 @@ -1,6 +1,6 @@ package XML::XPath::Number; -$VERSION = '1.24'; +$VERSION = '1.30'; use XML::XPath::Boolean; use XML::XPath::Literal; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/lib/XML/XPath/Parser.pm new/XML-XPath-1.30/lib/XML/XPath/Parser.pm --- old/XML-XPath-1.24/lib/XML/XPath/Parser.pm 2016-01-19 12:20:49.000000000 +0100 +++ new/XML-XPath-1.30/lib/XML/XPath/Parser.pm 2016-02-04 15:07:46.000000000 +0100 @@ -1,6 +1,6 @@ package XML::XPath::Parser; -$VERSION = '1.24'; +$VERSION = '1.30'; use strict; use warnings; use vars qw/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/lib/XML/XPath/PerlSAX.pm new/XML-XPath-1.30/lib/XML/XPath/PerlSAX.pm --- old/XML-XPath-1.24/lib/XML/XPath/PerlSAX.pm 2016-01-19 12:27:45.000000000 +0100 +++ new/XML-XPath-1.30/lib/XML/XPath/PerlSAX.pm 2016-02-04 15:07:55.000000000 +0100 @@ -1,6 +1,6 @@ package XML::XPath::PerlSAX; -$VERSION = '1.24'; +$VERSION = '1.30'; use XML::XPath::Node qw(:node_keys); use XML::XPath::XMLParser; @@ -165,4 +165,9 @@ compile before I patched it a bit), so I don't know how correct this is or how far it will work. -This software may only be distributed as part of the XML::XPath package. +=head1 LICENSE AND COPYRIGHT + +This module is copyright 2000 AxKit.com Ltd. This is free software, and as such +comes with NO WARRANTY. No dates are used in this module. You may distribute this +module under the terms of either the Gnu GPL, or the Artistic License (the same +terms as Perl itself). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/lib/XML/XPath/Root.pm new/XML-XPath-1.30/lib/XML/XPath/Root.pm --- old/XML-XPath-1.24/lib/XML/XPath/Root.pm 2016-01-19 12:21:22.000000000 +0100 +++ new/XML-XPath-1.30/lib/XML/XPath/Root.pm 2016-02-04 15:08:04.000000000 +0100 @@ -1,6 +1,6 @@ package XML::XPath::Root; -$VERSION = '1.24'; +$VERSION = '1.30'; use strict; use warnings; use XML::XPath::XMLParser; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/lib/XML/XPath/Step.pm new/XML-XPath-1.30/lib/XML/XPath/Step.pm --- old/XML-XPath-1.24/lib/XML/XPath/Step.pm 2016-01-19 12:21:31.000000000 +0100 +++ new/XML-XPath-1.30/lib/XML/XPath/Step.pm 2016-02-04 15:08:12.000000000 +0100 @@ -1,6 +1,6 @@ package XML::XPath::Step; -$VERSION = '1.24'; +$VERSION = '1.30'; use XML::XPath::Parser; use XML::XPath::Node; @@ -131,6 +131,8 @@ my $from = shift; # context nodeset # warn "Step::evaluate called with ", $from->size, " length nodeset\n"; + my $saved_context = $self->{pp}->get_context_set; + my $saved_pos = $self->{pp}->get_context_pos; $self->{pp}->set_context_set($from); @@ -150,7 +152,8 @@ # warn "Step::evaluate initial nodeset size: ", $initial_nodeset->size, "\n"; - $self->{pp}->set_context_set(undef); + $self->{pp}->set_context_set($saved_context); + $self->{pp}->set_context_pos($saved_pos); $initial_nodeset->sort; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/lib/XML/XPath/Variable.pm new/XML-XPath-1.30/lib/XML/XPath/Variable.pm --- old/XML-XPath-1.24/lib/XML/XPath/Variable.pm 2016-01-19 12:21:40.000000000 +0100 +++ new/XML-XPath-1.30/lib/XML/XPath/Variable.pm 2016-02-04 15:08:19.000000000 +0100 @@ -1,6 +1,6 @@ package XML::XPath::Variable; -$VERSION = '1.24'; +$VERSION = '1.30'; use strict; use warnings; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/lib/XML/XPath/XMLParser.pm new/XML-XPath-1.30/lib/XML/XPath/XMLParser.pm --- old/XML-XPath-1.24/lib/XML/XPath/XMLParser.pm 2016-01-19 12:21:50.000000000 +0100 +++ new/XML-XPath-1.30/lib/XML/XPath/XMLParser.pm 2016-02-04 15:08:28.000000000 +0100 @@ -1,6 +1,6 @@ package XML::XPath::XMLParser; -$VERSION = '1.24'; +$VERSION = '1.30'; use strict; use warnings; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/lib/XML/XPath.pm new/XML-XPath-1.30/lib/XML/XPath.pm --- old/XML-XPath-1.24/lib/XML/XPath.pm 2016-01-19 12:19:14.000000000 +0100 +++ new/XML-XPath-1.30/lib/XML/XPath.pm 2016-02-04 15:06:03.000000000 +0100 @@ -6,14 +6,14 @@ =head1 VERSION -Version 1.24 +Version 1.30 =cut use strict; use warnings; use vars qw($VERSION $AUTOLOAD $revision); -$VERSION = '1.24'; +$VERSION = '1.30'; $XML::XPath::Namespaces = 1; $XML::XPath::Debug = 0; @@ -356,7 +356,8 @@ my $path_steps = $self->{path_parser}->parse($node_path); my @path_steps = (); - foreach my $step (@{$path_steps->get_lhs()}) { + my (undef, @path_steps_lhs) = @{$path_steps->get_lhs()}; + foreach my $step (@path_steps_lhs) { # precompute paths as string my $string = $step->as_string(); push(@path_steps, $string) if (defined $string && $string ne ""); } @@ -366,11 +367,13 @@ my $nodes = undef; my $p = undef; my $test_path = ""; + # Start with the deepest node, working up the path (right to left), # trying to find a node that exists. - for ($p = $#path_steps; $p >= 0; $p--) { - my $path = $path_steps[$p]; + for ($p = $#path_steps_lhs; $p >= 0; $p--) { + my $path = $path_steps_lhs[$p]; $test_path = "(/" . join("/", @path_steps[0..$p]) . ")"; + $nodeset = $self->findnodes($test_path); return undef if (!defined $nodeset); # error looking for node $nodes = $nodeset->size; @@ -387,28 +390,39 @@ # We found a node that exists, or we'll start at the root. # Create all lower nodes working left to right along the path. - for ($p++ ; $p <= $#path_steps; $p++) { - my $path = $path_steps[$p]; + for ($p++ ; $p <= $#path_steps_lhs; $p++) { + my $path = $path_steps_lhs[$p]; my $newnode = undef; - my($axis,$name) = ($path =~ /^(.*?)::(.*)$/); - if ($axis =~ /^child$/i) { - if ($name =~ /(\S+):(\S+)/) { - $newnode = XML::XPath::Node::Element->new($name, $1); - } else { - $newnode = XML::XPath::Node::Element->new($name); - } - return undef if (!defined $newnode); - $prev_node->appendChild($newnode); - } elsif ($axis =~ /^attribute$/i) { - if ($name =~ /(\S+):(\S+)/) { - $newnode = XML::XPath::Node::Attribute->new($name, "", $1); - } else { - $newnode = XML::XPath::Node::Attribute->new($name, ""); + + my $axis = $path->{axis}; + my $name = $path->{literal}; + + do { + if ($axis =~ /^child$/i) { + if ($name =~ /(\S+):(\S+)/) { + $newnode = XML::XPath::Node::Element->new($name, $1); + } else { + $newnode = XML::XPath::Node::Element->new($name); + } + return undef if (!defined $newnode); # could not create new node + $prev_node->appendChild($newnode); + } elsif ($axis =~ /^attribute$/i) { + if ($name =~ /(\S+):(\S+)/) { + $newnode = XML::XPath::Node::Attribute->new($name, "", $1); + } else { + $newnode = XML::XPath::Node::Attribute->new($name, ""); + } + return undef if (!defined $newnode); # could not create new node + $prev_node->appendAttribute($newnode); } - return undef if (!defined $newnode); - $prev_node->appendAttribute($newnode); - } - $prev_node = $newnode; + + $test_path = "(/" . join("/", @path_steps[0..$p]) . ")"; + $nodeset = $self->findnodes($test_path); + $nodes = $nodeset->size; + die "failed to find node '$test_path'" if (!defined $nodeset); # error looking for node + } while ($nodes < 1); + + $prev_node = $nodeset->get_node(1); } return $prev_node; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/t/00load.t new/XML-XPath-1.30/t/00load.t --- old/XML-XPath-1.24/t/00load.t 2016-01-19 11:45:31.000000000 +0100 +++ new/XML-XPath-1.30/t/00load.t 2016-01-28 18:52:33.000000000 +0100 @@ -3,32 +3,25 @@ use 5.006; use strict; use warnings FATAL => 'all'; -use Test::More tests => 23; -BEGIN { - use_ok('XML::XPath') || print "Bail out!\n"; - use_ok('XML::XPath::Boolean') || print "Bail out!\n"; - use_ok('XML::XPath::Builder') || print "Bail out!\n"; - use_ok('XML::XPath::Expr') || print "Bail out!\n"; - use_ok('XML::XPath::Function') || print "Bail out!\n"; - use_ok('XML::XPath::Literal') || print "Bail out!\n"; - use_ok('XML::XPath::LocationPath') || print "Bail out!\n"; - use_ok('XML::XPath::Node') || print "Bail out!\n"; - use_ok('XML::XPath::Node::Attribute') || print "Bail out!\n"; - use_ok('XML::XPath::Node::Comment') || print "Bail out!\n"; - use_ok('XML::XPath::Node::Element') || print "Bail out!\n"; - use_ok('XML::XPath::Node::Namespace') || print "Bail out!\n"; - use_ok('XML::XPath::Node::PI') || print "Bail out!\n"; - use_ok('XML::XPath::Node::Text') || print "Bail out!\n"; - use_ok('XML::XPath::Node') || print "Bail out!\n"; - use_ok('XML::XPath::NodeSet') || print "Bail out!\n"; - use_ok('XML::XPath::Number') || print "Bail out!\n"; - use_ok('XML::XPath::Parser') || print "Bail out!\n"; - use_ok('XML::XPath::PerlSAX') || print "Bail out!\n"; - use_ok('XML::XPath::Root') || print "Bail out!\n"; - use_ok('XML::XPath::Step') || print "Bail out!\n"; - use_ok('XML::XPath::Variable') || print "Bail out!\n"; - use_ok('XML::XPath::XMLParser') || print "Bail out!\n"; +use Test::More; +use lib 'lib'; +use Path::Tiny; + +my $dir = path('lib/'); +my $iter = $dir->iterator({ + recurse => 1, + follow_symlinks => 0, +}); + +while (my $path = $iter->()) { + next if $path->is_dir || $path !~ /\.pm$/; + my $module = $path->relative; + $module =~ s/(?:^lib\/|\.pm$)//g; + $module =~ s/\//::/g; + BAIL_OUT( "$module does not compile" ) unless require_ok($module); } diag( "Testing XML::XPath $XML::XPath::VERSION, Perl $], $^X" ); + +done_testing; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/t/45cmp_nodeset.t new/XML-XPath-1.30/t/45cmp_nodeset.t --- old/XML-XPath-1.24/t/45cmp_nodeset.t 1970-01-01 01:00:00.000000000 +0100 +++ new/XML-XPath-1.30/t/45cmp_nodeset.t 2016-01-20 12:03:35.000000000 +0100 @@ -0,0 +1,33 @@ +use strict; +use warnings; +use Test::More; +use XML::XPath; +use XML::XPath::NodeSet; + +my $sample = qq {<xml> <tag>FOO</tag> <val>10</val> </xml> }; +my $xp = XML::XPath->new(xml=>$sample); + +ok($xp->find('/xml/tag')); + +my $str_nodelist = $xp->find('/xml/tag'); +ok($str_nodelist->isa('XML::XPath::NodeSet')); +ok($str_nodelist eq 'FOO'); +ok($str_nodelist lt 'foo'); +ok($str_nodelist gt 'bar'); +ok($str_nodelist le 'FOO'); +ok($str_nodelist ge 'FOO'); +ok($str_nodelist ne 'BAR'); + +ok($xp->find('/xml/val')); + +my $int_nodelist = $xp->find('/xml/val'); +ok($int_nodelist->isa('XML::XPath::NodeSet')); +ok($int_nodelist->size == 1 ); +ok($int_nodelist == 10 ); +ok($int_nodelist != 20 ); +ok($int_nodelist <= 10 ); +ok($int_nodelist < 20 ); +ok($int_nodelist >= 10 ); +ok($int_nodelist > 1 ); + +done_testing(); \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/t/46context.t new/XML-XPath-1.30/t/46context.t --- old/XML-XPath-1.24/t/46context.t 1970-01-01 01:00:00.000000000 +0100 +++ new/XML-XPath-1.30/t/46context.t 2016-01-30 13:54:38.000000000 +0100 @@ -0,0 +1,30 @@ +use strict; +use warnings; + +use Test::More; +use XML::XPath; + +my $xp = XML::XPath->new(ioref => *DATA); + +ok($xp); + +# Debian bug #187583, http://bugs.debian.org/187583 +# Check that evaluation doesn't lose the context information + +my $nodes = $xp->find("text/para/node()[position()=last() and preceding-sibling::important]"); +ok("$nodes", " has a preceding sibling."); + +$nodes = $xp->find("text/para/node()[preceding-sibling::important and position()=last()]"); +ok("$nodes", " has a preceding sibling."); + +done_testing(); + +__DATA__ +<text> + <para>I start the text here, I break +the line and I go on, I <blink>twinkle</blink> and then I go on + again. +This is not a new paragraph.</para><para>This is a + <important>new</important> paragraph and + <blink>this word</blink> has a preceding sibling.</para> +</text> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/t/47position.t new/XML-XPath-1.30/t/47position.t --- old/XML-XPath-1.24/t/47position.t 1970-01-01 01:00:00.000000000 +0100 +++ new/XML-XPath-1.30/t/47position.t 2016-02-02 15:13:10.000000000 +0100 @@ -0,0 +1,48 @@ +package main; + +use strict; +use warnings; +use Data::Dumper; +use Test::More; # tests => 5; + +#use XML::XPath; +use_ok("XML::XPath"); + +my $path = XML::XPath->new(ioref => \*DATA); + +$path->createNode("/child::foo/child::bar/child::baz"); +$path->setNodeText("/child::foo/child::bar/child::baz[position()=last()]", "blah"); +$path->setNodeText("/child::foo/child::bar/child::baz[position()=last()]/attribute::id", "id0"); + +$path->createNode("/child::foo/child::bar/child::baz[position()=3]"); +$path->setNodeText("/child::foo/child::bar/child::baz[position()=last()]", "blah 2"); +$path->setNodeText("/child::foo/child::bar/child::baz[position()=last()]/\@id", "id1"); + +my $set = $path->find("/foo/bar/baz"); +my @nodelist = $set->get_nodelist; + +#print Dumper($nodelist[0]); +#print $nodelist[0]->toString, "\n"; +#print $nodelist[1]->toString, "\n"; +#print $nodelist[2]->toString, "\n"; + +ok(defined $nodelist[0]); +ok(defined $nodelist[1]); +ok(defined $nodelist[2]); + +ok($nodelist[0]->toString =~ /id="id0"/); +ok(defined $nodelist[1] && $nodelist[1]->toString !~ /id/); +ok(defined $nodelist[2] && $nodelist[2]->toString =~ /id="id1"/); + +$path->createNode("/child::foo/child::bar/child::baz[5]"); +$set = $path->find("/foo/bar/baz"); +@nodelist = $set->get_nodelist; + +is(scalar(@nodelist), 5); + +done_testing(); + +__DATA__ +<?xml version="1.0" ?> +<instanceData> +</instanceData> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/t/48translate.t new/XML-XPath-1.30/t/48translate.t --- old/XML-XPath-1.24/t/48translate.t 1970-01-01 01:00:00.000000000 +0100 +++ new/XML-XPath-1.30/t/48translate.t 2016-02-04 15:00:54.000000000 +0100 @@ -0,0 +1,16 @@ +use strict; +use warnings; +use Test::More; +use XML::XPath; + +my $xp = XML::XPath->new(ioref => *DATA); +ok($xp); + +is($xp->findvalue('translate("1,234.56",",","")'), 1234.56); +is($xp->findvalue('translate("bar","abc","ABC")'), "BAr"); +is($xp->findvalue('translate("--aaa--","abc-","ABC")'), "AAA"); + +done_testing(); + +__DATA__ +<foo/> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/t/meta-json.t new/XML-XPath-1.30/t/meta-json.t --- old/XML-XPath-1.24/t/meta-json.t 1970-01-01 01:00:00.000000000 +0100 +++ new/XML-XPath-1.30/t/meta-json.t 2016-01-24 11:19:25.000000000 +0100 @@ -0,0 +1,25 @@ +#!/usr/bin/perl + +use 5.006; +use strict; use warnings; +use XML::XPath; +use Test::More; + +eval "use Test::CPAN::Meta::JSON"; +plan skip_all => "Test::CPAN::Meta::JSON required for testing MYMETA.json" if $@; + +my $meta = meta_spec_ok('MYMETA.json'); +my $version = $XML::XPath::VERSION; + +is($meta->{version}, $version, 'MYMETA.json distribution version matches'); + +if($meta->{provides}) { + for my $mod (keys %{$meta->{provides}}) { + eval("use $mod;"); + my $mod_version = eval(sprintf("\$%s::VERSION", $mod)); + is($meta->{provides}{$mod}{version}, $version, "MYMETA.json entry [$mod] version matches"); + is($mod_version, $version, "Package $mod doesn't match version."); + } +} + +done_testing(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-XPath-1.24/t/meta-yml.t new/XML-XPath-1.30/t/meta-yml.t --- old/XML-XPath-1.24/t/meta-yml.t 1970-01-01 01:00:00.000000000 +0100 +++ new/XML-XPath-1.30/t/meta-yml.t 2016-01-24 10:58:59.000000000 +0100 @@ -0,0 +1,25 @@ +#!/usr/bin/perl + +use 5.006; +use strict; use warnings; +use XML::XPath; +use Test::More; + +eval "use Test::CPAN::Meta"; +plan skip_all => "Test::CPAN::Meta required for testing MYMETA.yml" if $@; + +my $meta = meta_spec_ok('MYMETA.yml'); +my $version = $XML::XPath::VERSION; + +is($meta->{version}, $version, 'MYMETA.yml distribution version matches'); + +if($meta->{provides}) { + for my $mod (keys %{$meta->{provides}}) { + eval("use $mod;"); + my $mod_version = eval(sprintf("\$%s::VERSION", $mod)); + is($meta->{provides}{$mod}{version}, $version, "MYMETA.yml entry [$mod] version matches"); + is($mod_version, $version, "Package $mod doesn't match version."); + } +} + +done_testing();
