]> granicus.if.org Git - php/commitdiff
new test
authorAntony Dovgal <tony2001@php.net>
Mon, 19 Mar 2007 08:09:55 +0000 (08:09 +0000)
committerAntony Dovgal <tony2001@php.net>
Mon, 19 Mar 2007 08:09:55 +0000 (08:09 +0000)
ext/reflection/tests/bug40794.phpt [new file with mode: 0644]

diff --git a/ext/reflection/tests/bug40794.phpt b/ext/reflection/tests/bug40794.phpt
new file mode 100644 (file)
index 0000000..d4211c5
--- /dev/null
@@ -0,0 +1,48 @@
+--TEST--
+Bug #40794 (ReflectionObject::getValues() may crash when used with dynamic properties)
+--SKIPIF--
+<?php
+if (!extension_loaded("reflection")) {
+       die("skip");
+}
+?>
+--FILE--
+<?php
+
+$obj = new stdClass();
+$obj->prop1 = '1';
+$obj->prop2 = '2';
+$obj->prop3 = '3';
+
+$reflect = new ReflectionObject($obj);
+
+$array = array();
+foreach($reflect->getProperties() as $prop)
+{
+       $array[$prop->getName()] = $prop->getValue($obj);
+}
+
+var_dump($array);
+
+echo "Done\n";
+?>
+--EXPECTF--    
+array(3) {
+  ["prop1"]=>
+  string(1) "1"
+  ["prop2"]=>
+  string(1) "2"
+  ["prop3"]=>
+  string(1) "3"
+}
+Done
+--UEXPECTF--
+array(3) {
+  [u"prop1"]=>
+  unicode(1) "1"
+  [u"prop2"]=>
+  unicode(1) "2"
+  [u"prop3"]=>
+  unicode(1) "3"
+}
+Done