utils_test.py 917 B

1234567891011121314151617181920212223242526272829303132
  1. # encoding: utf-8
  2. from __future__ import unicode_literals
  3. from .. import unittest
  4. from compose import utils
  5. class JsonSplitterTestCase(unittest.TestCase):
  6. def test_json_splitter_no_object(self):
  7. data = '{"foo": "bar'
  8. self.assertEqual(utils.json_splitter(data), (None, None))
  9. def test_json_splitter_with_object(self):
  10. data = '{"foo": "bar"}\n \n{"next": "obj"}'
  11. self.assertEqual(
  12. utils.json_splitter(data),
  13. ({'foo': 'bar'}, '{"next": "obj"}')
  14. )
  15. class StreamAsTextTestCase(unittest.TestCase):
  16. def test_stream_with_non_utf_unicode_character(self):
  17. stream = [b'\xed\xf3\xf3']
  18. output, = utils.stream_as_text(stream)
  19. assert output == '���'
  20. def test_stream_with_utf_character(self):
  21. stream = ['ěĝ'.encode('utf-8')]
  22. output, = utils.stream_as_text(stream)
  23. assert output == 'ěĝ'