. */ namespace SP\Tests\Html; use Faker\Factory; use PHPUnit\Framework\TestCase; use SP\Html\Html; /** * Class HtmlTest */ class HtmlTest extends TestCase { private static $faker; public static function setUpBeforeClass(): void { parent::setUpBeforeClass(); self::$faker = Factory::create(); } public function testGetSafeUrlOk() { $url = self::$faker->url; $this->assertEquals($url, Html::getSafeUrl($url)); } /** * @dataProvider urlProvider * @return void */ public function testGetSafeUrlEncoded(string $url) { $this->assertEquals(0, preg_match('/["<>]+/', Html::getSafeUrl($url))); } private function urlProvider(): array { return [ ['https://foo.com/'], ['https://foo.com/>'], ['https://foo.com/">'], ['https://foo.com/"%20onClick="alert(\'TEST\'")'], ['https://foo.com/" onClick="alert(\'TEST\')"'], ]; } }