diff options
Diffstat (limited to 't/remove.t')
-rw-r--r-- | t/remove.t | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/t/remove.t b/t/remove.t new file mode 100644 index 0000000..ac09453 --- /dev/null +++ b/t/remove.t @@ -0,0 +1,44 @@ +#!/usr/bin/perl + +use Test; +BEGIN { plan tests => 7 } + +use XML::XPath; +use XML::XPath::XMLParser; +$XML::XPath::SafeMode = 1; + +ok(1); +my $xp = XML::XPath->new(ioref => *DATA); +ok($xp); + +my ($root) = $xp->findnodes('/'); + +ok($root); + +($root) = $root->getChildNodes; +my @nodes = $xp->findnodes('//Cart',$root); + +ok(@nodes, 2); + +$root->removeChild($nodes[0]); + +@nodes = $xp->findnodes('//Cart', $root); +ok(@nodes, 1); + +my $cart = $nodes[0]; + +@nodes = $xp->findnodes('//Cart/@*', $root); +ok(@nodes, 2); + +$cart->removeAttribute('crap'); +@nodes = $xp->findnodes('//Cart/@*', $root); + +ok(@nodes, 1); + +__DATA__ +<Shop id="mod3838" hello="you"> +<Cart id="1" crap="crap"> + <Item id="11" crap="crap"/> +</Cart> +<Cart id="2" crap="crap"/> +</Shop> |