Merge remote-tracking branch 'dstftw/escape-non-ascii-in-urls'
[youtube-dl] / test / test_utils.py
index e90caed2961ba24689d135c2fc007ef565a26ae7..3efbed29dd34de570f2db4e6eb4954ec2f4b9c6e 100644 (file)
@@ -40,6 +40,7 @@ from youtube_dl.utils import (
     parse_iso8601,
     strip_jsonp,
     uppercase_escape,
+    limit_length,
     escape_rfc3986,
     escape_url,
 )
@@ -288,6 +289,13 @@ class TestUtil(unittest.TestCase):
         self.assertEqual(uppercase_escape('aä'), 'aä')
         self.assertEqual(uppercase_escape('\\U0001d550'), '𝕐')
 
+    def test_limit_length(self):
+        self.assertEqual(limit_length(None, 12), None)
+        self.assertEqual(limit_length('foo', 12), 'foo')
+        self.assertTrue(
+            limit_length('foo bar baz asd', 12).startswith('foo bar'))
+        self.assertTrue('...' in limit_length('foo bar baz asd', 12))
+
     def test_escape_rfc3986(self):
         reserved = "!*'();:@&=+$,/?#[]"
         unreserved = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.~'