Annotation of embedaddon/php/Zend/tests/traits/bug61998.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Bug #61998 (Using traits with method aliases appears to result in crash during execution)
3: --FILE--
4: <?php
5: class Foo {
6: use T1 {
7: func as newFunc;
8: }
9:
10: public function func() {
11: echo "From Foo\n";
12: }
13: }
14:
15: trait T1 {
16: public function func() {
17: echo "From T1\n";
18: }
19: }
20:
21: class Bar {
22: public function func() {
23: echo "From Bar\n";
24: }
25: public function func2() {
26: echo "From Bar\n";
27: }
28: public function func3() {
29: echo "From Bar\n";
30: }
31: use T1 {
32: func as newFunc;
33: func as func2;
34: }
35: use T2 {
36: func2 as newFunc2;
37: func2 as newFunc3;
38: func2 as func3;
39: }
40: }
41:
42: trait T2 {
43: public function func2() {
44: echo "From T2\n";
45: }
46: }
47:
48: $f = new Foo();
49:
50: $f->newFunc(); //from T1
51: $f->func(); //from Foo
52:
53: $b = new Bar();
54: $b->newFunc(); //from T1
55: $b->func(); //from Bar
56: $b->func2(); //from Bar
57: $b->newFunc2(); //from T2
58: $b->newFunc3(); //from T2
59: $b->func3(); //from Bar
60: --EXPECTF--
61: From T1
62: From Foo
63: From T1
64: From Bar
65: From Bar
66: From T2
67: From T2
68: From Bar
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>