webmentions/tests/UrlTest.php

29 lines
978 B
PHP
Raw Normal View History

<?php
use Lewisdale\Webmentions\Url;
use PHPUnit\Framework\Attributes\TestWith;
use PHPUnit\Framework\TestCase;
class UrlTest extends TestCase
{
#[TestWith(["https://lewisdale.dev/post/a-post", "lewisdale.dev", true])]
#[TestWith(["https://css-tricks.com/test/host", "lewisdale.dev", false])]
#[TestWith(["ht:/lewisdale.dev/not-a-valid-url", "lewisdale.dev", false])]
public function testItValidatesAHost(string $source, string $target, bool $expected)
{
$this->assertEquals($expected, Url::matchesHost($source, $target, $expected));
}
#[TestWith(["http://a-valid-http-url.com", true])]
#[TestWith(["ht://an-invalid-url.com", false])]
#[TestWith(["https://no-tld./", false])]
#[TestWith(["https://a-valid-https.com", true])]
#[TestWith(["ftp://wrong-protocol.com", false])]
public function testItValidatesAUrl(string $url, bool $expected)
{
$this->assertEquals($expected, Url::validateUrl($url));
}
}