418
417
transform, root = self.transform()
419
418
trans_id = transform.new_file('name', root, [b'contents'],
421
self.assertEqual(len(transform.find_conflicts()), 0)
420
self.assertEqual(len(transform.find_raw_conflicts()), 0)
422
421
trans_id2 = transform.new_file('name', root, [b'Crontents'], b'toto')
423
self.assertEqual(transform.find_conflicts(),
422
self.assertEqual(transform.find_raw_conflicts(),
424
423
[('duplicate', trans_id, trans_id2, 'name')])
425
424
self.assertRaises(MalformedTransform, transform.apply)
426
425
transform.adjust_path('name', trans_id, trans_id2)
427
self.assertEqual(transform.find_conflicts(),
426
self.assertEqual(transform.find_raw_conflicts(),
428
427
[('non-directory parent', trans_id)])
429
428
tinman_id = transform.trans_id_tree_path('tinman')
430
429
transform.adjust_path('name', tinman_id, trans_id2)
431
self.assertEqual(transform.find_conflicts(),
430
self.assertEqual(transform.find_raw_conflicts(),
432
431
[('unversioned parent', tinman_id),
433
432
('missing parent', tinman_id)])
434
433
lion_id = transform.create_path('lion', root)
435
self.assertEqual(transform.find_conflicts(),
434
self.assertEqual(transform.find_raw_conflicts(),
436
435
[('unversioned parent', tinman_id),
437
436
('missing parent', tinman_id)])
438
437
transform.adjust_path('name', lion_id, trans_id2)
439
self.assertEqual(transform.find_conflicts(),
438
self.assertEqual(transform.find_raw_conflicts(),
440
439
[('unversioned parent', lion_id),
441
440
('missing parent', lion_id)])
442
441
transform.version_file(lion_id, file_id=b"Courage")
443
self.assertEqual(transform.find_conflicts(),
442
self.assertEqual(transform.find_raw_conflicts(),
444
443
[('missing parent', lion_id),
445
444
('versioning no contents', lion_id)])
446
445
transform.adjust_path('name2', root, trans_id2)
447
self.assertEqual(transform.find_conflicts(),
446
self.assertEqual(transform.find_raw_conflicts(),
448
447
[('versioning no contents', lion_id)])
449
448
transform.create_file([b'Contents, okay?'], lion_id)
450
449
transform.adjust_path('name2', trans_id2, trans_id2)
451
self.assertEqual(transform.find_conflicts(),
450
self.assertEqual(transform.find_raw_conflicts(),
452
451
[('parent loop', trans_id2),
453
452
('non-directory parent', trans_id2)])
454
453
transform.adjust_path('name2', root, trans_id2)
455
454
oz_id = transform.new_directory('oz', root)
456
455
transform.set_executability(True, oz_id)
457
self.assertEqual(transform.find_conflicts(),
456
self.assertEqual(transform.find_raw_conflicts(),
458
457
[('unversioned executability', oz_id)])
459
458
transform.version_file(oz_id, file_id=b'oz-id')
460
self.assertEqual(transform.find_conflicts(),
459
self.assertEqual(transform.find_raw_conflicts(),
461
460
[('non-file executability', oz_id)])
462
461
transform.set_executability(None, oz_id)
463
462
tip_id = transform.new_file('tip', oz_id, [b'ozma'], b'tip-id')
925
924
tt.new_file('child,', parent_id, [b'contents2'], b'file-id')
928
def test_find_conflicts_wrong_parent_kind(self):
927
def test_find_raw_conflicts_wrong_parent_kind(self):
929
928
tt = self.prepare_wrong_parent_kind()
929
tt.find_raw_conflicts()
932
931
def test_resolve_conflicts_wrong_existing_parent_kind(self):
933
932
tt = self.prepare_wrong_parent_kind()
934
933
raw_conflicts = resolve_conflicts(tt)
935
934
self.assertEqual({('non-directory parent', 'Created directory',
936
935
'new-3')}, raw_conflicts)
937
cooked_conflicts = cook_conflicts(raw_conflicts, tt)
936
cooked_conflicts = tt.cook_conflicts(raw_conflicts)
938
937
self.assertEqual([NonDirectoryParent('Created directory', 'parent.new',
939
938
b'parent-id')], cooked_conflicts)