You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.4 KiB
46 lines
1.4 KiB
#!/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): |
|
old_home = os.environ.get('HOME') |
|
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) |
|
os.environ['HOME'] = old_home |
|
|
|
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))) - set(['unicode_literals']) |
|
self.assertEqual(all_names, sorted(present_names)) |
|
|
|
if __name__ == '__main__': |
|
unittest.main()
|
|
|