Index: tests/Zend/Reflection/_files/TestSampleClass.php =================================================================== --- tests/Zend/Reflection/_files/TestSampleClass.php (revision 21745) +++ tests/Zend/Reflection/_files/TestSampleClass.php (working copy) @@ -182,3 +182,30 @@ } } + +class Zend_Reflection_Method_Body_Samples +{ + public function methodA() { + if (true) { ; } + } + + public function methodB() + { + if (true) { ; } + } + + public function methodC() {{ ; }} + + public function methodD() {if (true) { ; }} + + public function methodE() { + if (true) { ; } } + + public function methodF() + + { + if (true) { + ; + } + } +} \ No newline at end of file Index: tests/Zend/Reflection/FileTest.php =================================================================== --- tests/Zend/Reflection/FileTest.php (revision 21745) +++ tests/Zend/Reflection/FileTest.php (working copy) @@ -65,7 +65,7 @@ require_once $fileToRequire; $reflectionFile = new Zend_Reflection_File($fileToRequire); $this->assertEquals(get_class($reflectionFile), 'Zend_Reflection_File'); - $this->assertEquals(count($reflectionFile->getClasses()), 8); + $this->assertEquals(count($reflectionFile->getClasses()), 9); $this->assertEquals(get_class($reflectionFile->getClass('Zend_Reflection_TestSampleClass2')), 'Zend_Reflection_Class'); } @@ -115,7 +115,7 @@ require_once $fileToRequire; $reflectionFile = new Zend_Reflection_File($fileToRequire); $this->assertEquals(9, $reflectionFile->getStartLine()); - $this->assertEquals(185, $reflectionFile->getEndLine()); + $this->assertEquals(211, $reflectionFile->getEndLine()); } public function testFileGetDocblockReturnsFileDocblock() Index: tests/Zend/Reflection/MethodTest.php =================================================================== --- tests/Zend/Reflection/MethodTest.php (revision 21745) +++ tests/Zend/Reflection/MethodTest.php (working copy) @@ -91,5 +91,30 @@ $this->assertEquals(" {\n\n return 'mixedValue';\n\n }\n", $reflectionMethod->getContents(false)); } + /** + * @group ZF-9018 + */ + public function testGetBodyForIssueZF9018() + { + $reflectionMethodA = new Zend_Reflection_Method('Zend_Reflection_Method_Body_Samples', 'methodA'); + $this->assertEquals(' if (true) { ; }', $reflectionMethodA->getBody()); + + $reflectionMethodB = new Zend_Reflection_Method('Zend_Reflection_Method_Body_Samples', 'methodB'); + $this->assertEquals(' if (true) { ; }', $reflectionMethodB->getBody()); + + $reflectionMethodC = new Zend_Reflection_Method('Zend_Reflection_Method_Body_Samples', 'methodC'); + $this->assertEquals('{ ; }', $reflectionMethodC->getBody()); + + $reflectionMethodD = new Zend_Reflection_Method('Zend_Reflection_Method_Body_Samples', 'methodD'); + $this->assertEquals('if (true) { ; }', $reflectionMethodD->getBody()); + + $reflectionMethodE = new Zend_Reflection_Method('Zend_Reflection_Method_Body_Samples', 'methodE'); + $this->assertEquals(' if (true) { ; }', $reflectionMethodE->getBody()); + + $reflectionMethodF = new Zend_Reflection_Method('Zend_Reflection_Method_Body_Samples', 'methodF'); + $this->assertEquals(' if (true) { + ; + }', $reflectionMethodF->getBody()); + } }