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

1.1       misho       1: --TEST--
                      2: Bug #55137 (Legacy constructor not registered for class)
                      3: --FILE--
                      4: <?php
                      5: 
                      6: // Test that the behavior is consistent with the existing handling of new
                      7: // and legacy constructors.
                      8: // Here, the traits conflicts are overridden by local definitions,
                      9: // and the two constructor definitions do not directly collide in that case.
                     10: 
                     11: trait TC1 {
                     12:     public function __construct() {
                     13:         echo "TC1 executed\n";
                     14:     }
                     15:     public function ReportCollision() {
                     16:         echo "TC1 executed\n";
                     17:     }
                     18: }
                     19: 
                     20: trait TC2 {
                     21:     public function __construct() {
                     22:         echo "TC2 executed\n";
                     23:     }
                     24:     public function ReportCollision() {
                     25:         echo "TC1 executed\n";
                     26:     }
                     27: }
                     28: 
                     29: class ReportCollision {
                     30:        use TC1, TC2;
                     31:        
                     32:        public function __construct() {
                     33:         echo "New constructor executed\n";
                     34:     }
                     35:     public function ReportCollision() {
                     36:         echo "Legacy constructor executed\n";
                     37:     }
                     38: }
                     39: 
                     40: 
                     41: echo "ReportCollision: ";
                     42: $o = new ReportCollision;
                     43: 
                     44: 
                     45: --EXPECTF--
                     46: ReportCollision: New constructor executed

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