* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Nelmio\ApiDocBundle\Tests\Formatter; use Nelmio\ApiDocBundle\Tests\WebTestCase; class SimpleFormatterTest extends WebTestCase { public function testFormat() { $container = $this->getContainer(); $extractor = $container->get('nelmio_api_doc.extractor.api_doc_extractor'); set_error_handler(array($this, 'handleDeprecation')); $data = $extractor->all(); restore_error_handler(); $result = $container->get('nelmio_api_doc.formatter.simple_formatter')->format($data); $suffix = class_exists('Dunglas\ApiBundle\DunglasApiBundle') ? '' : '_1'; $expected = require __DIR__ . '/testFormat-result'.$suffix.'.php'; $this->assertEquals($expected, $result); } public function testFormatOne() { $container = $this->getContainer(); $extractor = $container->get('nelmio_api_doc.extractor.api_doc_extractor'); $annotation = $extractor->get('Nelmio\ApiDocBundle\Tests\Fixtures\Controller\TestController::indexAction', 'test_route_1'); $result = $container->get('nelmio_api_doc.formatter.simple_formatter')->formatOne($annotation); $expected = array( 'method' => 'GET', 'uri' => '/tests.{_format}', 'filters' => array( 'a' => array( 'dataType' => 'integer', ), 'b' => array( 'dataType' => 'string', 'arbitrary' => array( 'arg1', 'arg2', ), ), ), 'description' => 'index action', 'requirements' => array( '_format' => array('dataType' => '', 'description' => '', 'requirement' => ''), ), 'https' => false, 'authentication' => false, 'authenticationRoles' => array(), 'deprecated' => false, ); $this->assertEquals($expected, $result); } }