Annotation of embedaddon/php/ext/reflection/tests/ReflectionProperty_getValue_error.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test ReflectionProperty::getValue() errors.
3: --FILE--
4: <?php
5:
6: class TestClass {
7: public $pub;
8: public $pub2 = 5;
9: static public $stat = "static property";
10: protected $prot = 4;
11: private $priv = "keepOut";
12: }
13:
14: class AnotherClass {
15: }
16:
17: $instance = new TestClass();
18: $instanceWithNoProperties = new AnotherClass();
19: $propInfo = new ReflectionProperty('TestClass', 'pub2');
20:
21: echo "Too few args:\n";
22: var_dump($propInfo->getValue());
23:
24: echo "\nToo many args:\n";
25: var_dump($propInfo->getValue($instance, true));
26:
27: echo "\nWrong type of arg:\n";
28: var_dump($propInfo->getValue(true));
29:
30: echo "\nInstance without property:\n";
31: $propInfo = new ReflectionProperty('TestClass', 'stat');
32:
33: echo "\nStatic property / too many args:\n";
34: var_dump($propInfo->getValue($instance, true));
35:
36: echo "\nStatic property / wrong type of arg:\n";
37: var_dump($propInfo->getValue(true));
38:
39: echo "\nProtected property:\n";
40: try {
41: $propInfo = new ReflectionProperty('TestClass', 'prot');
42: var_dump($propInfo->getValue($instance));
43: }
44: catch(Exception $exc) {
45: echo $exc->getMessage();
46: }
47:
48: echo "\n\nInstance without property:\n";
49: $propInfo = new ReflectionProperty('TestClass', 'pub2');
50: var_dump($propInfo->getValue($instanceWithNoProperties));
51:
52: ?>
53: --EXPECTF--
54: Too few args:
55:
56: Warning: ReflectionProperty::getValue() expects exactly 1 parameter, 0 given in %s on line %d
57: NULL
58:
59: Too many args:
60:
61: Warning: ReflectionProperty::getValue() expects exactly 1 parameter, 2 given in %s on line %d
62: NULL
63:
64: Wrong type of arg:
65:
66: Warning: ReflectionProperty::getValue() expects parameter 1 to be object, boolean given in %s on line %d
67: NULL
68:
69: Instance without property:
70:
71: Static property / too many args:
72: string(15) "static property"
73:
74: Static property / wrong type of arg:
75: string(15) "static property"
76:
77: Protected property:
78: Cannot access non-public member TestClass::prot
79:
80: Instance without property:
81: NULL
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>