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