Annotation of embedaddon/php/Zend/tests/traits/bug55554b.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #55137 (Legacy constructor not registered for class)
! 3: --FILE--
! 4: <?php
! 5:
! 6: trait TConstructor {
! 7: public function foo() {
! 8: echo "foo executed\n";
! 9: }
! 10: public function bar() {
! 11: echo "bar executed\n";
! 12: }
! 13: }
! 14:
! 15: class OverridingIsSilent1 {
! 16: use TConstructor {
! 17: foo as __construct;
! 18: }
! 19:
! 20: public function __construct() {
! 21: echo "OverridingIsSilent1 __construct\n";
! 22: }
! 23: }
! 24:
! 25: $o = new OverridingIsSilent1;
! 26:
! 27: class OverridingIsSilent2 {
! 28: use TConstructor {
! 29: foo as OverridingIsSilent2;
! 30: }
! 31:
! 32: public function OverridingIsSilent2() {
! 33: echo "OverridingIsSilent2 OverridingIsSilent2\n";
! 34: }
! 35: }
! 36:
! 37: $o = new OverridingIsSilent2;
! 38:
! 39: class ReportCollision {
! 40: use TConstructor {
! 41: bar as ReportCollision;
! 42: foo as __construct;
! 43: }
! 44: }
! 45:
! 46:
! 47: echo "ReportCollision: ";
! 48: $o = new ReportCollision;
! 49:
! 50:
! 51: --EXPECTF--
! 52: OverridingIsSilent1 __construct
! 53: OverridingIsSilent2 OverridingIsSilent2
! 54:
! 55: Fatal error: ReportCollision has colliding constructor definitions coming from traits in %s on line %d
! 56:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>