554
554
timestamp_1ms = round(timestamp, 3)
555
555
self.assertEqual(timestamp_1ms, timestamp)
557
def assertBasisTreeKind(self, kind, tree, file_id):
558
basis = tree.basis_tree()
561
self.assertEqual(kind, basis.kind(file_id))
557
565
def test_commit_kind_changes(self):
558
566
if not osutils.has_symlinks():
559
567
raise tests.TestSkipped('Test requires symlink support')
561
569
os.symlink('target', 'name')
562
570
tree.add('name', 'a-file-id')
563
571
tree.commit('Added a symlink')
564
self.assertEqual('symlink', tree.basis_tree().kind('a-file-id'))
572
self.assertBasisTreeKind('symlink', tree, 'a-file-id')
566
574
os.unlink('name')
567
575
self.build_tree(['name'])
568
576
tree.commit('Changed symlink to file')
569
self.assertEqual('file', tree.basis_tree().kind('a-file-id'))
577
self.assertBasisTreeKind('file', tree, 'a-file-id')
571
579
os.unlink('name')
572
580
os.symlink('target', 'name')
573
581
tree.commit('file to symlink')
574
self.assertEqual('symlink', tree.basis_tree().kind('a-file-id'))
582
self.assertBasisTreeKind('symlink', tree, 'a-file-id')
576
584
os.unlink('name')
578
586
tree.commit('symlink to directory')
579
self.assertEqual('directory', tree.basis_tree().kind('a-file-id'))
587
self.assertBasisTreeKind('directory', tree, 'a-file-id')
582
590
os.symlink('target', 'name')
583
591
tree.commit('directory to symlink')
584
self.assertEqual('symlink', tree.basis_tree().kind('a-file-id'))
592
self.assertBasisTreeKind('symlink', tree, 'a-file-id')
586
594
# prepare for directory <-> file tests
587
595
os.unlink('name')
589
597
tree.commit('symlink to directory')
590
self.assertEqual('directory', tree.basis_tree().kind('a-file-id'))
598
self.assertBasisTreeKind('directory', tree, 'a-file-id')
593
601
self.build_tree(['name'])
594
602
tree.commit('Changed directory to file')
595
self.assertEqual('file', tree.basis_tree().kind('a-file-id'))
603
self.assertBasisTreeKind('file', tree, 'a-file-id')
597
605
os.unlink('name')
599
607
tree.commit('file to directory')
600
self.assertEqual('directory', tree.basis_tree().kind('a-file-id'))
608
self.assertBasisTreeKind('directory', tree, 'a-file-id')
602
610
def test_commit_unversioned_specified(self):
603
611
"""Commit should raise if specified files isn't in basis or worktree"""