38 lines
1.6 KiB
PHP
38 lines
1.6 KiB
PHP
<?PHP
|
|
/**
|
|
* Tests for MD_STD_IN.
|
|
*
|
|
* @author Joshua Ramon Enslin <joshua@museum-digital.de>
|
|
*/
|
|
declare(strict_types = 1);
|
|
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
/**
|
|
* Tests for MD_STD_IN.
|
|
*/
|
|
final class MD_STD_IN_Test extends TestCase {
|
|
/**
|
|
* Function for testing sanitize_url().
|
|
*
|
|
* @return void
|
|
*/
|
|
public function testSanitizeUrlWorksBasically():void {
|
|
|
|
// Ensure empty inputs return empty output
|
|
self::assertEquals("", MD_STD_IN::sanitize_url(""));
|
|
self::assertEquals("https://www.museum-digital.org", MD_STD_IN::sanitize_url("https://www.museum-digital.org"));
|
|
|
|
// Ensure that cyrillic characters are accepted
|
|
self::assertEquals("https://sr.wikipedia.org/wiki/%D0%91%D0%B5%D0%BE%D0%B3%D1%80%D0%B0%D0%B4", MD_STD_IN::sanitize_url("https://sr.wikipedia.org/wiki/%D0%91%D0%B5%D0%BE%D0%B3%D1%80%D0%B0%D0%B4"));
|
|
self::assertEquals("https://sr.wikipedia.org/wiki/%D0%91%D0%B5%D0%BE%D0%B3%D1%80%D0%B0%D0%B4", MD_STD_IN::sanitize_url("https://sr.wikipedia.org/wiki/Београд"));
|
|
|
|
self::assertEquals("https://username:password@sr.wikipedia.org:9000/wiki/%D0%91%D0%B5%D0%BE%D0%B3%D1%80%D0%B0%D0%B4", MD_STD_IN::sanitize_url("https://username:password@sr.wikipedia.org:9000/wiki/%D0%91%D0%B5%D0%BE%D0%B3%D1%80%D0%B0%D0%B4"));
|
|
self::assertEquals("https://username:password@sr.wikipedia.org:9000/wiki/%D0%91%D0%B5%D0%BE%D0%B3%D1%80%D0%B0%D0%B4", MD_STD_IN::sanitize_url("https://username:password@sr.wikipedia.org:9000/wiki/Београд"));
|
|
|
|
self::expectException(MDInvalidUrl::class);
|
|
MD_STD_IN::sanitize_url("h ttps://www.museum-digital.org");
|
|
|
|
}
|
|
}
|