Annotation of embedaddon/php/tests/classes/ctor_visibility.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: ZE2 A private constructor cannot be called
3: --FILE--
4: <?php
5:
6: class Test
7: {
8: function __construct()
9: {
10: echo __METHOD__ . "()\n";
11: }
12: }
13:
14: class Derived extends Test
15: {
16: function __construct()
17: {
18: echo __METHOD__ . "()\n";
19: parent::__construct();
20: }
21:
22: static function f()
23: {
24: new Derived;
25: }
26: }
27:
28: Derived::f();
29:
30: class TestPriv
31: {
32: private function __construct()
33: {
34: echo __METHOD__ . "()\n";
35: }
36:
37: static function f()
38: {
39: new TestPriv;
40: }
41: }
42:
43: TestPriv::f();
44:
45: class DerivedPriv extends TestPriv
46: {
47: function __construct()
48: {
49: echo __METHOD__ . "()\n";
50: parent::__construct();
51: }
52:
53: static function f()
54: {
55: new DerivedPriv;
56: }
57: }
58:
59: DerivedPriv::f();
60:
61: ?>
62: ===DONE===
63: --EXPECTF--
64: Derived::__construct()
65: Test::__construct()
66: TestPriv::__construct()
67: DerivedPriv::__construct()
68:
69: Fatal error: Cannot call private TestPriv::__construct() in %sctor_visibility.php on line %d
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>