~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/selftest/testmerge3.py

  • Committer: Martin Pool
  • Date: 2005-09-13 23:08:19 UTC
  • Revision ID: mbp@sourcefrog.net-20050913230819-6ceae96050d32faa
ignore .bzr-shelf

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 
18
18
from bzrlib.selftest import TestCaseInTempDir, TestCase
19
19
from bzrlib.merge3 import Merge3
20
 
from bzrlib.errors import CantReprocessAndShowBase
21
20
 
22
21
def split_lines(t):
23
22
    from cStringIO import StringIO
301
300
        self.log('merge result:')
302
301
        self.log(''.join(ml))
303
302
        self.assertEquals(ml, MERGED_RESULT)
304
 
 
305
 
    def test_minimal_conflicts(self):
306
 
        """Reprocessing"""
307
 
        base_text = ("a\n" * 20).splitlines(True)
308
 
        this_text = ("a\n"*10+"b\n" * 10).splitlines(True)
309
 
        other_text = ("a\n"*10+"c\n"+"b\n" * 8 + "c\n").splitlines(True)
310
 
        m3 = Merge3(base_text, other_text, this_text)
311
 
        m_lines = m3.merge_lines('OTHER', 'THIS', reprocess=True)
312
 
        merged_text = "".join(list(m_lines))
313
 
        optimal_text = "a\n" * 10 + "<<<<<<< OTHER\nc\n=======\n>>>>>>> THIS"\
314
 
            + "\n" + 8* "b\n" + "<<<<<<< OTHER\nc\n=======\nb\nb\n>>>>>>>"\
315
 
            + " THIS\n"
316
 
        self.assertEqualDiff(merged_text, optimal_text)
317
 
 
318
 
    def test_reprocess_and_base(self):
319
 
        """Reprocessing and showing base breaks correctly"""
320
 
        base_text = ("a\n" * 20).splitlines(True)
321
 
        this_text = ("a\n"*10+"b\n" * 10).splitlines(True)
322
 
        other_text = ("a\n"*10+"c\n"+"b\n" * 8 + "c\n").splitlines(True)
323
 
        m3 = Merge3(base_text, other_text, this_text)
324
 
        m_lines = m3.merge_lines('OTHER', 'THIS', reprocess=True, 
325
 
                                 base_marker='|||||||')
326
 
        self.assertRaises(CantReprocessAndShowBase, list, m_lines)