Annotation of embedaddon/php/Zend/tests/traits/bug55554d.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Bug #55137 (Legacy constructor not registered for class)
        !             3: --FILE--
        !             4: <?php
        !             5: 
        !             6: // Test mixed constructors from different traits, we are more strict about
        !             7: // these cases, since that can lead to un-expected behavior.
        !             8: // It is not consistent with the normal constructor handling, but
        !             9: // here we have a chance to be more strict for the new traits.
        !            10: 
        !            11: trait TNew {
        !            12:     public function __construct() {
        !            13:         echo "TNew executed\n";
        !            14:     }
        !            15: }
        !            16: 
        !            17: trait TLegacy {
        !            18:     public function ReportCollision() {
        !            19:         echo "ReportCollision executed\n";
        !            20:     }
        !            21: }
        !            22: 
        !            23: class ReportCollision {
        !            24:     use TNew, TLegacy;
        !            25: }
        !            26: 
        !            27: $o = new ReportCollision;
        !            28: 
        !            29: --EXPECTF--
        !            30: 
        !            31: Fatal error: ReportCollision has colliding constructor definitions coming from traits in %s on line %d
        !            32: 

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