14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
from cStringIO import StringIO
20
from cStringIO import StringIO
22
from bzrlib.selftest import TestCase, TestCaseInTempDir
22
from bzrlib.tests import TestCase, TestCaseWithTransport
23
23
from bzrlib.branch import Branch
24
24
from bzrlib.revision import is_ancestor
27
class TestAncestry(TestCaseInTempDir):
27
class TestAncestry(TestCaseWithTransport):
29
29
def test_straightline_ancestry(self):
30
30
"""Test ancestry file when just committing."""
31
b = Branch.initialize('.')
33
b.commit(message='one',
35
rev_id='tester@foo--1')
37
b.commit(message='two',
39
rev_id='tester@foo--2')
41
ancs = b.get_ancestry('tester@foo--2')
31
wt = self.make_branch_and_tree('.')
34
wt.commit(message='one',
36
rev_id='tester@foo--1')
38
wt.commit(message='two',
40
rev_id='tester@foo--2')
42
ancs = b.repository.get_ancestry('tester@foo--2')
42
43
self.assertEqual([None, 'tester@foo--1', 'tester@foo--2'], ancs)
43
44
self.assertEqual([None, 'tester@foo--1'],
44
b.get_ancestry('tester@foo--1'))
45
b.repository.get_ancestry('tester@foo--1'))
46
47
def test_none_is_always_an_ancestor(self):
47
b = Branch.initialize('.')
48
wt = self.make_branch_and_tree('.')
48
50
# note this is tested before any commits are done.
49
51
self.assertEqual(True, is_ancestor(None, None, b))
50
b.commit(message='one',
52
rev_id='tester@foo--1')
52
wt.commit(message='one',
54
rev_id='tester@foo--1')
53
55
self.assertEqual(True, is_ancestor(None, None, b))
54
56
self.assertEqual(True, is_ancestor('tester@foo--1', None, b))
55
57
self.assertEqual(False, is_ancestor(None, 'tester@foo--1', b))