From 8867e1a2418d981344508736b32383adb064a13a Mon Sep 17 00:00:00 2001 From: Marco Pivetta Date: Sun, 21 Jul 2013 00:57:47 +0200 Subject: [PATCH] Docblocks, minor cleanups --- .../Autoloader/AutoloaderInterface.php | 2 +- .../FileLocator/FileLocatorInterface.php | 2 +- .../Inflector/ClassNameInflectorInterface.php | 2 +- .../ReflectionBuilder/ClassBuilder.php | 27 +++++++- .../Visitor/ClassClonerVisitor.php | 36 ++++++++++- .../Visitor/ClassExtensionVisitor.php | 63 +++++++++++++++++- .../Visitor/ClassFQCNResolverVisitor.php | 41 ++++++++++-- .../Visitor/ClassImplementorVisitor.php | 64 +++++++++++++++---- .../Visitor/ClassRenamerVisitor.php | 47 ++++++++++++++ .../Visitor/Exception/ExceptionInterface.php | 22 +++++++ .../Exception/UnexpectedValueException.php | 22 +++++++ .../Visitor/MethodDisablerVisitor.php | 44 ++++++++++++- .../Visitor/PublicMethodsFilterVisitor.php | 32 +++++++++- .../ClassGenerator/HydratorGenerator.php | 16 +---- .../Visitor/HydratorMethodsVisitor.php | 39 +++++++++-- .../Exception/DisabledMethodException.php | 2 - .../Exception/ExceptionInterface.php | 2 +- .../Factory/AbstractBaseFactory.php | 31 --------- .../Factory/HydratorFactory.php | 4 +- .../FileWriterGeneratorStrategyTest.php | 8 +-- .../Visitor/ClassClonerVisitorTest.php | 21 ++++++ .../Visitor/ClassExtensionVisitorTest.php | 21 ++++++ .../Visitor/ClassFQCNResolverVisitorTest.php | 21 ++++++ .../Visitor/ClassImplementorVisitorTest.php | 21 ++++++ .../Visitor/ClassRenamerVisitorTest.php | 21 ++++++ .../Visitor/MethodDisablerVisitorTest.php | 21 ++++++ .../PublicMethodsFilterVisitorTest.php | 21 ++++++ .../AbstractClassGeneratorTest.php | 31 --------- .../ClassGenerator/HydratorGeneratorTest.php | 3 +- .../Visitor/HydratorMethodsVisitorTest.php | 23 ++++++- .../Exception/DisabledMethodExceptionTest.php | 2 +- 31 files changed, 588 insertions(+), 124 deletions(-) delete mode 100644 src/GeneratedHydrator/Factory/AbstractBaseFactory.php delete mode 100644 tests/GeneratedHydratorTest/ClassGenerator/AbstractClassGeneratorTest.php diff --git a/src/CodeGenerationUtils/Autoloader/AutoloaderInterface.php b/src/CodeGenerationUtils/Autoloader/AutoloaderInterface.php index c278342b..fa39aef4 100644 --- a/src/CodeGenerationUtils/Autoloader/AutoloaderInterface.php +++ b/src/CodeGenerationUtils/Autoloader/AutoloaderInterface.php @@ -19,7 +19,7 @@ namespace CodeGenerationUtils\Autoloader; /** - * Basic autoloader utilities required to work with proxy files + * Basic autoloader utilities required to work with generated classes * * @author Marco Pivetta * @license MIT diff --git a/src/CodeGenerationUtils/FileLocator/FileLocatorInterface.php b/src/CodeGenerationUtils/FileLocator/FileLocatorInterface.php index 138270a1..ff744575 100644 --- a/src/CodeGenerationUtils/FileLocator/FileLocatorInterface.php +++ b/src/CodeGenerationUtils/FileLocator/FileLocatorInterface.php @@ -19,7 +19,7 @@ namespace CodeGenerationUtils\FileLocator; /** - * Basic autoloader utilities required to work with proxy files + * File locator - enables discovering files where generated classes are located * * @author Marco Pivetta * @license MIT diff --git a/src/CodeGenerationUtils/Inflector/ClassNameInflectorInterface.php b/src/CodeGenerationUtils/Inflector/ClassNameInflectorInterface.php index 329002ae..4079e506 100644 --- a/src/CodeGenerationUtils/Inflector/ClassNameInflectorInterface.php +++ b/src/CodeGenerationUtils/Inflector/ClassNameInflectorInterface.php @@ -19,7 +19,7 @@ namespace CodeGenerationUtils\Inflector; /** - * Interface for a proxy- to user-class and user- to proxy-class name inflector + * Interface for a proxy- to user- class and user- to proxy- class name inflector * * @author Marco Pivetta * @license MIT diff --git a/src/CodeGenerationUtils/ReflectionBuilder/ClassBuilder.php b/src/CodeGenerationUtils/ReflectionBuilder/ClassBuilder.php index dfc7a8ea..75b9e83a 100644 --- a/src/CodeGenerationUtils/ReflectionBuilder/ClassBuilder.php +++ b/src/CodeGenerationUtils/ReflectionBuilder/ClassBuilder.php @@ -1,10 +1,27 @@ + * @license MIT + */ +class ClassBuilder extends PHPParser_BuilderAbstract { /** * @param \ReflectionClass $reflectionClass diff --git a/src/CodeGenerationUtils/Visitor/ClassClonerVisitor.php b/src/CodeGenerationUtils/Visitor/ClassClonerVisitor.php index 15fe1f42..e33fc5ec 100644 --- a/src/CodeGenerationUtils/Visitor/ClassClonerVisitor.php +++ b/src/CodeGenerationUtils/Visitor/ClassClonerVisitor.php @@ -1,4 +1,20 @@ + * @license MIT + */ class ClassClonerVisitor extends PHPParser_NodeVisitorAbstract { /** @@ -24,17 +49,22 @@ public function __construct(ReflectionClass $reflectedClass) } + /** + * {@inheritDoc} + * + * @param array $nodes + * + * @return \PHPParser_Node[] + */ public function beforeTraverse(array $nodes) { - // quickfix - if the list is empty, parse it + // quickfix - if the list is empty, replace it it if (empty($nodes)) { $parser = new PHPParser_Parser(new PHPParser_Lexer_Emulative); return $parser->parse(file_get_contents($this->reflectedClass->getFileName())); } - // @todo should instead decide what to do if the AST is not empty - maybe append the class in the end? - return $nodes; } } diff --git a/src/CodeGenerationUtils/Visitor/ClassExtensionVisitor.php b/src/CodeGenerationUtils/Visitor/ClassExtensionVisitor.php index da3d356a..99c25168 100644 --- a/src/CodeGenerationUtils/Visitor/ClassExtensionVisitor.php +++ b/src/CodeGenerationUtils/Visitor/ClassExtensionVisitor.php @@ -1,4 +1,20 @@ + * @license MIT + */ class ClassExtensionVisitor extends PHPParser_NodeVisitorAbstract { + /** + * @var string + */ private $matchedClassFQCN; + + /** + * @var string + */ private $newParentClassFQCN; + + /** + * @var \PHPParser_Node_Stmt_Namespace|null + */ private $currentNamespace; + /** + * @param string $matchedClassFQCN + * @param string $newParentClassFQCN + */ public function __construct($matchedClassFQCN, $newParentClassFQCN) { $this->matchedClassFQCN = (string) $matchedClassFQCN; $this->newParentClassFQCN = (string) $newParentClassFQCN; } + /** + * {@inheritDoc} + * + * Cleans up internal state + * + * @param array $nodes + */ public function beforeTraverse(array $nodes) { $this->currentNamespace = null; } + /** + * @param PHPParser_Node $node + * + * @return PHPParser_Node_Stmt_Namespace|null + */ public function enterNode(PHPParser_Node $node) { if ($node instanceof PHPParser_Node_Stmt_Namespace) { @@ -34,8 +83,18 @@ public function enterNode(PHPParser_Node $node) } } - // @todo this logic is basically a transformation applied on a filtered node - // @todo it can be abstracted away into a visitor that allows to modify the node via a callback + /** + * {@inheritDoc} + * + * When leaving a node that is a class, replaces it with a modified version that extends the + * given parent class + * + * @todo can be abstracted away into a visitor that allows to modify the node via a callback + * + * @param PHPParser_Node $node + * + * @return PHPParser_Node_Stmt_Class|void + */ public function leaveNode(PHPParser_Node $node) { if ($node instanceof PHPParser_Node_Stmt_Namespace) { diff --git a/src/CodeGenerationUtils/Visitor/ClassFQCNResolverVisitor.php b/src/CodeGenerationUtils/Visitor/ClassFQCNResolverVisitor.php index 91feaac9..a4d6ee4c 100644 --- a/src/CodeGenerationUtils/Visitor/ClassFQCNResolverVisitor.php +++ b/src/CodeGenerationUtils/Visitor/ClassFQCNResolverVisitor.php @@ -1,4 +1,20 @@ + * @license MIT + */ class ClassFQCNResolverVisitor extends PHPParser_NodeVisitorAbstract { /** @@ -21,17 +44,27 @@ class ClassFQCNResolverVisitor extends PHPParser_NodeVisitorAbstract */ private $class; + /** + * {@inheritDoc} + * + * @param array $nodes + */ public function beforeTraverse(array $nodes) { $this->namespace = null; $this->class = null; } + /** + * @param PHPParser_Node $node + * + * @throws Exception\UnexpectedValueException if more than one class is found + */ public function enterNode(PHPParser_Node $node) { if ($node instanceof PHPParser_Node_Stmt_Namespace) { if ($this->namespace) { - throw new UnexpectedValueException('Multiple namespaces discovered'); + throw new UnexpectedValueException('Multiple nested namespaces discovered (invalid AST?)'); } $this->namespace = $node; @@ -47,9 +80,9 @@ public function enterNode(PHPParser_Node $node) } /** - * @return string + * @return string the short name of the discovered class * - * @throws Exception\UnexpectedValueException in case no class could be resolved + * @throws Exception\UnexpectedValueException if no class could be resolved */ public function getName() { @@ -61,7 +94,7 @@ public function getName() } /** - * @return string + * @return string the namespace name of the discovered class */ public function getNamespace() { diff --git a/src/CodeGenerationUtils/Visitor/ClassImplementorVisitor.php b/src/CodeGenerationUtils/Visitor/ClassImplementorVisitor.php index 58c1f14f..4da7f831 100644 --- a/src/CodeGenerationUtils/Visitor/ClassImplementorVisitor.php +++ b/src/CodeGenerationUtils/Visitor/ClassImplementorVisitor.php @@ -1,4 +1,20 @@ + * @license MIT + */ class ClassImplementorVisitor extends PHPParser_NodeVisitorAbstract { private $matchedClassFQCN; @@ -15,31 +37,43 @@ class ClassImplementorVisitor extends PHPParser_NodeVisitorAbstract /** * @var \PHPParser_Node_Name[] */ - private $implementedInterfaces; + private $interfaces; + + /** + * @var PHPParser_Node_Stmt_Namespace|null + */ private $currentNamespace; /** * @param string $matchedClassFQCN - * @param string[] $implementedInterfaces - * - * @todo reduce code duplication with the extension visitor and the class renamer visitor + * @param string[] $interfaces */ - public function __construct($matchedClassFQCN, array $implementedInterfaces) + public function __construct($matchedClassFQCN, array $interfaces) { - $this->matchedClassFQCN = (string) $matchedClassFQCN; - $this->implementedInterfaces = array_map( + $this->matchedClassFQCN = (string) $matchedClassFQCN; + $this->interfaces = array_map( function ($interfaceName) { return new PHPParser_Node_Name_FullyQualified($interfaceName); }, - $implementedInterfaces + $interfaces ); } + /** + * Cleanup internal state + * + * @param array $nodes + */ public function beforeTraverse(array $nodes) { $this->currentNamespace = null; } + /** + * @param PHPParser_Node $node + * + * @return PHPParser_Node_Stmt_Namespace|void + */ public function enterNode(PHPParser_Node $node) { if ($node instanceof PHPParser_Node_Stmt_Namespace) { @@ -49,8 +83,16 @@ public function enterNode(PHPParser_Node $node) } } - // @todo this logic is basically a transformation applied on a filtered node - // @todo it can be abstracted away into a visitor that allows to modify the node via a callback + /** + * Replaces class nodes with nodes implementing the given interfaces. Implemented interfaces are replaced, + * not added. + * + * @param PHPParser_Node $node + * + * @todo can be abstracted away into a visitor that allows to modify the matched node via a callback + * + * @return PHPParser_Node_Stmt_Class|void + */ public function leaveNode(PHPParser_Node $node) { if ($node instanceof PHPParser_Node_Stmt_Namespace) { @@ -63,7 +105,7 @@ public function leaveNode(PHPParser_Node $node) : ''; if (trim($namespace . '\\' . $node->name, '\\') === $this->matchedClassFQCN) { - $node->implements = $this->implementedInterfaces; + $node->implements = $this->interfaces; } return $node; diff --git a/src/CodeGenerationUtils/Visitor/ClassRenamerVisitor.php b/src/CodeGenerationUtils/Visitor/ClassRenamerVisitor.php index df3ec18d..049459b6 100644 --- a/src/CodeGenerationUtils/Visitor/ClassRenamerVisitor.php +++ b/src/CodeGenerationUtils/Visitor/ClassRenamerVisitor.php @@ -1,4 +1,20 @@ + * @license MIT + */ class ClassRenamerVisitor extends PHPParser_NodeVisitorAbstract { /** @@ -50,6 +73,11 @@ public function __construct(ReflectionClass $reflectedClass, $newFQCN) $this->newName = end($fqcnParts); } + /** + * Cleanup internal state + * + * @param array $nodes + */ public function beforeTraverse(array $nodes) { // reset state @@ -57,6 +85,11 @@ public function beforeTraverse(array $nodes) $this->replacedInNamespace = null; } + /** + * @param PHPParser_Node $node + * + * @return PHPParser_Node_Stmt_Namespace|void + */ public function enterNode(PHPParser_Node $node) { if ($node instanceof PHPParser_Node_Stmt_Namespace) { @@ -64,6 +97,15 @@ public function enterNode(PHPParser_Node $node) } } + /** + * Replaces (if matching) the given node to comply with the new given name + * + * @param PHPParser_Node $node + * + * @todo can be abstracted away into a visitor that allows to modify the matched node via a callback + * + * @return array|null|PHPParser_Node_Stmt_Class|PHPParser_Node_Stmt_Namespace|void + */ public function leaveNode(PHPParser_Node $node) { if ($node instanceof PHPParser_Node_Stmt_Namespace) { @@ -103,6 +145,11 @@ public function leaveNode(PHPParser_Node $node) } } + /** + * Checks if the current namespace matches with the one provided with the reflection class + * + * @return bool + */ private function namespaceMatches() { $currentNamespace = ($this->currentNamespace && is_array($this->currentNamespace->name->parts)) diff --git a/src/CodeGenerationUtils/Visitor/Exception/ExceptionInterface.php b/src/CodeGenerationUtils/Visitor/Exception/ExceptionInterface.php index 393e0690..f65d0a00 100644 --- a/src/CodeGenerationUtils/Visitor/Exception/ExceptionInterface.php +++ b/src/CodeGenerationUtils/Visitor/Exception/ExceptionInterface.php @@ -1,8 +1,30 @@ + * @license MIT + */ interface ExceptionInterface { } diff --git a/src/CodeGenerationUtils/Visitor/Exception/UnexpectedValueException.php b/src/CodeGenerationUtils/Visitor/Exception/UnexpectedValueException.php index 3eff3dde..bb3848e3 100644 --- a/src/CodeGenerationUtils/Visitor/Exception/UnexpectedValueException.php +++ b/src/CodeGenerationUtils/Visitor/Exception/UnexpectedValueException.php @@ -1,9 +1,31 @@ + * @license MIT + */ class UnexpectedValueException extends BaseUnexpectedValueException implements ExceptionInterface { } diff --git a/src/CodeGenerationUtils/Visitor/MethodDisablerVisitor.php b/src/CodeGenerationUtils/Visitor/MethodDisablerVisitor.php index d4e25e3c..6ad82ba1 100644 --- a/src/CodeGenerationUtils/Visitor/MethodDisablerVisitor.php +++ b/src/CodeGenerationUtils/Visitor/MethodDisablerVisitor.php @@ -1,26 +1,68 @@ + * @license MIT + */ class MethodDisablerVisitor extends PHPParser_NodeVisitorAbstract { + /** + * @var callable + */ private $filter; + + /** + * Constructor. + * + * @param callable $filter a filter method that accepts a single parameter of + * type {@see \PHPParser_Node} and returns null|true|false to + * respectively ignore, remove or replace it. + */ public function __construct(callable $filter) { $this->filter = $filter; } + /** + * Replaces the given node if it is a class method and matches according to the given callback + * + * @param PHPParser_Node $node + * + * @return bool|null|PHPParser_Node_Stmt_ClassMethod + */ public function leaveNode(PHPParser_Node $node) { $filter = $this->filter; - if (! $node instanceof \PHPParser_Node_Stmt_ClassMethod || null === ($filterResult = $filter($node))) { + if (! $node instanceof PHPParser_Node_Stmt_ClassMethod || null === ($filterResult = $filter($node))) { return null; } diff --git a/src/CodeGenerationUtils/Visitor/PublicMethodsFilterVisitor.php b/src/CodeGenerationUtils/Visitor/PublicMethodsFilterVisitor.php index 7aa49193..563a90b1 100644 --- a/src/CodeGenerationUtils/Visitor/PublicMethodsFilterVisitor.php +++ b/src/CodeGenerationUtils/Visitor/PublicMethodsFilterVisitor.php @@ -1,14 +1,44 @@ + * @license MIT + */ class PublicMethodsFilterVisitor extends PHPParser_NodeVisitorAbstract { + /** + * Removes the node if it is a non-public method + * + * @param PHPParser_Node $node + * + * @return bool|null + */ public function leaveNode(PHPParser_Node $node) { - return ($node instanceof \PHPParser_Node_Stmt_ClassMethod && ! $node->isPublic()) ? false : null; + return ($node instanceof PHPParser_Node_Stmt_ClassMethod && ! $node->isPublic()) ? false : null; } } diff --git a/src/GeneratedHydrator/ClassGenerator/HydratorGenerator.php b/src/GeneratedHydrator/ClassGenerator/HydratorGenerator.php index e8fcb901..00da992a 100644 --- a/src/GeneratedHydrator/ClassGenerator/HydratorGenerator.php +++ b/src/GeneratedHydrator/ClassGenerator/HydratorGenerator.php @@ -60,7 +60,7 @@ function () { $ast = $cleaner->traverse($ast); - // step 2: implement new methods + // step 2: implement new methods and interfaces, extend original class $implementor = new PHPParser_NodeTraverser(); $implementor->addVisitor(new HydratorMethodsVisitor($originalClass)); @@ -70,19 +70,5 @@ function () { ); return $implementor->traverse($ast); - - // @todo add interfaces and parent class - - /* - $interfaces = array('Zend\\Stdlib\\Hydrator\\HydratorInterface'); - - if ($originalClass->isInterface()) { - $interfaces[] = $originalClass->getName(); - } else { - $classGenerator->setExtendedClass($originalClass->getName()); - } - - $classGenerator->setImplementedInterfaces($interfaces); - */ } } diff --git a/src/GeneratedHydrator/CodeGenerator/Visitor/HydratorMethodsVisitor.php b/src/GeneratedHydrator/CodeGenerator/Visitor/HydratorMethodsVisitor.php index 6678fd78..cec3546f 100644 --- a/src/GeneratedHydrator/CodeGenerator/Visitor/HydratorMethodsVisitor.php +++ b/src/GeneratedHydrator/CodeGenerator/Visitor/HydratorMethodsVisitor.php @@ -13,6 +13,12 @@ use ReflectionClass; use ReflectionProperty; +/** + * Replaces methods `__construct`, `hydrate` and `extract` in the classes of the given AST + * + * @author Marco Pivetta + * @license MIT + */ class HydratorMethodsVisitor extends PHPParser_NodeVisitorAbstract { /** @@ -41,15 +47,17 @@ public function __construct(ReflectionClass $reflectedClass) & ~ReflectionProperty::IS_STATIC ); - - // @todo over-simplified for testing foreach ($reflectedClass->getProperties(ReflectionProperty::IS_PRIVATE) as $property) { $this->propertyWriters[$property->getName()] = new PropertyAccessor($property, 'Writer'); } - } - public function enterNode(PHPParser_Node $node) + /** + * @param PHPParser_Node $node + * + * @return null|PHPParser_Node_Stmt_Class|void + */ + public function leaveNode(PHPParser_Node $node) { if (! $node instanceof PHPParser_Node_Stmt_Class) { return null; @@ -62,7 +70,10 @@ public function enterNode(PHPParser_Node $node) return $node; } - private function replaceConstructor(PHPParser_Node_Stmt_ClassMethod $method = null) + /** + * @param PHPParser_Node_Stmt_ClassMethod $method + */ + private function replaceConstructor(PHPParser_Node_Stmt_ClassMethod $method) { $method->params = array(); @@ -84,7 +95,10 @@ private function replaceConstructor(PHPParser_Node_Stmt_ClassMethod $method = nu $method->stmts = $parser->parse('params = array( new PHPParser_Node_Param('data', null, 'array'), @@ -117,7 +131,10 @@ private function replaceHydrate(PHPParser_Node_Stmt_ClassMethod $method = null) $method->stmts = $parser->parse(' * @license MIT diff --git a/src/GeneratedHydrator/Factory/AbstractBaseFactory.php b/src/GeneratedHydrator/Factory/AbstractBaseFactory.php deleted file mode 100644 index 6074bad5..00000000 --- a/src/GeneratedHydrator/Factory/AbstractBaseFactory.php +++ /dev/null @@ -1,31 +0,0 @@ - - * @license MIT - */ -abstract class AbstractBaseFactory -{ -} diff --git a/src/GeneratedHydrator/Factory/HydratorFactory.php b/src/GeneratedHydrator/Factory/HydratorFactory.php index 0d0c14c9..6897c0c5 100644 --- a/src/GeneratedHydrator/Factory/HydratorFactory.php +++ b/src/GeneratedHydrator/Factory/HydratorFactory.php @@ -25,12 +25,12 @@ use ReflectionClass; /** - * Factory responsible of producing hydrator proxies + * Factory responsible of producing hydrators * * @author Marco Pivetta * @license MIT */ -class HydratorFactory extends AbstractBaseFactory +class HydratorFactory { /** * @var \GeneratedHydrator\Configuration diff --git a/tests/CodeGenerationUtilsTest/GeneratorStrategy/FileWriterGeneratorStrategyTest.php b/tests/CodeGenerationUtilsTest/GeneratorStrategy/FileWriterGeneratorStrategyTest.php index 7f0965b3..a4cd765e 100644 --- a/tests/CodeGenerationUtilsTest/GeneratorStrategy/FileWriterGeneratorStrategyTest.php +++ b/tests/CodeGenerationUtilsTest/GeneratorStrategy/FileWriterGeneratorStrategyTest.php @@ -51,11 +51,9 @@ public function testGenerate() ->with($fqcn) ->will($this->returnValue($tmpFile)); - $namespace = new PHPParser_Node_Stmt_Namespace(new PHPParser_Node_Name('Foo')); - $class = new PHPParser_Node_Stmt_Class($className); - $namespace->stmts = array($class); - - $body = $generator->generate(array($namespace)); + $class = new PHPParser_Node_Stmt_Class($className); + $namespace = new PHPParser_Node_Stmt_Namespace(new PHPParser_Node_Name('Foo'), array($class)); + $body = $generator->generate(array($namespace)); $this->assertGreaterThan(0, strpos($body, $className)); $this->assertFalse(class_exists($fqcn, false)); diff --git a/tests/CodeGenerationUtilsTest/Visitor/ClassClonerVisitorTest.php b/tests/CodeGenerationUtilsTest/Visitor/ClassClonerVisitorTest.php index e3e405a7..96fbfa38 100644 --- a/tests/CodeGenerationUtilsTest/Visitor/ClassClonerVisitorTest.php +++ b/tests/CodeGenerationUtilsTest/Visitor/ClassClonerVisitorTest.php @@ -1,4 +1,20 @@ + * @license MIT + * * @covers \CodeGenerationUtils\Visitor\ClassClonerVisitor */ class ClassClonerVisitorTest extends PHPUnit_Framework_TestCase diff --git a/tests/CodeGenerationUtilsTest/Visitor/ClassExtensionVisitorTest.php b/tests/CodeGenerationUtilsTest/Visitor/ClassExtensionVisitorTest.php index 8c16745b..f077043c 100644 --- a/tests/CodeGenerationUtilsTest/Visitor/ClassExtensionVisitorTest.php +++ b/tests/CodeGenerationUtilsTest/Visitor/ClassExtensionVisitorTest.php @@ -1,4 +1,20 @@ + * @license MIT + * * @covers \CodeGenerationUtils\Visitor\ClassExtensionVisitor */ class ClassExtensionVisitorTest extends PHPUnit_Framework_TestCase diff --git a/tests/CodeGenerationUtilsTest/Visitor/ClassFQCNResolverVisitorTest.php b/tests/CodeGenerationUtilsTest/Visitor/ClassFQCNResolverVisitorTest.php index 0d6096ce..62e8e81d 100644 --- a/tests/CodeGenerationUtilsTest/Visitor/ClassFQCNResolverVisitorTest.php +++ b/tests/CodeGenerationUtilsTest/Visitor/ClassFQCNResolverVisitorTest.php @@ -1,4 +1,20 @@ + * @license MIT + * * @covers \CodeGenerationUtils\Visitor\ClassFQCNResolverVisitor */ class ClassFQCNResolverVisitorTest extends PHPUnit_Framework_TestCase diff --git a/tests/CodeGenerationUtilsTest/Visitor/ClassImplementorVisitorTest.php b/tests/CodeGenerationUtilsTest/Visitor/ClassImplementorVisitorTest.php index a3efa35c..df6686ee 100644 --- a/tests/CodeGenerationUtilsTest/Visitor/ClassImplementorVisitorTest.php +++ b/tests/CodeGenerationUtilsTest/Visitor/ClassImplementorVisitorTest.php @@ -1,4 +1,20 @@ + * @license MIT + * * @covers \CodeGenerationUtils\Visitor\ClassImplementorVisitor */ class ClassImplementorVisitorTest extends PHPUnit_Framework_TestCase diff --git a/tests/CodeGenerationUtilsTest/Visitor/ClassRenamerVisitorTest.php b/tests/CodeGenerationUtilsTest/Visitor/ClassRenamerVisitorTest.php index 0e7ad8cd..7d3c4f0b 100644 --- a/tests/CodeGenerationUtilsTest/Visitor/ClassRenamerVisitorTest.php +++ b/tests/CodeGenerationUtilsTest/Visitor/ClassRenamerVisitorTest.php @@ -1,4 +1,20 @@ + * @license MIT + * * @covers \CodeGenerationUtils\Visitor\ClassRenamerVisitor */ class ClassRenamerVisitorTest extends PHPUnit_Framework_TestCase diff --git a/tests/CodeGenerationUtilsTest/Visitor/MethodDisablerVisitorTest.php b/tests/CodeGenerationUtilsTest/Visitor/MethodDisablerVisitorTest.php index b7102d24..176a5c71 100644 --- a/tests/CodeGenerationUtilsTest/Visitor/MethodDisablerVisitorTest.php +++ b/tests/CodeGenerationUtilsTest/Visitor/MethodDisablerVisitorTest.php @@ -1,4 +1,20 @@ + * @license MIT + * * @covers \CodeGenerationUtils\Visitor\MethodDisablerVisitor */ class MethodDisablerVisitorTest extends PHPUnit_Framework_TestCase diff --git a/tests/CodeGenerationUtilsTest/Visitor/PublicMethodsFilterVisitorTest.php b/tests/CodeGenerationUtilsTest/Visitor/PublicMethodsFilterVisitorTest.php index 9f69af86..eb0f18af 100644 --- a/tests/CodeGenerationUtilsTest/Visitor/PublicMethodsFilterVisitorTest.php +++ b/tests/CodeGenerationUtilsTest/Visitor/PublicMethodsFilterVisitorTest.php @@ -1,4 +1,20 @@ + * @license MIT + * * @covers \CodeGenerationUtils\Visitor\PublicMethodsFilterVisitor */ class PublicMethodsFilterVisitorTest extends PHPUnit_Framework_TestCase diff --git a/tests/GeneratedHydratorTest/ClassGenerator/AbstractClassGeneratorTest.php b/tests/GeneratedHydratorTest/ClassGenerator/AbstractClassGeneratorTest.php deleted file mode 100644 index 5d495819..00000000 --- a/tests/GeneratedHydratorTest/ClassGenerator/AbstractClassGeneratorTest.php +++ /dev/null @@ -1,31 +0,0 @@ - - * @license MIT - */ -abstract class AbstractClassGeneratorTest extends PHPUnit_Framework_TestCase -{ -} diff --git a/tests/GeneratedHydratorTest/ClassGenerator/HydratorGeneratorTest.php b/tests/GeneratedHydratorTest/ClassGenerator/HydratorGeneratorTest.php index f10083c9..8fab2e7a 100644 --- a/tests/GeneratedHydratorTest/ClassGenerator/HydratorGeneratorTest.php +++ b/tests/GeneratedHydratorTest/ClassGenerator/HydratorGeneratorTest.php @@ -23,6 +23,7 @@ use CodeGenerationUtils\Inflector\Util\UniqueIdentifierGenerator; use CodeGenerationUtils\GeneratorStrategy\EvaluatingGeneratorStrategy; use PHPParser_NodeTraverser; +use PHPUnit_Framework_TestCase; use ReflectionClass; /** @@ -33,7 +34,7 @@ * * @covers \GeneratedHydrator\ClassGenerator\HydratorGenerator */ -class HydratorGeneratorTest extends AbstractClassGeneratorTest +class HydratorGeneratorTest extends PHPUnit_Framework_TestCase { /** * @dataProvider getTestedImplementations diff --git a/tests/GeneratedHydratorTest/CodeGenerator/Visitor/HydratorMethodsVisitorTest.php b/tests/GeneratedHydratorTest/CodeGenerator/Visitor/HydratorMethodsVisitorTest.php index 40af4ce8..e5e554b3 100644 --- a/tests/GeneratedHydratorTest/CodeGenerator/Visitor/HydratorMethodsVisitorTest.php +++ b/tests/GeneratedHydratorTest/CodeGenerator/Visitor/HydratorMethodsVisitorTest.php @@ -1,4 +1,20 @@ + * @license MIT * * @covers \GeneratedHydrator\CodeGenerator\Visitor\HydratorMethodsVisitor */ @@ -31,7 +50,7 @@ public function testBasicCodeGeneration($className, PHPParser_Node_Stmt_Class $c $visitor = new HydratorMethodsVisitor(new ReflectionClass($className)); /* @var $modifiedAst PHPParser_Node_Stmt_Class */ - $modifiedNode = $visitor->enterNode($classNode); + $modifiedNode = $visitor->leaveNode($classNode); $this->checkMethodExistence('hydrate', $modifiedNode); $this->checkMethodExistence('extract', $modifiedNode); diff --git a/tests/GeneratedHydratorTest/Exception/DisabledMethodExceptionTest.php b/tests/GeneratedHydratorTest/Exception/DisabledMethodExceptionTest.php index ab6579c6..e4c82465 100644 --- a/tests/GeneratedHydratorTest/Exception/DisabledMethodExceptionTest.php +++ b/tests/GeneratedHydratorTest/Exception/DisabledMethodExceptionTest.php @@ -32,7 +32,7 @@ class DisabledMethodExceptionTest extends PHPUnit_Framework_TestCase /** * @covers \GeneratedHydrator\Exception\DisabledMethodException::disabledMethod */ - public function testProxyDirectoryNotFound() + public function testDisabledMethod() { $exception = DisabledMethodException::disabledMethod('foo::bar');