From 184a364fa4255abda99ed180d3784f1a6a52cdcb Mon Sep 17 00:00:00 2001 From: Samuel ROZE Date: Thu, 7 Nov 2013 13:30:13 +0100 Subject: [PATCH] Merge output parameters --- Extractor/ApiDocExtractor.php | 2 +- Tests/Extractor/ApiDocExtractorTest.php | 2 +- Tests/Fixtures/Controller/TestController.php | 9 ++++++++ Tests/Fixtures/Model/MultipleTest.php | 23 +++++++++++++++++++ Tests/Fixtures/app/config/routing.yml | 4 ++++ Tests/Formatter/MarkdownFormatterTest.php | 14 ++++++++++++ Tests/Formatter/SimpleFormatterTest.php | 24 ++++++++++++++++++++ 7 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 Tests/Fixtures/Model/MultipleTest.php diff --git a/Extractor/ApiDocExtractor.php b/Extractor/ApiDocExtractor.php index b50535f..630ad4c 100644 --- a/Extractor/ApiDocExtractor.php +++ b/Extractor/ApiDocExtractor.php @@ -309,7 +309,7 @@ class ApiDocExtractor foreach ($this->parsers as $parser) { if ($parser->supports($normalizedOutput)) { - $response = $parser->parse($normalizedOutput); + $response = $this->mergeParameters($response, $parser->parse($normalizedOutput)); } } $response = $this->clearClasses($response); diff --git a/Tests/Extractor/ApiDocExtractorTest.php b/Tests/Extractor/ApiDocExtractorTest.php index 4a05b8a..7ecc676 100644 --- a/Tests/Extractor/ApiDocExtractorTest.php +++ b/Tests/Extractor/ApiDocExtractorTest.php @@ -15,7 +15,7 @@ use Nelmio\ApiDocBundle\Tests\WebTestCase; class ApiDocExtractorTest extends WebTestCase { - const ROUTES_QUANTITY = 21; + const ROUTES_QUANTITY = 22; public function testAll() { diff --git a/Tests/Fixtures/Controller/TestController.php b/Tests/Fixtures/Controller/TestController.php index 72c544e..eb80a96 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\MultipleTest" + * ) + */ + public function zReturnJmsAndValidationOutputAction() + { + } + /** * @ApiDoc( * description="Returns a collection of Object", diff --git a/Tests/Fixtures/Model/MultipleTest.php b/Tests/Fixtures/Model/MultipleTest.php new file mode 100644 index 0000000..a0077fe --- /dev/null +++ b/Tests/Fixtures/Model/MultipleTest.php @@ -0,0 +1,23 @@ +assertEquals($expected, $result); diff --git a/Tests/Formatter/SimpleFormatterTest.php b/Tests/Formatter/SimpleFormatterTest.php index a421cc9..3bc8a47 100644 --- a/Tests/Formatter/SimpleFormatterTest.php +++ b/Tests/Formatter/SimpleFormatterTest.php @@ -820,6 +820,30 @@ With multiple lines.', 'authenticationRoles' => array(), 'deprecated' => false, ), + 15 => + array( + 'method' => 'ANY', + 'uri' => '/z-return-jms-and-validator-output', + 'https' => false, + 'authentication' => false, + 'deprecated' => false, + 'response' => array ( + 'bar' => array( + 'dataType' => 'DateTime', + 'required' => null, + 'readonly' => null + ), + 'number' => array( + 'dataType' => 'DateTime', + 'required' => false, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => null, + 'untilVersion' => null + ) + ), + 'authenticationRoles' => array(), + ) ), '/tests2' => array(