Annotation of embedaddon/php/Zend/tests/objects_022.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Testing 'self', 'parent' as type-hint
                      3: --FILE--
                      4: <?php 
                      5: 
                      6: interface iTest { }
                      7:  
                      8: class baz implements iTest {}
                      9:  
                     10: class bar { }
                     11:  
                     12: class foo extends bar {
                     13:     public function testFoo(self $obj) {
                     14:         var_dump($obj);
                     15:     }
                     16:     public function testBar(parent $obj) {
                     17:         var_dump($obj);
                     18:     }
                     19:     public function testBaz(iTest $obj) {
                     20:         var_dump($obj);
                     21:     }
                     22: }
                     23:  
                     24: $foo = new foo;
                     25: $foo->testFoo(new foo);
                     26: $foo->testBar(new bar);
                     27: $foo->testBaz(new baz);
                     28: $foo->testFoo(new stdClass); // Catchable fatal error
                     29: 
                     30: ?>
                     31: --EXPECTF--
                     32: object(foo)#%d (0) {
                     33: }
                     34: object(bar)#%d (0) {
                     35: }
                     36: object(baz)#%d (0) {
                     37: }
                     38: 
                     39: Catchable fatal error: Argument 1 passed to foo::testFoo() must be an instance of foo, instance of stdClass given, called in %s on line %d and defined in %s on line %d

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