summaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorPhilipp Hagemeister <[email protected]>2014-11-02 11:23:40 +0100
committerPhilipp Hagemeister <[email protected]>2014-11-02 11:23:42 +0100
commit8c25f81beea169c9d6540eea1a6f71dc045da6ed (patch)
treef092b84995976340c8ed5302026fac8a6313a686 /test
parent4c83c96795b1bf469b0e290fc1cbbed6f49f04bf (diff)
downloadyoutube-dl-8c25f81beea169c9d6540eea1a6f71dc045da6ed.tar.gz
youtube-dl-8c25f81beea169c9d6540eea1a6f71dc045da6ed.zip
[util] Move compatibility functions out of util
utils is large enough without these compatibility functions. Everything that is present in newer versions of Python (i.e. with dev Python it's just an import) goes into compat.py . Everything else (i.e. youtube-dl-specific helpers) goes into utils.py .
Diffstat (limited to 'test')
-rw-r--r--test/test_compat.py44
-rw-r--r--test/test_utils.py14
2 files changed, 44 insertions, 14 deletions
diff --git a/test/test_compat.py b/test/test_compat.py
new file mode 100644
index 000000000..d1a33ddc9
--- /dev/null
+++ b/test/test_compat.py
@@ -0,0 +1,44 @@
+#!/usr/bin/env python
+# coding: utf-8
+
+from __future__ import unicode_literals
+
+# Allow direct execution
+import os
+import sys
+import unittest
+sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
+
+
+from youtube_dl.utils import get_filesystem_encoding
+from youtube_dl.compat import (
+ compat_getenv,
+ compat_expanduser,
+)
+
+
+class TestCompat(unittest.TestCase):
+ def test_compat_getenv(self):
+ test_str = 'тест'
+ os.environ['YOUTUBE-DL-TEST'] = (
+ test_str if sys.version_info >= (3, 0)
+ else test_str.encode(get_filesystem_encoding()))
+ self.assertEqual(compat_getenv('YOUTUBE-DL-TEST'), test_str)
+
+ def test_compat_expanduser(self):
+ test_str = 'C:\Documents and Settings\тест\Application Data'
+ os.environ['HOME'] = (
+ test_str if sys.version_info >= (3, 0)
+ else test_str.encode(get_filesystem_encoding()))
+ self.assertEqual(compat_expanduser('~'), test_str)
+
+ def test_all_present(self):
+ import youtube_dl.compat
+ all_names = youtube_dl.compat.__all__
+ present_names = set(filter(
+ lambda c: '_' in c and not c.startswith('_'),
+ dir(youtube_dl.compat)))
+ self.assertEqual(all_names, sorted(present_names))
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_utils.py b/test/test_utils.py
index 0b31d1a39..338701f4c 100644
--- a/test/test_utils.py
+++ b/test/test_utils.py
@@ -46,8 +46,6 @@ from youtube_dl.utils import (
escape_url,
js_to_json,
get_filesystem_encoding,
- compat_getenv,
- compat_expanduser,
)
@@ -359,17 +357,5 @@ class TestUtil(unittest.TestCase):
on = js_to_json('{"abc": true}')
self.assertEqual(json.loads(on), {'abc': True})
- def test_compat_getenv(self):
- test_str = 'тест'
- os.environ['YOUTUBE-DL-TEST'] = (test_str if sys.version_info >= (3, 0)
- else test_str.encode(get_filesystem_encoding()))
- self.assertEqual(compat_getenv('YOUTUBE-DL-TEST'), test_str)
-
- def test_compat_expanduser(self):
- test_str = 'C:\Documents and Settings\тест\Application Data'
- os.environ['HOME'] = (test_str if sys.version_info >= (3, 0)
- else test_str.encode(get_filesystem_encoding()))
- self.assertEqual(compat_expanduser('~'), test_str)
-
if __name__ == '__main__':
unittest.main()