Annotation of embedaddon/php/ext/reflection/tests/ReflectionClass_isIterateable_001.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: ReflectionClass::isIterateable()
        !             3: --CREDITS--
        !             4: Robin Fernandes <robinf@php.net>
        !             5: Steve Seear <stevseea@php.net>
        !             6: --FILE--
        !             7: <?php
        !             8: Interface ExtendsIterator extends Iterator {
        !             9: }
        !            10: Interface ExtendsIteratorAggregate extends IteratorAggregate {
        !            11: }
        !            12: Class IteratorImpl implements Iterator {
        !            13:        public function next() {}
        !            14:        public function key() {}
        !            15:        public function rewind() {}
        !            16:        public function current() {}
        !            17:        public function valid() {}
        !            18: }
        !            19: Class IterarorAggregateImpl implements IteratorAggregate {
        !            20:        public function getIterator() {}
        !            21: }
        !            22: Class ExtendsIteratorImpl extends IteratorImpl {
        !            23: }
        !            24: Class ExtendsIteratorAggregateImpl extends IterarorAggregateImpl {
        !            25: }
        !            26: Class A {
        !            27: }
        !            28: 
        !            29: $classes = array('Traversable', 'Iterator', 'IteratorAggregate', 'ExtendsIterator', 'ExtendsIteratorAggregate', 
        !            30:          'IteratorImpl', 'IterarorAggregateImpl', 'ExtendsIteratorImpl', 'ExtendsIteratorAggregateImpl', 'A');
        !            31: 
        !            32: foreach($classes as $class) {
        !            33:        $rc = new ReflectionClass($class);
        !            34:        echo "Is $class iterable? ";
        !            35:        var_dump($rc->isIterateable());
        !            36: }
        !            37: 
        !            38: echo "\nTest invalid params:\n";
        !            39: $rc = new ReflectionClass('IteratorImpl');
        !            40: var_dump($rc->isIterateable(null));
        !            41: var_dump($rc->isIterateable(null, null));
        !            42: var_dump($rc->isIterateable(1));
        !            43: var_dump($rc->isIterateable(1.5));
        !            44: var_dump($rc->isIterateable(true));
        !            45: var_dump($rc->isIterateable('X'));
        !            46: var_dump($rc->isIterateable(null));
        !            47: 
        !            48: echo "\nTest static invocation:\n";
        !            49: ReflectionClass::isIterateable();
        !            50: 
        !            51: ?>
        !            52: --EXPECTF--
        !            53: Is Traversable iterable? bool(false)
        !            54: Is Iterator iterable? bool(false)
        !            55: Is IteratorAggregate iterable? bool(false)
        !            56: Is ExtendsIterator iterable? bool(false)
        !            57: Is ExtendsIteratorAggregate iterable? bool(false)
        !            58: Is IteratorImpl iterable? bool(true)
        !            59: Is IterarorAggregateImpl iterable? bool(true)
        !            60: Is ExtendsIteratorImpl iterable? bool(true)
        !            61: Is ExtendsIteratorAggregateImpl iterable? bool(true)
        !            62: Is A iterable? bool(false)
        !            63: 
        !            64: Test invalid params:
        !            65: 
        !            66: Warning: ReflectionClass::isIterateable() expects exactly 0 parameters, 1 given in %s on line 34
        !            67: NULL
        !            68: 
        !            69: Warning: ReflectionClass::isIterateable() expects exactly 0 parameters, 2 given in %s on line 35
        !            70: NULL
        !            71: 
        !            72: Warning: ReflectionClass::isIterateable() expects exactly 0 parameters, 1 given in %s on line 36
        !            73: NULL
        !            74: 
        !            75: Warning: ReflectionClass::isIterateable() expects exactly 0 parameters, 1 given in %s on line 37
        !            76: NULL
        !            77: 
        !            78: Warning: ReflectionClass::isIterateable() expects exactly 0 parameters, 1 given in %s on line 38
        !            79: NULL
        !            80: 
        !            81: Warning: ReflectionClass::isIterateable() expects exactly 0 parameters, 1 given in %s on line 39
        !            82: NULL
        !            83: 
        !            84: Warning: ReflectionClass::isIterateable() expects exactly 0 parameters, 1 given in %s on line 40
        !            85: NULL
        !            86: 
        !            87: Test static invocation:
        !            88: 
        !            89: Fatal error: Non-static method ReflectionClass::isIterateable() cannot be called statically in %s on line 43

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