Annotation of embedaddon/php/ext/simplexml/tests/sxe_004.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: SPL: SimpleXMLIterator and overridden iterator methods()
! 3: --SKIPIF--
! 4: <?php
! 5: if (!extension_loaded('simplexml')) print 'skip';
! 6: if (!extension_loaded("libxml")) print "skip LibXML not present";
! 7: ?>
! 8: --FILE--
! 9: <?php
! 10:
! 11: $xml =<<<EOF
! 12: <?xml version='1.0'?>
! 13: <!DOCTYPE sxe SYSTEM "notfound.dtd">
! 14: <sxe id="elem1">
! 15: Plain text.
! 16: <elem1 attr1='first'>
! 17: Bla bla 1.
! 18: <!-- comment -->
! 19: <elem2>
! 20: Here we have some text data.
! 21: <elem3>
! 22: And here some more.
! 23: <elem4>
! 24: Wow once again.
! 25: </elem4>
! 26: </elem3>
! 27: </elem2>
! 28: </elem1>
! 29: <elem11 attr2='second'>
! 30: Bla bla 2.
! 31: <elem111>
! 32: Foo Bar
! 33: </elem111>
! 34: </elem11>
! 35: </sxe>
! 36: EOF;
! 37:
! 38: class SXETest extends SimpleXMLIterator
! 39: {
! 40: function rewind()
! 41: {
! 42: echo __METHOD__ . "\n";
! 43: return parent::rewind();
! 44: }
! 45: function valid()
! 46: {
! 47: echo __METHOD__ . "\n";
! 48: return parent::valid();
! 49: }
! 50: function current()
! 51: {
! 52: echo __METHOD__ . "\n";
! 53: return parent::current();
! 54: }
! 55: function key()
! 56: {
! 57: echo __METHOD__ . "\n";
! 58: return parent::key();
! 59: }
! 60: function next()
! 61: {
! 62: echo __METHOD__ . "\n";
! 63: return parent::next();
! 64: }
! 65: function hasChildren()
! 66: {
! 67: echo __METHOD__ . "\n";
! 68: return parent::hasChildren();
! 69: }
! 70: function getChildren()
! 71: {
! 72: echo __METHOD__ . "\n";
! 73: return parent::getChildren();
! 74: }
! 75: }
! 76:
! 77: $sxe = new SXETest((binary)$xml);
! 78: $rit = new RecursiveIteratorIterator($sxe, RecursiveIteratorIterator::SELF_FIRST);
! 79:
! 80: foreach($rit as $data) {
! 81: var_dump(get_class($data));
! 82: var_dump(trim($data));
! 83: }
! 84:
! 85: ?>
! 86: ===DONE===
! 87: --EXPECTF--
! 88: SXETest::rewind
! 89: SXETest::valid
! 90: SXETest::hasChildren
! 91: SXETest::valid
! 92: SXETest::current
! 93: string(7) "SXETest"
! 94: string(10) "Bla bla 1."
! 95: SXETest::getChildren
! 96: SXETest::rewind
! 97: SXETest::valid
! 98: SXETest::hasChildren
! 99: SXETest::valid
! 100: SXETest::current
! 101: string(7) "SXETest"
! 102: string(28) "Here we have some text data."
! 103: SXETest::getChildren
! 104: SXETest::rewind
! 105: SXETest::valid
! 106: SXETest::hasChildren
! 107: SXETest::valid
! 108: SXETest::current
! 109: string(7) "SXETest"
! 110: string(19) "And here some more."
! 111: SXETest::getChildren
! 112: SXETest::rewind
! 113: SXETest::valid
! 114: SXETest::hasChildren
! 115: SXETest::valid
! 116: SXETest::current
! 117: string(7) "SXETest"
! 118: string(15) "Wow once again."
! 119: SXETest::next
! 120: SXETest::valid
! 121: SXETest::next
! 122: SXETest::valid
! 123: SXETest::next
! 124: SXETest::valid
! 125: SXETest::next
! 126: SXETest::valid
! 127: SXETest::hasChildren
! 128: SXETest::valid
! 129: SXETest::current
! 130: string(7) "SXETest"
! 131: string(10) "Bla bla 2."
! 132: SXETest::getChildren
! 133: SXETest::rewind
! 134: SXETest::valid
! 135: SXETest::hasChildren
! 136: SXETest::valid
! 137: SXETest::current
! 138: string(7) "SXETest"
! 139: string(7) "Foo Bar"
! 140: SXETest::next
! 141: SXETest::valid
! 142: SXETest::next
! 143: SXETest::valid
! 144: SXETest::valid
! 145: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>