Annotation of embedaddon/php/ext/dom/tests/DOMNode_replaceChild_basic.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Replacing a child node
3: --SKIPIF--
4: <?php require_once('skipif.inc'); ?>
5: --CREDITS--
6: Matt Raines <matt@raines.me.uk>
7: #London TestFest 2008
8: --FILE--
9: <?php
10: $document = new DOMDocument();
11: $document->loadXML('<?xml version="1.0" encoding="utf-8"?>
12: <root><foo><bar/><baz/></foo><spam><eggs/><eggs/></spam></root>');
13:
14: // Replaces the child node oldChild with newChild in the list of children, and
15: // returns the oldChild node.
16: $parent = $document->getElementsByTagName('foo')->item(0);
17: $new_child = $document->createElement('qux');
18: $old_child = $parent->replaceChild($new_child, $parent->firstChild);
19: echo "New child replaces old child:\n" . $document->saveXML();
20: echo "Old child is returned:\n" . $old_child->tagName . "\n";
21:
22: // If the newChild is already in the tree, it is first removed.
23: $parent = $document->getElementsByTagName('spam')->item(0);
24: $parent->replaceChild($new_child, $parent->firstChild);
25: echo "Existing child is removed from tree:\n" . $document->saveXML();
26:
27: // Children are inserted in the correct order.
28: $new_child = $document->getElementsByTagName('spam')->item(0);
29: $parent = $document->getElementsByTagName('foo')->item(0);
30: $parent->replaceChild($new_child, $parent->firstChild);
31: echo "Children are inserted in order:\n" . $document->saveXML();
32: ?>
33: --EXPECT--
34: New child replaces old child:
35: <?xml version="1.0" encoding="utf-8"?>
36: <root><foo><qux/><baz/></foo><spam><eggs/><eggs/></spam></root>
37: Old child is returned:
38: bar
39: Existing child is removed from tree:
40: <?xml version="1.0" encoding="utf-8"?>
41: <root><foo><baz/></foo><spam><qux/><eggs/></spam></root>
42: Children are inserted in order:
43: <?xml version="1.0" encoding="utf-8"?>
44: <root><foo><spam><qux/><eggs/></spam></foo></root>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>