Annotation of embedaddon/php/Zend/tests/traits/bug55554c.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 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>