From dc9c706b51525939c2a80bd2cee0dd36a70fd89e Mon Sep 17 00:00:00 2001 From: William DURAND Date: Wed, 11 Dec 2013 01:59:59 +0100 Subject: [PATCH] [Test] Extended Class test case --- Extractor/Handler/JmsSecurityExtraHandler.php | 2 +- Parser/ValidationParser.php | 3 ++- Tests/Fixtures/Controller/TestController.php | 9 +++++++++ Tests/Fixtures/Model/JmsChild.php | 13 +++++++++++++ Tests/Fixtures/app/config/routing.yml | 4 ++++ 5 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 Tests/Fixtures/Model/JmsChild.php diff --git a/Extractor/Handler/JmsSecurityExtraHandler.php b/Extractor/Handler/JmsSecurityExtraHandler.php index b1eeada..8aae3d1 100644 --- a/Extractor/Handler/JmsSecurityExtraHandler.php +++ b/Extractor/Handler/JmsSecurityExtraHandler.php @@ -24,7 +24,7 @@ class JmsSecurityExtraHandler implements HandlerInterface foreach ($annotations as $annot) { if ($annot instanceof PreAuthorize) { $annotation->setAuthentication(true); - } else if ($annot instanceof Secure) { + } elseif ($annot instanceof Secure) { $annotation->setAuthentication(true); $annotation->setAuthenticationRoles(is_array($annot->roles) ? $annot->roles : explode(',', $annot->roles)); } diff --git a/Parser/ValidationParser.php b/Parser/ValidationParser.php index 646b4f5..a7281e2 100644 --- a/Parser/ValidationParser.php +++ b/Parser/ValidationParser.php @@ -52,6 +52,7 @@ class ValidationParser implements ParserInterface, PostParserInterface public function parse(array $input) { $className = $input['class']; + return $this->doParse($className, array()); } @@ -62,7 +63,7 @@ class ValidationParser implements ParserInterface, PostParserInterface * @param array $visited * @return array */ - protected function doParse ($className, array $visited) + protected function doParse($className, array $visited) { $params = array(); $classdata = $this->factory->getMetadataFor($className); diff --git a/Tests/Fixtures/Controller/TestController.php b/Tests/Fixtures/Controller/TestController.php index eb80a96..0265d39 100644 --- a/Tests/Fixtures/Controller/TestController.php +++ b/Tests/Fixtures/Controller/TestController.php @@ -200,6 +200,15 @@ class TestController { } + /** + * @ApiDoc( + * output="Nelmio\ApiDocBundle\Tests\Fixtures\Model\JmsChild" + * ) + */ + public function jmsReturnNestedExtendedOutputAction() + { + } + /** * @ApiDoc( * output="Nelmio\ApiDocBundle\Tests\Fixtures\Model\MultipleTest" diff --git a/Tests/Fixtures/Model/JmsChild.php b/Tests/Fixtures/Model/JmsChild.php new file mode 100644 index 0000000..5244e81 --- /dev/null +++ b/Tests/Fixtures/Model/JmsChild.php @@ -0,0 +1,13 @@ +