Przeglądaj źródła

[ZF-7227]
Altered test case to show error. (Was passing by luck.)
Altered class file to pass ammended test.


git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@18073 44c647ce-9c0f-0410-b52a-842ac1e357ba

carlton 16 lat temu
rodzic
commit
93c6d88d7e

+ 2 - 2
library/Zend/Reflection/Parameter.php

@@ -112,8 +112,8 @@ class Zend_Reflection_Parameter extends ReflectionParameter
         if ($docblock = $this->getDeclaringFunction()->getDocblock()) {
             $params = $docblock->getTags('param');
 
-            if (isset($params[$this->getPosition() - 1])) {
-                return $params[$this->getPosition() - 1]->getType();
+            if (isset($params[$this->getPosition()])) {
+                return $params[$this->getPosition()]->getType();
             }
 
         }

+ 14 - 3
tests/Zend/Reflection/ParameterTest.php

@@ -72,11 +72,22 @@ class Zend_Reflection_ParameterTest extends PHPUnit_Framework_TestCase
         $this->assertEquals(get_class($parameter->getClass()), 'Zend_Reflection_Class');
     }
     
-    public function testTypeReturn()
+    /**
+     * @dataProvider paramTypeTestProvider
+     */
+    public function testTypeReturn($param, $type)
     {
-        $parameter = new Zend_Reflection_Parameter(array('Zend_Reflection_TestSampleClass5', 'doSomething'), 'two');
-        $this->assertEquals($parameter->getType(), 'int');
+        $parameter = new Zend_Reflection_Parameter(array('Zend_Reflection_TestSampleClass5', 'doSomething'), $param);
+        $this->assertEquals($parameter->getType(), $type);
     }
     
+    public function paramTypeTestProvider()
+    {
+    	return array(
+    		array('one','int'),
+    		array('two','int'),
+    		array('three','string'),
+    	);
+    }
 }