12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- # -*- coding: utf-8 -*-
- import os
- from grass.gunittest.case import TestCase
- from grass.gunittest.main import test
- from grass.script import utils
- def change_environ(**envs):
- NOT_FOUND = 'Not found!'
- original_envs = {k: os.environ.get(k, NOT_FOUND) for k in envs.keys()}
- def work_with_env(func):
- def wrap_func(*args, **kwargs):
- # modify the environment variables
- for k, v in envs.items():
- os.environ[k] = v
- # execute
- func(*args, **kwargs)
- # restore the environment variables
- for k, v in envs.items():
- oval = original_envs[k]
- if oval == NOT_FOUND:
- os.environ.pop(k)
- else:
- os.environ[k] = oval
- return wrap_func
- return work_with_env
- class TestEncode(TestCase):
- """Tests function `encode` that convert value to bytes."""
- def test_bytes(self):
- self.assertEqual(b'text', utils.encode(b'text'))
- def test_unicode(self):
- self.assertEqual(b'text', utils.encode(u'text'))
- @change_environ(LC_ALL='C')
- def test_bytes_LC_ALL_C(self):
- self.assertEqual(b'text', utils.encode(b'text'))
- @change_environ(LC_ALL='C')
- def test_unicode_LC_ALL_C(self):
- self.assertEqual(b'text', utils.encode(u'text'))
- class TestDecode(TestCase):
- """Tests function `encode` that convert value to unicode."""
- def test_bytes(self):
- self.assertEqual(u'text', utils.decode(b'text'))
- def test_unicode(self):
- self.assertEqual(u'text', utils.decode(u'text'))
- @change_environ(LC_ALL='C')
- def test_bytes_LC_ALL_C(self):
- self.assertEqual(u'text', utils.decode(b'text'))
- @change_environ(LC_ALL='C')
- def test_unicode_LC_ALL_C(self):
- self.assertEqual(u'text', utils.decode(u'text'))
- if __name__ == '__main__':
- test()
|