~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/selftest/test_ancestry.py

[merge] fix \t in commit messages

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
 
22
22
from bzrlib.selftest import TestCase, TestCaseInTempDir
23
23
from bzrlib.branch import Branch
 
24
from bzrlib.revision import is_ancestor
24
25
 
25
26
 
26
27
class TestAncestry(TestCaseInTempDir):
 
28
 
27
29
    def test_straightline_ancestry(self):
28
30
        """Test ancestry file when just committing."""
29
 
        b = Branch('.', init=True)
30
 
 
31
 
        b.commit(message='one',
32
 
                 allow_pointless=True,
33
 
                 rev_id='tester@foo--1')
34
 
 
35
 
        b.commit(message='two',
36
 
                 allow_pointless=True,
37
 
                 rev_id='tester@foo--2')
 
31
        b = Branch.initialize('.')
 
32
        wt = b.working_tree()
 
33
 
 
34
        wt.commit(message='one',
 
35
                  allow_pointless=True,
 
36
                  rev_id='tester@foo--1')
 
37
 
 
38
        wt.commit(message='two',
 
39
                  allow_pointless=True,
 
40
                  rev_id='tester@foo--2')
38
41
 
39
42
        ancs = b.get_ancestry('tester@foo--2')
 
43
        self.assertEqual([None, 'tester@foo--1', 'tester@foo--2'], ancs)
 
44
        self.assertEqual([None, 'tester@foo--1'], 
 
45
                         b.get_ancestry('tester@foo--1'))
40
46
 
 
47
    def test_none_is_always_an_ancestor(self):
 
48
        b = Branch.initialize('.')
 
49
        # note this is tested before any commits are done.
 
50
        self.assertEqual(True, is_ancestor(None, None, b))
 
51
        wt = b.working_tree()
 
52
        wt.commit(message='one',
 
53
                  allow_pointless=True,
 
54
                  rev_id='tester@foo--1')
 
55
        self.assertEqual(True, is_ancestor(None, None, b))
 
56
        self.assertEqual(True, is_ancestor('tester@foo--1', None, b))
 
57
        self.assertEqual(False, is_ancestor(None, 'tester@foo--1', b))
41
58
 
42
59
 
43
60
# TODO: check that ancestry is updated to include indirectly merged revisions
44
 
        
45
 
        
46
 
 
47
 
if __name__ == '__main__':
48
 
    import unittest
49
 
    sys.exit(unittest.main())