def test_examples(): '''test README examples''' assert check_url('https://github.com/adbar/courlan') == ('https://github.com/adbar/courlan', 'github.com') assert check_url('https://httpbin.org/redirect-to?url=http%3A%2F%2Fexample.org', strict=True) == ('https://httpbin.org/redirect-to', 'httpbin.org') assert clean_url('HTTPS://WWW.DWDS.DE:80/') == 'https://www.dwds.de' assert validate_url('http://1234') == (False, None) assert validate_url('http://www.example.org/')[0] is True assert normalize_url('http://test.net/foo.html?utm_source=twitter&post=abc&page=2#fragment', strict=True) == 'http://test.net/foo.html?page=2&post=abc'
def test_qelems(): assert normalize_url('http://test.net/foo.html?utm_source=twitter') == 'http://test.net/foo.html?utm_source=twitter' assert normalize_url('http://test.net/foo.html?utm_source=twitter', strict=True) == 'http://test.net/foo.html' assert normalize_url('http://test.net/foo.html?utm_source=twitter&post=abc&page=2') == 'http://test.net/foo.html?page=2&post=abc&utm_source=twitter' assert normalize_url('http://test.net/foo.html?utm_source=twitter&post=abc&page=2', strict=True) == 'http://test.net/foo.html?page=2&post=abc' assert normalize_url('http://test.net/foo.html?page=2&itemid=10&lang=en') == 'http://test.net/foo.html?itemid=10&lang=en&page=2' with pytest.raises(ValueError): assert normalize_url('http://test.net/foo.html?page=2&lang=en', language='de') assert normalize_url('http://www.evolanguage.de/index.php?page=deutschkurse_fuer_aerzte&language=ES', language='de')
def test_normalization(): assert normalize_url('HTTPS://WWW.DWDS.DE/') == 'https://www.dwds.de/' assert normalize_url('http://test.net/foo.html#bar', strict=True) == 'http://test.net/foo.html' assert normalize_url('http://test.net/foo.html#bar', strict=False) == 'http://test.net/foo.html#bar' assert normalize_url('http://test.net/foo.html#:~:text=night-,vision', strict=True) == 'http://test.net/foo.html' assert normalize_url('http://www.example.org:80/test.html') == 'http://www.example.org/test.html' assert normalize_url('https://hanxiao.io//404.html') == 'https://hanxiao.io/404.html'