Annotation of embedaddon/php/ext/dom/tests/DOMNode_removeChild_basic.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: DOM removeChild : Basic Functionality
! 3: --SKIPIF--
! 4: <?php
! 5: require_once('skipif.inc');
! 6: ?>
! 7: --CREDITS--
! 8: Simon Hughes <odbc3@hotmail.com>
! 9: --FILE--
! 10: <?php
! 11:
! 12: $xml = <<< EOXML
! 13: <?xml version="1.0" encoding="ISO-8859-1"?>
! 14: <courses>
! 15: <course title="one">
! 16: <notes>
! 17: <note>c1n1</note>
! 18: <note>c1n2</note>
! 19: </notes>
! 20: </course>
! 21: <course title="two">
! 22: <notes>
! 23: <note>c2n1</note>
! 24: <note>c2n2</note>
! 25: </notes>
! 26: </course>
! 27: </courses>
! 28: EOXML;
! 29:
! 30: function dumpcourse($current) {
! 31: $title = ($current->nodeType != XML_TEXT_NODE && $current->hasAttribute('title')) ? $current->getAttribute('title'):"no title";
! 32: echo "Course: $title:";var_dump($current);
! 33: echo "~";var_dump($current->textContent);
! 34: }
! 35:
! 36: $dom = new DOMDocument();
! 37: $dom->loadXML($xml);
! 38: $root = $dom->documentElement;
! 39:
! 40: $children = $root->childNodes;
! 41: $len = $children->length;
! 42: echo "orignal has $len nodes\n";
! 43: for ($index = $children->length - 1; $index >=0; $index--) {
! 44: echo "node $index\n";
! 45: $current = $children->item($index);
! 46: dumpcourse($current);
! 47: if ($current->nodeType == XML_TEXT_NODE) {
! 48: $noderemoved = $root->removeChild($current);
! 49: }
! 50: }
! 51: $children = $root->childNodes;
! 52: $len = $children->length;
! 53: echo "after text removed it now has $len nodes\n";
! 54: for ($index = 0; $index < $children->length; $index++) {
! 55: echo "node $index\n";
! 56: $current = $children->item($index);
! 57: dumpcourse($current);
! 58: }
! 59:
! 60: --EXPECTF--
! 61: orignal has 5 nodes
! 62: node 4
! 63: Course: no title:object(DOMText)#4 (0) {
! 64: }
! 65: ~string(1) "
! 66: "
! 67: node 3
! 68: Course: two:object(DOMElement)#5 (0) {
! 69: }
! 70: ~string(24) "
! 71:
! 72: c2n1
! 73: c2n2
! 74:
! 75: "
! 76: node 2
! 77: Course: no title:object(DOMText)#6 (0) {
! 78: }
! 79: ~string(2) "
! 80: "
! 81: node 1
! 82: Course: one:object(DOMElement)#4 (0) {
! 83: }
! 84: ~string(24) "
! 85:
! 86: c1n1
! 87: c1n2
! 88:
! 89: "
! 90: node 0
! 91: Course: no title:object(DOMText)#5 (0) {
! 92: }
! 93: ~string(2) "
! 94: "
! 95: after text removed it now has 2 nodes
! 96: node 0
! 97: Course: one:object(DOMElement)#3 (0) {
! 98: }
! 99: ~string(24) "
! 100:
! 101: c1n1
! 102: c1n2
! 103:
! 104: "
! 105: node 1
! 106: Course: two:object(DOMElement)#4 (0) {
! 107: }
! 108: ~string(24) "
! 109:
! 110: c2n1
! 111: c2n2
! 112:
! 113: "
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>