%PDF- %PDF-
Direktori : /www/varak.net/nextcloud.varak.net/apps_old/apps/bookmarks/vendor/rowbot/url/tests/ |
Current File : //www/varak.net/nextcloud.varak.net/apps_old/apps/bookmarks/vendor/rowbot/url/tests/SchemeTest.php |
<?php declare(strict_types=1); namespace Rowbot\URL\Tests; use PHPUnit\Framework\TestCase; use ReflectionClass; use Rowbot\URL\Component\Scheme; class SchemeTest extends TestCase { public function specialSchemeNonNullDefaultPortProvider(): iterable { $reflection = new ReflectionClass(Scheme::class); $schemes = $reflection->getConstant('SPECIAL_SCHEMES'); foreach ($schemes as $scheme => $port) { if ($port === null) { continue; } yield [$scheme, $port]; } } /** * @dataProvider specialSchemeNonNullDefaultPortProvider */ public function testIsDefaultPortReturnsTrueForNonNullPortSpecialSchemes(string $scheme, int $port): void { $scheme = new Scheme($scheme); self::assertTrue($scheme->isDefaultPort($port)); } public function schemeDefaultPortProvider(): array { return [ ['sftp', 22], ['ssh', 22], ['smtp', 25], ['file', null], // special scheme, but has no default port ]; } /** * @dataProvider schemeDefaultPortProvider */ public function testIsDefaultPortReturnsFalseForNonSpecialSchemesAndNullPorts(string $scheme, ?int $port): void { $scheme = new Scheme($scheme); self::assertFalse($scheme->isDefaultPort($port)); } }