Annotation of embedaddon/php/ext/simplexml/tests/sxe_004.phpt, revision 1.1.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>