Annotation of embedaddon/php/ext/spl/tests/iterator_046.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: SPL: CachingIterator and __toString using bypassed string keys
                      3: --FILE--
                      4: <?php
                      5: 
                      6: class MyFoo
                      7: {
                      8:        function __toString()
                      9:        {
                     10:                return 'foo';
                     11:        }
                     12: }
                     13: 
                     14: class MyCachingIterator extends CachingIterator
                     15: {
                     16:        function __construct(Iterator $it, $flags = 0)
                     17:        {
                     18:                parent::__construct($it, $flags);
                     19:        }
                     20: 
                     21:        function fill()
                     22:        {
                     23:                echo __METHOD__ . "()\n";
                     24:                foreach($this as $v) ;
                     25:        }
                     26: 
                     27:        function show()
                     28:        {
                     29:                echo __METHOD__ . "()\n";
                     30:                foreach($this as $v)
                     31:                {
                     32:                        var_dump((string)$this);
                     33:                }
                     34:        }
                     35: }
                     36: 
                     37: $it = new MyCachingIterator(new ArrayIterator(array(0, 'foo'=>1, 'bar'=>2)), CachingIterator::TOSTRING_USE_KEY);
                     38: 
                     39: $it->fill();
                     40: $it->show();
                     41: 
                     42: ?>
                     43: ===DONE===
                     44: <?php exit(0); ?>
                     45: --EXPECTF--
                     46: MyCachingIterator::fill()
                     47: MyCachingIterator::show()
                     48: string(1) "0"
                     49: string(3) "foo"
                     50: string(3) "bar"
                     51: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>