~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/selftest/testmerge3.py

  • Committer: Robert Collins
  • Date: 2005-10-08 00:50:43 UTC
  • mfrom: (1185.1.53)
  • Revision ID: robertc@robertcollins.net-20051008005043-a6657ae397750425
merge in UnsupportedFormatError feature

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
 
18
 
from bzrlib.tests import TestCaseInTempDir, TestCase
 
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)