|
|
@ -39,6 +39,7 @@ from youtube_dl.utils import ( |
|
|
|
read_batch_urls, |
|
|
|
sanitize_filename, |
|
|
|
sanitize_path, |
|
|
|
sanitize_url_path_consecutive_slashes, |
|
|
|
shell_quote, |
|
|
|
smuggle_url, |
|
|
|
str_to_int, |
|
|
@ -55,7 +56,6 @@ from youtube_dl.utils import ( |
|
|
|
xpath_with_ns, |
|
|
|
render_table, |
|
|
|
match_str, |
|
|
|
url_sanitize_consecutive_slashes, |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
@ -169,6 +169,26 @@ class TestUtil(unittest.TestCase): |
|
|
|
self.assertEqual(sanitize_path('./abc'), 'abc') |
|
|
|
self.assertEqual(sanitize_path('./../abc'), '..\\abc') |
|
|
|
|
|
|
|
def test_sanitize_url_path_consecutive_slashes(self): |
|
|
|
self.assertEqual( |
|
|
|
sanitize_url_path_consecutive_slashes('http://hostname/foo//bar/filename.html'), |
|
|
|
'http://hostname/foo/bar/filename.html') |
|
|
|
self.assertEqual( |
|
|
|
sanitize_url_path_consecutive_slashes('http://hostname//foo/bar/filename.html'), |
|
|
|
'http://hostname/foo/bar/filename.html') |
|
|
|
self.assertEqual( |
|
|
|
sanitize_url_path_consecutive_slashes('http://hostname//'), |
|
|
|
'http://hostname/') |
|
|
|
self.assertEqual( |
|
|
|
sanitize_url_path_consecutive_slashes('http://hostname/foo/bar/filename.html'), |
|
|
|
'http://hostname/foo/bar/filename.html') |
|
|
|
self.assertEqual( |
|
|
|
sanitize_url_path_consecutive_slashes('http://hostname/'), |
|
|
|
'http://hostname/') |
|
|
|
self.assertEqual( |
|
|
|
sanitize_url_path_consecutive_slashes('http://hostname/abc//'), |
|
|
|
'http://hostname/abc/') |
|
|
|
|
|
|
|
def test_ordered_set(self): |
|
|
|
self.assertEqual(orderedSet([1, 1, 2, 3, 4, 4, 5, 6, 7, 3, 5]), [1, 2, 3, 4, 5, 6, 7]) |
|
|
|
self.assertEqual(orderedSet([]), []) |
|
|
@ -539,21 +559,6 @@ ffmpeg version 2.4.4 Copyright (c) 2000-2014 the FFmpeg ...'''), '2.4.4') |
|
|
|
'like_count > 100 & dislike_count <? 50 & description', |
|
|
|
{'like_count': 190, 'dislike_count': 10})) |
|
|
|
|
|
|
|
def test_url_sanitize_consecutive_slashes(self): |
|
|
|
self.assertEqual(url_sanitize_consecutive_slashes( |
|
|
|
'http://hostname/foo//bar/filename.html'), |
|
|
|
'http://hostname/foo/bar/filename.html') |
|
|
|
self.assertEqual(url_sanitize_consecutive_slashes( |
|
|
|
'http://hostname//foo/bar/filename.html'), |
|
|
|
'http://hostname/foo/bar/filename.html') |
|
|
|
self.assertEqual(url_sanitize_consecutive_slashes( |
|
|
|
'http://hostname//'), 'http://hostname/') |
|
|
|
self.assertEqual(url_sanitize_consecutive_slashes( |
|
|
|
'http://hostname/foo/bar/filename.html'), |
|
|
|
'http://hostname/foo/bar/filename.html') |
|
|
|
self.assertEqual(url_sanitize_consecutive_slashes( |
|
|
|
'http://hostname/'), 'http://hostname/') |
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__': |
|
|
|
unittest.main() |