/
githubmirror
/
symfony
Обзор
Документация
Войти
/
githubmirror
/
symfony
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
8.2
src/Symfony/Component/HttpFoundation/Tests/RequestMatcher/SchemeRequestMatcherTest.php
62 строки
2 KB
Christian Flothmann
replace PHPUnit annotations with attributes
04 авг 2025, 10:05
04 авг 2025, 10:05
982f89c
Код
Авторство
О чём код?
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpFoundation\Tests\RequestMatcher; use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\RequestMatcher\SchemeRequestMatcher; class SchemeRequestMatcherTest extends TestCase { #[DataProvider('getData')] public function test(string $requestScheme, array|string $matcherScheme, bool $isMatch) { $httpRequest = Request::create(''); $httpsRequest = Request::create('', 'get', [], [], [], ['HTTPS' => 'on']); $matcher = new SchemeRequestMatcher($matcherScheme); if ($isMatch) { if ('https' === $requestScheme) { $this->assertFalse($matcher->matches($httpRequest)); $this->assertTrue($matcher->matches($httpsRequest)); } else { $this->assertFalse($matcher->matches($httpsRequest)); $this->assertTrue($matcher->matches($httpRequest)); } } else { $this->assertFalse($matcher->matches($httpRequest)); $this->assertFalse($matcher->matches($httpsRequest)); } } public function testAlwaysMatchesOnParamsHeaders() { $matcher = new SchemeRequestMatcher([]); $request = Request::create('sftp://example.com'); $this->assertTrue($matcher->matches($request)); } public static function getData() { return [ ['http', 'http', true], ['http', 'HTTP', true], ['https', 'https', true], ['http', 'ftp', false], ['http', 'ftp, http', true], ['http', 'FTP, HTTP', true], ['http', ['http', 'ftp'], true], ['http', ['http,ftp'], true], ]; } }