_method = new Zend_CodeGenerator_Php_Method(); } public function teardown() { $this->_method = null; } public function testMethodConstructor() { $codeGenMethod = new Zend_CodeGenerator_Php_Method(); $this->isInstanceOf($codeGenMethod, 'Zend_CodeGenerator_Php_Method'); } public function testMethodParameterAccessors() { $codeGen = new Zend_CodeGenerator_Php_Method(); $codeGen->setParameters(array( array('name' => 'one') )); $params = $codeGen->getParameters(); $param = array_shift($params); $this->assertTrue($param instanceof Zend_CodeGenerator_Php_Parameter, 'Failed because $param was not instance of Zend_CodeGenerator_Php_Property'); } public function testMethodBodyGetterAndSetter() { $this->_method->setBody('Foo'); $this->assertEquals('Foo', $this->_method->getBody()); } public function testDocblockGetterAndSetter() { $d = new Zend_CodeGenerator_Php_Docblock(); $this->_method->setDocblock($d); $this->assertTrue($d === $this->_method->getDocblock()); } public function testMethodFromReflection() { $ref = new Zend_Reflection_Method('Zend_Reflection_TestSampleSingleClass', 'someMethod'); $codeGenMethod = Zend_CodeGenerator_Php_Method::fromReflection($ref); $target = <<assertEquals($target, (string) $codeGenMethod); } /** * @group ZF-6444 */ public function testMethodWithStaticModifierIsEmitted() { $codeGen = new Zend_CodeGenerator_Php_Method(); $codeGen->setName('foo'); $codeGen->setParameters(array( array('name' => 'one') )); $codeGen->setStatic(true); $expected = <<assertEquals($expected, $codeGen->generate()); } /** * @group ZF-6444 */ public function testMethodWithFinalModifierIsEmitted() { $codeGen = new Zend_CodeGenerator_Php_Method(); $codeGen->setName('foo'); $codeGen->setParameters(array( array('name' => 'one') )); $codeGen->setFinal(true); $expected = <<assertEquals($expected, $codeGen->generate()); } /** * @group ZF-6444 */ public function testMethodWithFinalModifierIsNotEmittedWhenMethodIsAbstract() { $codeGen = new Zend_CodeGenerator_Php_Method(); $codeGen->setName('foo'); $codeGen->setParameters(array( array('name' => 'one') )); $codeGen->setFinal(true); $codeGen->setAbstract(true); $expected = <<assertEquals($expected, $codeGen->generate()); } /** * @group ZF-7205 */ public function testMethodCanHaveDocblock() { $codeGenProperty = new Zend_CodeGenerator_Php_Method(array( 'name' => 'someFoo', 'static' => true, 'visibility' => 'protected', 'docblock' => '@var string $someVal This is some val' )); $expected = <<assertEquals($expected, $codeGenProperty->generate()); } }