split_buffer_test.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. from __future__ import unicode_literals
  2. from __future__ import absolute_import
  3. from fig.cli.utils import split_buffer
  4. from .. import unittest
  5. class SplitBufferTest(unittest.TestCase):
  6. def test_single_line_chunks(self):
  7. def reader():
  8. yield "abc\n"
  9. yield "def\n"
  10. yield "ghi\n"
  11. self.assertEqual(list(split_buffer(reader(), '\n')), ["abc\n", "def\n", "ghi\n"])
  12. def test_no_end_separator(self):
  13. def reader():
  14. yield "abc\n"
  15. yield "def\n"
  16. yield "ghi"
  17. self.assertEqual(list(split_buffer(reader(), '\n')), ["abc\n", "def\n", "ghi"])
  18. def test_multiple_line_chunk(self):
  19. def reader():
  20. yield "abc\ndef\nghi"
  21. self.assertEqual(list(split_buffer(reader(), '\n')), ["abc\n", "def\n", "ghi"])
  22. def test_chunked_line(self):
  23. def reader():
  24. yield "a"
  25. yield "b"
  26. yield "c"
  27. yield "\n"
  28. yield "d"
  29. self.assertEqual(list(split_buffer(reader(), '\n')), ["abc\n", "d"])