coupon-admin/vendor/zircote/swagger-php/tests/RefTest.php

41 lines
1.0 KiB
PHP

<?php declare(strict_types=1);
/**
* @license Apache 2.0
*/
namespace OpenApi\Tests;
use OpenApi\Analysis;
use OpenApi\Annotations\Info;
use OpenApi\Annotations\Response;
use OpenApi\Context;
class RefTest extends OpenApiTestCase
{
public function testRef()
{
$openapi = $this->createOpenApiWithInfo();
$info = $openapi->ref('#/info');
$this->assertInstanceOf(Info::class, $info);
$comment = <<<END
@OA\Get(
path="/api/~/endpoint",
@OA\Response(response="default", description="A response")
)
END;
$openapi->merge($this->parseComment($comment));
$analysis = new Analysis([], new Context());
$analysis->addAnnotation($openapi, Context::detect());
$analysis->process();
$analysis->validate();
// escape / as ~1
// escape ~ as ~0
$response = $openapi->ref('#/paths/~1api~1~0~1endpoint/get/responses/default');
$this->assertInstanceOf(Response::class, $response);
$this->assertSame('A response', $response->description);
}
}