Index: tests/Zend/Reflection/ParameterTest.php =================================================================== --- tests/Zend/Reflection/ParameterTest.php (revision 17713) +++ tests/Zend/Reflection/ParameterTest.php (working copy) @@ -65,11 +65,22 @@ $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'), + ); + } } Index: library/Zend/Reflection/Parameter.php =================================================================== --- library/Zend/Reflection/Parameter.php (revision 17713) +++ library/Zend/Reflection/Parameter.php (working copy) @@ -108,8 +108,8 @@ 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(); } }