tests/test-simplemerge.py
changeset 4363 2e3c54fb79a3
parent 4362 465b9ea02868
child 4516 96d8a56d4ef9
--- a/tests/test-simplemerge.py	Mon Apr 16 20:17:39 2007 -0300
+++ b/tests/test-simplemerge.py	Mon Apr 16 20:17:39 2007 -0300
@@ -14,10 +14,20 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
+import os
+import unittest
+from unittest import TestCase
+import imp
+import shutil
+from mercurial import util
 
-from bzrlib.tests import TestCaseInTempDir, TestCase
-from bzrlib.merge3 import Merge3
-from bzrlib.errors import CantReprocessAndShowBase, BinaryFile
+# copy simplemerge to the cwd to avoid creating a .pyc file in the source tree
+shutil.copyfile(os.path.join(os.environ['TESTDIR'], os.path.pardir,
+                             'contrib', 'simplemerge'),
+                'simplemerge.py')
+simplemerge = imp.load_source('simplemerge', 'simplemerge.py')
+Merge3 = simplemerge.Merge3
+CantReprocessAndShowBase = simplemerge.CantReprocessAndShowBase
 
 def split_lines(t):
     from cStringIO import StringIO
@@ -92,6 +102,8 @@
 """)
 
 class TestMerge3(TestCase):
+    def log(self, msg):
+        pass
 
     def test_no_changes(self):
         """No conflicts because nothing changed"""
@@ -310,10 +322,11 @@
         m3 = Merge3(base_text, other_text, this_text)
         m_lines = m3.merge_lines('OTHER', 'THIS', reprocess=True)
         merged_text = "".join(list(m_lines))
-        optimal_text = ("a\n" * 10 + "<<<<<<< OTHER\nc\n"
-            + 8* "b\n" + "c\n=======\n"
-            + 10*"b\n" + ">>>>>>> THIS\n")
-        self.assertEqualDiff(optimal_text, merged_text)
+        optimal_text = ("a\n" * 10 + "<<<<<<< OTHER\nc\n=======\n"
+            + ">>>>>>> THIS\n"
+            + 8* "b\n" + "<<<<<<< OTHER\nc\n=======\n"
+            + 2* "b\n" + ">>>>>>> THIS\n")
+        self.assertEquals(optimal_text, merged_text)
 
     def test_minimal_conflicts_unique(self):
         def add_newline(s):
@@ -331,7 +344,7 @@
             + add_newline('OPQRSTUVWXY')
             + ["<<<<<<< OTHER\n2\n=======\nZ\n>>>>>>> THIS\n"]
             )
-        self.assertEqualDiff(optimal_text, merged_text)
+        self.assertEquals(optimal_text, merged_text)
 
     def test_minimal_conflicts_nonunique(self):
         def add_newline(s):
@@ -349,7 +362,7 @@
             + add_newline('lmontfpr')
             + ["<<<<<<< OTHER\nd\n=======\nz\n>>>>>>> THIS\n"]
             )
-        self.assertEqualDiff(optimal_text, merged_text)
+        self.assertEquals(optimal_text, merged_text)
 
     def test_reprocess_and_base(self):
         """Reprocessing and showing base breaks correctly"""
@@ -362,7 +375,7 @@
         self.assertRaises(CantReprocessAndShowBase, list, m_lines)
 
     def test_binary(self):
-        self.assertRaises(BinaryFile, Merge3, ['\x00'], ['a'], ['b'])
+        self.assertRaises(util.Abort, Merge3, ['\x00'], ['a'], ['b'])
 
     def test_dos_text(self):
         base_text = 'a\r\n'
@@ -383,3 +396,14 @@
         m_lines = m3.merge_lines('OTHER', 'THIS')
         self.assertEqual('<<<<<<< OTHER\rc\r=======\rb\r'
             '>>>>>>> THIS\r'.splitlines(True), list(m_lines))
+
+if __name__ == '__main__':
+    # hide the timer
+    import time
+    orig = time.time
+    try:
+        time.time = lambda: 0
+        unittest.main()
+    finally:
+        time.time = orig
+