Mercurial > public > mercurial-scm > hg-stable
comparison tests/test-simplemerge.py @ 48590:12ac4401ff7d
simplemerge: simplify and rename `render_markers()`
`render_markers()` now always renders minimized 2-way markers, so
let's simplify and rename it accordingly.
Differential Revision: https://phab.mercurial-scm.org/D11979
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Tue, 11 Jan 2022 21:56:27 -0800 |
parents | 2dbee604a4f0 |
children | 7ed4c4753891 |
comparison
equal
deleted
inserted
replaced
48589:69e76b2aad3d | 48590:12ac4401ff7d |
---|---|
178 self.assertEqual(list(m3.find_sync_regions()), [(0, 0, 2, 2, 0, 0)]) | 178 self.assertEqual(list(m3.find_sync_regions()), [(0, 0, 2, 2, 0, 0)]) |
179 | 179 |
180 self.assertEqual(list(m3.merge_regions()), [(b'a', 0, 2)]) | 180 self.assertEqual(list(m3.merge_regions()), [(b'a', 0, 2)]) |
181 | 181 |
182 self.assertEqual( | 182 self.assertEqual( |
183 simplemerge.render_markers(m3), ([b'aaa', b'bbb'], False) | 183 simplemerge.render_minimized(m3), ([b'aaa', b'bbb'], False) |
184 ) | 184 ) |
185 | 185 |
186 def test_no_conflicts(self): | 186 def test_no_conflicts(self): |
187 """No conflicts because only one side changed""" | 187 """No conflicts because only one side changed""" |
188 m3 = Merge3( | 188 m3 = Merge3( |
205 [b'aaa\n', b'bbb\n', b'222\n'], | 205 [b'aaa\n', b'bbb\n', b'222\n'], |
206 [b'aaa\n', b'bbb\n'], | 206 [b'aaa\n', b'bbb\n'], |
207 ) | 207 ) |
208 | 208 |
209 self.assertEqual( | 209 self.assertEqual( |
210 b''.join(simplemerge.render_markers(m3)[0]), b'aaa\nbbb\n222\n' | 210 b''.join(simplemerge.render_minimized(m3)[0]), b'aaa\nbbb\n222\n' |
211 ) | 211 ) |
212 | 212 |
213 def test_append_b(self): | 213 def test_append_b(self): |
214 m3 = Merge3( | 214 m3 = Merge3( |
215 [b'aaa\n', b'bbb\n'], | 215 [b'aaa\n', b'bbb\n'], |
216 [b'aaa\n', b'bbb\n'], | 216 [b'aaa\n', b'bbb\n'], |
217 [b'aaa\n', b'bbb\n', b'222\n'], | 217 [b'aaa\n', b'bbb\n', b'222\n'], |
218 ) | 218 ) |
219 | 219 |
220 self.assertEqual( | 220 self.assertEqual( |
221 b''.join(simplemerge.render_markers(m3)[0]), b'aaa\nbbb\n222\n' | 221 b''.join(simplemerge.render_minimized(m3)[0]), b'aaa\nbbb\n222\n' |
222 ) | 222 ) |
223 | 223 |
224 def test_append_agreement(self): | 224 def test_append_agreement(self): |
225 m3 = Merge3( | 225 m3 = Merge3( |
226 [b'aaa\n', b'bbb\n'], | 226 [b'aaa\n', b'bbb\n'], |
227 [b'aaa\n', b'bbb\n', b'222\n'], | 227 [b'aaa\n', b'bbb\n', b'222\n'], |
228 [b'aaa\n', b'bbb\n', b'222\n'], | 228 [b'aaa\n', b'bbb\n', b'222\n'], |
229 ) | 229 ) |
230 | 230 |
231 self.assertEqual( | 231 self.assertEqual( |
232 b''.join(simplemerge.render_markers(m3)[0]), b'aaa\nbbb\n222\n' | 232 b''.join(simplemerge.render_minimized(m3)[0]), b'aaa\nbbb\n222\n' |
233 ) | 233 ) |
234 | 234 |
235 def test_append_clash(self): | 235 def test_append_clash(self): |
236 m3 = Merge3( | 236 m3 = Merge3( |
237 [b'aaa\n', b'bbb\n'], | 237 [b'aaa\n', b'bbb\n'], |
238 [b'aaa\n', b'bbb\n', b'222\n'], | 238 [b'aaa\n', b'bbb\n', b'222\n'], |
239 [b'aaa\n', b'bbb\n', b'333\n'], | 239 [b'aaa\n', b'bbb\n', b'333\n'], |
240 ) | 240 ) |
241 | 241 |
242 ml, conflicts = simplemerge.render_markers( | 242 ml, conflicts = simplemerge.render_minimized( |
243 m3, | 243 m3, |
244 name_a=b'a', | 244 name_a=b'a', |
245 name_b=b'b', | 245 name_b=b'b', |
246 start_marker=b'<<', | 246 start_marker=b'<<', |
247 mid_marker=b'--', | 247 mid_marker=b'--', |
257 [b'aaa\n', b'bbb\n'], | 257 [b'aaa\n', b'bbb\n'], |
258 [b'aaa\n', b'222\n', b'bbb\n'], | 258 [b'aaa\n', b'222\n', b'bbb\n'], |
259 [b'aaa\n', b'222\n', b'bbb\n'], | 259 [b'aaa\n', b'222\n', b'bbb\n'], |
260 ) | 260 ) |
261 | 261 |
262 ml, conflicts = simplemerge.render_markers( | 262 ml, conflicts = simplemerge.render_minimized( |
263 m3, | 263 m3, |
264 name_a=b'a', | 264 name_a=b'a', |
265 name_b=b'b', | 265 name_b=b'b', |
266 start_marker=b'<<', | 266 start_marker=b'<<', |
267 mid_marker=b'--', | 267 mid_marker=b'--', |
298 (b'conflict', ([], [b'111\n'], [b'222\n'])), | 298 (b'conflict', ([], [b'111\n'], [b'222\n'])), |
299 (b'unchanged', [b'bbb\n']), | 299 (b'unchanged', [b'bbb\n']), |
300 ], | 300 ], |
301 ) | 301 ) |
302 | 302 |
303 ml, conflicts = simplemerge.render_markers( | 303 ml, conflicts = simplemerge.render_minimized( |
304 m3, | 304 m3, |
305 name_a=b'a', | 305 name_a=b'a', |
306 name_b=b'b', | 306 name_b=b'b', |
307 start_marker=b'<<', | 307 start_marker=b'<<', |
308 mid_marker=b'--', | 308 mid_marker=b'--', |
347 ) | 347 ) |
348 | 348 |
349 def test_merge_poem(self): | 349 def test_merge_poem(self): |
350 """Test case from diff3 manual""" | 350 """Test case from diff3 manual""" |
351 m3 = Merge3(TZU, LAO, TAO) | 351 m3 = Merge3(TZU, LAO, TAO) |
352 ml, conflicts = simplemerge.render_markers(m3, b'LAO', b'TAO') | 352 ml, conflicts = simplemerge.render_minimized(m3, b'LAO', b'TAO') |
353 self.log(b'merge result:') | 353 self.log(b'merge result:') |
354 self.log(b''.join(ml)) | 354 self.log(b''.join(ml)) |
355 self.assertEqual(ml, MERGED_RESULT) | 355 self.assertEqual(ml, MERGED_RESULT) |
356 | 356 |
357 def test_binary(self): | 357 def test_binary(self): |
365 m3 = Merge3( | 365 m3 = Merge3( |
366 base_text.splitlines(True), | 366 base_text.splitlines(True), |
367 other_text.splitlines(True), | 367 other_text.splitlines(True), |
368 this_text.splitlines(True), | 368 this_text.splitlines(True), |
369 ) | 369 ) |
370 m_lines, conflicts = simplemerge.render_markers(m3, b'OTHER', b'THIS') | 370 m_lines, conflicts = simplemerge.render_minimized(m3, b'OTHER', b'THIS') |
371 self.assertEqual( | 371 self.assertEqual( |
372 b'<<<<<<< OTHER\r\nc\r\n=======\r\nb\r\n' | 372 b'<<<<<<< OTHER\r\nc\r\n=======\r\nb\r\n' |
373 b'>>>>>>> THIS\r\n'.splitlines(True), | 373 b'>>>>>>> THIS\r\n'.splitlines(True), |
374 m_lines, | 374 m_lines, |
375 ) | 375 ) |
381 m3 = Merge3( | 381 m3 = Merge3( |
382 base_text.splitlines(True), | 382 base_text.splitlines(True), |
383 other_text.splitlines(True), | 383 other_text.splitlines(True), |
384 this_text.splitlines(True), | 384 this_text.splitlines(True), |
385 ) | 385 ) |
386 m_lines, conflicts = simplemerge.render_markers(m3, b'OTHER', b'THIS') | 386 m_lines, conflicts = simplemerge.render_minimized(m3, b'OTHER', b'THIS') |
387 self.assertEqual( | 387 self.assertEqual( |
388 b'<<<<<<< OTHER\rc\r=======\rb\r' | 388 b'<<<<<<< OTHER\rc\r=======\rb\r' |
389 b'>>>>>>> THIS\r'.splitlines(True), | 389 b'>>>>>>> THIS\r'.splitlines(True), |
390 m_lines, | 390 m_lines, |
391 ) | 391 ) |