Merge branch 'R_1_0'
[m6w6/ext-propro] / tests / 001.phpt
1 --TEST--
2 property proxy
3 --SKIPIF--
4 <?php if (!extension_loaded("propro")) print "skip"; ?>
5 --FILE--
6 <?php
7
8 echo "Test\n";
9
10 class c {
11 private $prop;
12 private $anon;
13 function __get($p) {
14 return new php\PropertyProxy($this, $p);
15 }
16 }
17
18 $c = new c;
19
20 $p = $c->prop;
21 $a = $c->anon;
22
23 var_dump($c);
24
25 echo "set\n";
26 $a = 123;
27 echo "get\n";
28 echo $a,"\n";
29
30 $p["foo"] = 123;
31 $p["bar"]["baz"]["a"]["b"]=987;
32
33 var_dump($c);
34
35 ?>
36 DONE
37 --EXPECTF--
38 Test
39 object(c)#%d (2) {
40 ["prop":"c":private]=>
41 NULL
42 ["anon":"c":private]=>
43 NULL
44 }
45 set
46 get
47 123
48 object(c)#%d (2) {
49 ["prop":"c":private]=>
50 array(2) {
51 ["foo"]=>
52 int(123)
53 ["bar"]=>
54 array(1) {
55 ["baz"]=>
56 array(1) {
57 ["a"]=>
58 array(1) {
59 ["b"]=>
60 int(987)
61 }
62 }
63 }
64 }
65 ["anon":"c":private]=>
66 int(123)
67 }
68 DONE