nginxsonarrradarrplexorganizrdashboardnzbgetbookmarkapplication-dashboardmuximuxlandingpagestartpagelandinghtpcserverhomepagesabnzbdheimdallembycouchpotato
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.6 KiB
61 lines
1.6 KiB
<?php
|
|
|
|
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
|
|
|
use PHPUnit\Framework\TestCase;
|
|
use Symfony\Component\HttpKernel\Exception\HttpException;
|
|
|
|
class HttpExceptionTest extends TestCase
|
|
{
|
|
public function headerDataProvider()
|
|
{
|
|
return [
|
|
[['X-Test' => 'Test']],
|
|
[['X-Test' => 1]],
|
|
[
|
|
[
|
|
['X-Test' => 'Test'],
|
|
['X-Test-2' => 'Test-2'],
|
|
],
|
|
],
|
|
];
|
|
}
|
|
|
|
public function testHeadersDefault()
|
|
{
|
|
$exception = $this->createException();
|
|
$this->assertSame([], $exception->getHeaders());
|
|
}
|
|
|
|
/**
|
|
* @dataProvider headerDataProvider
|
|
*/
|
|
public function testHeadersConstructor($headers)
|
|
{
|
|
$exception = new HttpException(200, null, null, $headers);
|
|
$this->assertSame($headers, $exception->getHeaders());
|
|
}
|
|
|
|
/**
|
|
* @dataProvider headerDataProvider
|
|
*/
|
|
public function testHeadersSetter($headers)
|
|
{
|
|
$exception = $this->createException();
|
|
$exception->setHeaders($headers);
|
|
$this->assertSame($headers, $exception->getHeaders());
|
|
}
|
|
|
|
public function testThrowableIsAllowedForPrevious()
|
|
{
|
|
$previous = new class('Error of PHP 7+') extends \Error {
|
|
};
|
|
$exception = $this->createException(null, $previous);
|
|
$this->assertSame($previous, $exception->getPrevious());
|
|
}
|
|
|
|
protected function createException(string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
|
{
|
|
return new HttpException(200, $message, $previous, $headers, $code);
|
|
}
|
|
}
|
|
|