]>
jfr.im git - yt-dlp.git/blob - test/test_utils.py
1 # -*- coding: utf-8 -*-
3 # Various small unit tests
7 #from youtube_dl.utils import htmlentity_transform
8 from youtube_dl
.utils
import timeconvert
9 from youtube_dl
.utils
import sanitize_filename
10 from youtube_dl
.utils
import unescapeHTML
11 from youtube_dl
.utils
import orderedSet
14 class TestUtil(unittest
.TestCase
):
15 def test_timeconvert(self
):
16 self
.assertIsNone(timeconvert(''))
17 self
.assertIsNone(timeconvert('bougrg'))
19 def test_sanitize_filename(self
):
20 self
.assertEqual(sanitize_filename(u
'abc'), u
'abc')
21 self
.assertEqual(sanitize_filename(u
'abc_d-e'), u
'abc_d-e')
23 self
.assertEqual(sanitize_filename(u
'123'), u
'123')
25 self
.assertNotIn(u
'/', sanitize_filename(u
'abc/de'))
26 self
.assertNotIn(u
'abc', sanitize_filename(u
'abc/de'))
27 self
.assertIn(u
'de', sanitize_filename(u
'abc/de'))
28 self
.assertNotIn(u
'/', sanitize_filename(u
'abc/de///'))
30 self
.assertIn(u
'\\', sanitize_filename(u
'abc\\de'))
31 self
.assertIn(u
'abc', sanitize_filename(u
'abc\\de'))
32 self
.assertIn(u
'de', sanitize_filename(u
'abc\\de'))
34 self
.assertEqual(sanitize_filename(u
'ä'), u
'ä')
35 self
.assertEqual(sanitize_filename(u
'кириллица'), u
'кириллица')
37 def test_ordered_set(self
):
38 self
.assertEqual(orderedSet([1,1,2,3,4,4,5,6,7,3,5]), [1,2,3,4,5,6,7])
39 self
.assertEqual(orderedSet([]), [])
40 self
.assertEqual(orderedSet([1]), [1])
41 #keep the list ordered
42 self
.assertEqual(orderedSet([135,1,1,1]), [135,1])
44 def test_unescape_html(self
):
45 self
.assertEqual(unescapeHTML(u
"%20;"), u
"%20;")
46 self
.assertEqual(unescapeHTML(u
"gre&tre&yre"), [u
'gre', u
'tre', u
'yre'])