diff options
Diffstat (limited to 'textproc/p5-XML-LibXML-Iterator/patches/patch-ab')
-rw-r--r-- | textproc/p5-XML-LibXML-Iterator/patches/patch-ab | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/textproc/p5-XML-LibXML-Iterator/patches/patch-ab b/textproc/p5-XML-LibXML-Iterator/patches/patch-ab new file mode 100644 index 00000000000..c431bb80d93 --- /dev/null +++ b/textproc/p5-XML-LibXML-Iterator/patches/patch-ab @@ -0,0 +1,63 @@ +$NetBSD: patch-ab,v 1.1 2007/08/06 15:28:04 seb Exp $ + +--- t/03list.t.orig 2007-06-23 13:33:50.000000000 +0000 ++++ t/03list.t +@@ -1,7 +1,7 @@ + use Test; + + +-BEGIN { plan tests => 7; } ++BEGIN { plan tests => 8; } + + use XML::LibXML; + use XML::LibXML::NodeList::Iterator; +@@ -257,3 +257,49 @@ sub t05_run_iterate { + return 1; + } + ok(t05_run_iterate()); ++ ++package MyFilter; ++use base qw(XML::NodeFilter); ++use XML::NodeFilter qw(:results); ++use UNIVERSAL; ++ ++sub accept_node { ++ my $self = shift; ++ my $node = shift; ++ if (!UNIVERSAL::isa($node, 'XML::LibXML::Element')) { ++ die "invalid node in MyFilter::accept_node()"; ++ } ++ return FILTER_DECLINED; ++} ++ ++package main; ++ ++sub t08_last_with_filter { ++ my $doc = XML::LibXML->new->parse_string( $xmlstr ); ++ ++ unless ( defined $doc ) { ++ print "# XML string was not parsed properly\n"; ++ return 0; ++ } ++ ++ my $nodelist = $doc->findnodes( '//*' ); ++ my $iterator = XML::LibXML::NodeList::Iterator->new( $nodelist ); ++ $iterator->add_filter( MyFilter->new() ); ++ ++ $iterator->last(); ++ ++ unless ( defined $iterator->current() ) { ++ print "# there is no last node\n"; ++ return 0; ++ } ++ ++ unless ( $iterator->current()->nodeName() eq "D" ) { ++ print "# expected nodeName 'D' received '" ++ . $iterator->current()->nodeName() ++ . "'\n"; ++ return 0; ++ } ++ ++ return 1; ++} ++ok(t08_last_with_filter()); |