759
759
class TestChunksToLines(TestCase):
761
def assertChunksToLines(self, lines, chunks):
762
self.assertEqual(lines, osutils.chunks_to_lines(chunks))
764
def test_fulltext_chunk_to_lines(self):
765
self.assertChunksToLines(['foo\n', 'bar\r\n', 'ba\rz\n'],
766
['foo\nbar\r\nba\rz\n'])
768
def test_lines_to_lines(self):
769
self.assertChunksToLines(['foo\n', 'bar\r\n', 'ba\rz\n'],
770
['foo\n', 'bar\r\n', 'ba\rz\n'])
772
def test_no_final_newline(self):
773
self.assertChunksToLines(['foo\n', 'bar\r\n', 'ba\rz'],
774
['foo\nbar\r\nba\rz'])
775
self.assertChunksToLines(['foo\n', 'bar\r\n', 'ba\rz'],
776
['foo\n', 'bar\r\n', 'ba\rz'])
778
def test_mixed(self):
779
self.assertChunksToLines(['foo\n', 'bar\r\n', 'ba\rz'],
780
['foo\n', 'bar\r\nba\r', 'z'])
781
self.assertChunksToLines(['foo\n', 'bar\r\n', 'ba\rz'],
782
['foo\nb', 'a', 'r\r\nba\r', 'z'])
783
self.assertChunksToLines(['foo\n', 'bar\r\n', 'ba\rz'],
784
['foo\nbar\r\nba', '\r', 'z'])
786
self.assertChunksToLines(['foo\n', 'bar\r\n', 'ba\rz'],
787
['foo\n', '', 'bar\r\nba', '\r', 'z'])
761
def test_smoketest(self):
762
self.assertEqual(['foo\n', 'bar\n', 'baz\n'],
763
osutils.chunks_to_lines(['foo\nbar', '\nbaz\n']))
764
self.assertEqual(['foo\n', 'bar\n', 'baz\n'],
765
osutils.chunks_to_lines(['foo\n', 'bar\n', 'baz\n']))
767
def test_is_compiled(self):
768
from bzrlib.tests.test__chunks_to_lines import CompiledChunksToLinesFeature
769
if CompiledChunksToLinesFeature:
770
from bzrlib._chunks_to_lines_pyx import chunks_to_lines
772
from bzrlib._chunks_to_lines_py import chunks_to_lines
773
self.assertIs(chunks_to_lines, osutils.chunks_to_lines)
790
776
class TestSplitLines(TestCase):