summaryrefslogtreecommitdiff
path: root/tests/classes/static_properties_003.phpt
diff options
context:
space:
mode:
authorRobin Fernandes <robinf@php.net>2008-12-05 22:12:07 +0000
committerRobin Fernandes <robinf@php.net>2008-12-05 22:12:07 +0000
commit2057a9a3f955419bb7dfc739dbaa308cdfb9a302 (patch)
tree67127205117c59412c6f78d82fc51485ee048def /tests/classes/static_properties_003.phpt
parent64a1f04f171d8c983e8f63fda0908cd4ee2538da (diff)
downloadphp-git-2057a9a3f955419bb7dfc739dbaa308cdfb9a302.tar.gz
Add some class related tests, fix hard-coded object ID in serialize_001.phpt.
Diffstat (limited to 'tests/classes/static_properties_003.phpt')
-rw-r--r--tests/classes/static_properties_003.phpt49
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/classes/static_properties_003.phpt b/tests/classes/static_properties_003.phpt
new file mode 100644
index 0000000000..2441e41578
--- /dev/null
+++ b/tests/classes/static_properties_003.phpt
@@ -0,0 +1,49 @@
+--TEST--
+Attempting to access static properties using instance property syntax
+--FILE--
+<?php
+class C {
+ public static $x = 'C::$x';
+ protected static $y = 'C::$y';
+}
+
+$c = new C;
+
+echo "\n--> Access visible static prop like instance prop:\n";
+var_dump(isset($c->x));
+unset($c->x);
+echo $c->x;
+$c->x = 1;
+$ref = 'ref';
+$c->x =& $ref;
+var_dump($c->x, C::$x);
+
+echo "\n--> Access non-visible static prop like instance prop:\n";
+var_dump(isset($c->y));
+//unset($c->y); // Fatal error, tested in static_properties_003_error1.phpt
+//echo $c->y; // Fatal error, tested in static_properties_003_error2.phpt
+//$c->y = 1; // Fatal error, tested in static_properties_003_error3.phpt
+//$c->y =& $ref; // Fatal error, tested in static_properties_003_error4.phpt
+?>
+==Done==
+--EXPECTF--
+--> Access visible static prop like instance prop:
+bool(false)
+
+Strict Standards: Accessing static property C::$x as non static in %s on line 11
+
+Strict Standards: Accessing static property C::$x as non static in %s on line 12
+
+Notice: Undefined property: C::$x in %s on line 12
+
+Strict Standards: Accessing static property C::$x as non static in %s on line 13
+
+Strict Standards: Accessing static property C::$x as non static in %s on line 15
+
+Strict Standards: Accessing static property C::$x as non static in %s on line 16
+%unicode|string%(3) "ref"
+%unicode|string%(5) "C::$x"
+
+--> Access non-visible static prop like instance prop:
+bool(false)
+==Done== \ No newline at end of file