From bb9fd6d756fa5a76429eed710652657bff5b4a4a Mon Sep 17 00:00:00 2001 From: Mario Franco Date: Tue, 16 Apr 2013 16:19:19 +0100 Subject: [PATCH 1/3] Added support for deprecated phpdoc tag --- Extractor/ApiDocExtractor.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Extractor/ApiDocExtractor.php b/Extractor/ApiDocExtractor.php index e338fe9..d53dc1d 100644 --- a/Extractor/ApiDocExtractor.php +++ b/Extractor/ApiDocExtractor.php @@ -320,6 +320,9 @@ class ApiDocExtractor if (preg_match('{^@param (.+)}', trim($line), $matches)) { $paramDocs[] = $matches[1]; } + if (preg_match('{^@deprecated\b(.*)}', trim($line), $matches)) { + $annotation->setDeprecated(true); + } } $regexp = '{(\w*) *\$%s *(.*)}i'; From 93e83e610ce04dd0750b9df00fceff927d13382b Mon Sep 17 00:00:00 2001 From: Mario Franco Date: Tue, 16 Apr 2013 19:40:29 +0100 Subject: [PATCH 2/3] Added test case --- Tests/Extractor/ApiDocExtratorTest.php | 12 ++++++++++++ Tests/Fixtures/Controller/TestController.php | 8 ++++++++ 2 files changed, 20 insertions(+) diff --git a/Tests/Extractor/ApiDocExtratorTest.php b/Tests/Extractor/ApiDocExtratorTest.php index eee99dd..24f29a5 100644 --- a/Tests/Extractor/ApiDocExtratorTest.php +++ b/Tests/Extractor/ApiDocExtratorTest.php @@ -179,4 +179,16 @@ class ApiDocExtractorTest extends WebTestCase $annotation->getCache() ); } + + public function testGetWithDeprecated() + { + $container = $this->getContainer(); + $extractor = $container->get('nelmio_api_doc.extractor.api_doc_extractor'); + $annotation = $extractor->get('Nelmio\ApiDocBundle\Tests\Fixtures\Controller\TestController::DeprecatedAction', 'test_route_15'); + + $this->assertNotNull($annotation); + $this->assertTrue( + $annotation->getDeprecated() + ); + } } diff --git a/Tests/Fixtures/Controller/TestController.php b/Tests/Fixtures/Controller/TestController.php index 4c42042..53d57fb 100644 --- a/Tests/Fixtures/Controller/TestController.php +++ b/Tests/Fixtures/Controller/TestController.php @@ -154,4 +154,12 @@ class TestController public function cachedAction() { } + + /** + * @ApiDoc() + * @deprecated + */ + public function deprecatedAction() + { + } } From fb154280f96f2dc675e177d0a86b4250f8f66f98 Mon Sep 17 00:00:00 2001 From: Mario Franco Date: Tue, 16 Apr 2013 19:59:54 +0100 Subject: [PATCH 3/3] Fix route --- Tests/Extractor/ApiDocExtratorTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/Extractor/ApiDocExtratorTest.php b/Tests/Extractor/ApiDocExtratorTest.php index 24f29a5..e90bc95 100644 --- a/Tests/Extractor/ApiDocExtratorTest.php +++ b/Tests/Extractor/ApiDocExtratorTest.php @@ -184,7 +184,7 @@ class ApiDocExtractorTest extends WebTestCase { $container = $this->getContainer(); $extractor = $container->get('nelmio_api_doc.extractor.api_doc_extractor'); - $annotation = $extractor->get('Nelmio\ApiDocBundle\Tests\Fixtures\Controller\TestController::DeprecatedAction', 'test_route_15'); + $annotation = $extractor->get('Nelmio\ApiDocBundle\Tests\Fixtures\Controller\TestController::DeprecatedAction', 'test_route_14'); $this->assertNotNull($annotation); $this->assertTrue(