--- /dev/null
+--TEST--
+Testing method_exists()
+--FILE--
+<?php
+
+class bar {
+ static public function stat_a2() {
+ }
+ static private function stat_b2() {
+ }
+ static protected function stat_c2() {
+ }
+
+ private function method_a() {
+ }
+ protected function method_b() {
+ }
+ public function method_c() {
+ }
+}
+
+
+
+class baz extends bar {
+ static public function stat_a() {
+ }
+ static private function stat_b() {
+ }
+ static protected function stat_c() {
+ }
+
+ private function method_a() {
+ }
+ protected function method_b() {
+ }
+ public function method_c() {
+ }
+}
+
+var_dump(method_exists('baz', 'stat_a'));
+var_dump(method_exists('baz', 'stat_b'));
+var_dump(method_exists('baz', 'stat_c'));
+print "----\n";
+var_dump(method_exists('baz', 'stat_a2'));
+var_dump(method_exists('baz', 'stat_b2'));
+var_dump(method_exists('baz', 'stat_c2'));
+print "----\n";
+
+$baz = new baz;
+var_dump(method_exists($baz, 'method_a'));
+var_dump(method_exists($baz, 'method_b'));
+var_dump(method_exists($baz, 'method_c'));
+print "----\n";
+var_dump(method_exists($baz, 'stat_a'));
+var_dump(method_exists($baz, 'stat_b'));
+var_dump(method_exists($baz, 'stat_c'));
+
+?>
+--EXPECT--
+bool(true)
+bool(true)
+bool(true)
+----
+bool(true)
+bool(true)
+bool(true)
+----
+bool(true)
+bool(true)
+bool(true)
+----
+bool(true)
+bool(true)
+bool(true)
--- /dev/null
+--TEST--
+Testing property_exists()
+--FILE--
+<?php
+
+class aParent {
+ public static function staticTest() {
+ $a = new A;
+ var_dump(property_exists($a, "prot"));
+ var_dump(property_exists($a, "prot2"));
+ var_dump(property_exists($a, "prot3"));
+ print "------------------\n";
+ var_dump(property_exists("A", "prot"));
+ var_dump(property_exists("A", "prot2"));
+ var_dump(property_exists("A", "prot3"));
+ print "------------------\n";
+ }
+ public function nonstaticTest() {
+ $a = new A;
+ var_dump(property_exists($a, "prot"));
+ var_dump(property_exists($a, "prot2"));
+ var_dump(property_exists($a, "prot3"));
+ print "------------------\n";
+ var_dump(property_exists("A", "prot"));
+ var_dump(property_exists("A", "prot2"));
+ var_dump(property_exists("A", "prot3"));
+ }
+}
+
+class A extends aParent {
+ static public $prot = "prot";
+ static protected $prot2 = "prot";
+ static private $prot3 = "prot";
+}
+
+A::staticTest();
+
+$a = new a;
+$a->nonstaticTest();
+
+?>
+--EXPECT--
+bool(true)
+bool(true)
+bool(true)
+------------------
+bool(true)
+bool(true)
+bool(true)
+------------------
+bool(true)
+bool(true)
+bool(true)
+------------------
+bool(true)
+bool(true)
+bool(true)