/** * @param \PhpUnitTestGenerator\Generator\TestMethod $method * @return null|\phpDocumentor\Reflection\DocBlock */ public function getParsedDocComment(\PhpUnitTestGenerator\Generator\TestMethod $method) { if ($method->getOriginalMethod()->getDocComment()) { return new \phpDocumentor\Reflection\DocBlock($method->getOriginalMethod()->getDocComment()); } return null; }
/** * checks if provider can generate for this method * * @param \PhpUnitTestGenerator\Generator\TestMethod $method * @return boolean */ public function canHandleTestableMethod(\PhpUnitTestGenerator\Generator\TestMethod $method) { if ($method->getOriginalMethod()->isStatic()) { $doc = $this->getParsedDocComment($method); if ($doc !== null) { if ($doc->hasTag("return")) { $returns = $doc->getTagsByName("return"); $return = $returns[0]; /* @var $return \phpDocumentor\Reflection\DocBlock\Tag\ReturnTag */ if ($return->getType() != "" && !in_array($return->getType(), self::$types)) { if (class_exists($return->getType()) || interface_exists($return->getType())) { return true; } } } } } return false; }
public function handleTestableMethod(\PhpUnitTestGenerator\Generator\TestMethod $method) { $method->setStatus(\PhpUnitTestGenerator\Generator\TestMethod::STATUS_FINAL); $method->setContent(\PhpUnitTestGenerator\Resource\Helper::getParsedTemplateByNameAndHash('TestMethodSingleton.tpl.dist', array('methodName' => ucfirst($method->getName()), 'origMethodName' => $method->getOriginalMethod()->getName(), 'className' => '\\' . $method->getOriginalMethod()->getDeclaringClass()->getName()))); }
private function isGetterMethod(\PhpUnitTestGenerator\Generator\TestMethod $method) { return 0 != preg_match('/^(get)[A-Z0-9]/', $method->getOriginalMethod()->getName()) && $method->getOriginalMethod()->getNumberOfParameters() == 0 && false === $method->getOriginalMethod()->isStatic(); //return 0 != preg_match('/^(get|is)[A-Z0-9]/', $method->getOriginalMethod()->getName()) && $method->getOriginalMethod()->getNumberOfParameters() == 0 && false === $method->getOriginalMethod()->isStatic(); }