diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2013-03-14 05:42:27 +0000 |
---|---|---|
committer | <> | 2013-04-03 16:25:08 +0000 |
commit | c4dd7a1a684490673e25aaf4fabec5df138854c4 (patch) | |
tree | 4d57c44caae4480efff02b90b9be86f44bf25409 /ext/dom/tests/DOMNode_replaceChild_basic.phpt | |
download | php2-master.tar.gz |
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/dom/tests/DOMNode_replaceChild_basic.phpt')
-rw-r--r-- | ext/dom/tests/DOMNode_replaceChild_basic.phpt | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/ext/dom/tests/DOMNode_replaceChild_basic.phpt b/ext/dom/tests/DOMNode_replaceChild_basic.phpt new file mode 100644 index 0000000..49fc055 --- /dev/null +++ b/ext/dom/tests/DOMNode_replaceChild_basic.phpt @@ -0,0 +1,44 @@ +--TEST-- +Replacing a child node +--SKIPIF-- +<?php require_once('skipif.inc'); ?> +--CREDITS-- +Matt Raines <matt@raines.me.uk> +#London TestFest 2008 +--FILE-- +<?php +$document = new DOMDocument(); +$document->loadXML('<?xml version="1.0" encoding="utf-8"?> +<root><foo><bar/><baz/></foo><spam><eggs/><eggs/></spam></root>'); + +// Replaces the child node oldChild with newChild in the list of children, and +// returns the oldChild node. +$parent = $document->getElementsByTagName('foo')->item(0); +$new_child = $document->createElement('qux'); +$old_child = $parent->replaceChild($new_child, $parent->firstChild); +echo "New child replaces old child:\n" . $document->saveXML(); +echo "Old child is returned:\n" . $old_child->tagName . "\n"; + +// If the newChild is already in the tree, it is first removed. +$parent = $document->getElementsByTagName('spam')->item(0); +$parent->replaceChild($new_child, $parent->firstChild); +echo "Existing child is removed from tree:\n" . $document->saveXML(); + +// Children are inserted in the correct order. +$new_child = $document->getElementsByTagName('spam')->item(0); +$parent = $document->getElementsByTagName('foo')->item(0); +$parent->replaceChild($new_child, $parent->firstChild); +echo "Children are inserted in order:\n" . $document->saveXML(); +?> +--EXPECT-- +New child replaces old child: +<?xml version="1.0" encoding="utf-8"?> +<root><foo><qux/><baz/></foo><spam><eggs/><eggs/></spam></root> +Old child is returned: +bar +Existing child is removed from tree: +<?xml version="1.0" encoding="utf-8"?> +<root><foo><baz/></foo><spam><qux/><eggs/></spam></root> +Children are inserted in order: +<?xml version="1.0" encoding="utf-8"?> +<root><foo><spam><qux/><eggs/></spam></foo></root> |