38 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php declare(strict_types=1);
 | 
						|
 | 
						|
use PHPUnit\Framework\TestCase;
 | 
						|
use Symfony\Contracts\HttpClient\ResponseInterface;
 | 
						|
use Lewisdale\Webmentions\EndpointParser;
 | 
						|
 | 
						|
 | 
						|
class EndpointParserTest extends TestCase {
 | 
						|
    public function testParsesRelativeEndpointFromResponseHeaders() {
 | 
						|
        $response = $this->createStub(ResponseInterface::class);
 | 
						|
 | 
						|
        $response->method('getHeaders')
 | 
						|
            ->willReturn([
 | 
						|
                "link" => ["</test/1/webmention>; rel=webmention"],
 | 
						|
            ]);
 | 
						|
 | 
						|
        $response->method('getInfo')
 | 
						|
            ->willReturn('https://webmention.rocks/test/1');
 | 
						|
 | 
						|
        $this->assertSame("https://webmention.rocks/test/1/webmention", EndpointParser::parse($response));   
 | 
						|
    }
 | 
						|
 | 
						|
    public function testParsesRelativeEndpointWithQuotedRelInResponseHeader() {
 | 
						|
        $response = $this->createStub(ResponseInterface::class);
 | 
						|
 | 
						|
        $response->method('getHeaders')
 | 
						|
            ->willReturn([
 | 
						|
                "link" => ['</test/5/webmention>; rel="webmention"'],
 | 
						|
            ]);
 | 
						|
 | 
						|
        
 | 
						|
        $response->method('getInfo')
 | 
						|
            ->willReturn('https://webmention.rocks/test/5');
 | 
						|
 | 
						|
        $this->assertSame("https://webmention.rocks/test/5/webmention", EndpointParser::parse($response));   
 | 
						|
    }
 | 
						|
 | 
						|
} |