~bzr-pqm/bzr/bzr.dev

1185.54.23 by Aaron Bentley
Added unit tests for find_unmerged
1
# Copyright (C) 2005 by Canonical Ltd
2
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 2 of the License, or
6
# (at your option) any later version.
7
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
# GNU General Public License for more details.
12
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
1534.4.26 by Robert Collins
Move working tree initialisation out from Branch.initialize, deprecated Branch.initialize to Branch.create.
16
17
import os
18
19
1534.4.28 by Robert Collins
first cut at merge from integration.
20
from bzrlib.builtins import merge
1185.54.23 by Aaron Bentley
Added unit tests for find_unmerged
21
from bzrlib.missing import find_unmerged
1534.4.26 by Robert Collins
Move working tree initialisation out from Branch.initialize, deprecated Branch.initialize to Branch.create.
22
from bzrlib.tests import TestCaseWithTransport
23
from bzrlib.workingtree import WorkingTree
24
1534.4.28 by Robert Collins
first cut at merge from integration.
25
1534.4.26 by Robert Collins
Move working tree initialisation out from Branch.initialize, deprecated Branch.initialize to Branch.create.
26
class TestMissing(TestCaseWithTransport):
27
1185.54.23 by Aaron Bentley
Added unit tests for find_unmerged
28
    def test_find_unmerged(self):
1534.4.26 by Robert Collins
Move working tree initialisation out from Branch.initialize, deprecated Branch.initialize to Branch.create.
29
        original_tree = self.make_branch_and_tree('original')
30
        original = original_tree.branch
31
        puller_tree = self.make_branch_and_tree('puller')
32
        puller = puller_tree.branch
33
        merger_tree = self.make_branch_and_tree('merger')
34
        merger = merger_tree.branch
1185.54.23 by Aaron Bentley
Added unit tests for find_unmerged
35
        self.assertEqual(find_unmerged(original, puller), ([], []))
1534.4.26 by Robert Collins
Move working tree initialisation out from Branch.initialize, deprecated Branch.initialize to Branch.create.
36
        original_tree.commit('a', rev_id='a')
1185.54.23 by Aaron Bentley
Added unit tests for find_unmerged
37
        self.assertEqual(find_unmerged(original, puller), ([(1, u'a')], []))
38
        puller.pull(original)
39
        self.assertEqual(find_unmerged(original, puller), ([], []))
40
        merger.pull(original)
1534.4.26 by Robert Collins
Move working tree initialisation out from Branch.initialize, deprecated Branch.initialize to Branch.create.
41
        original_tree.commit('b', rev_id='b')
42
        original_tree.commit('c', rev_id='c')
1185.54.23 by Aaron Bentley
Added unit tests for find_unmerged
43
        self.assertEqual(find_unmerged(original, puller), ([(2, u'b'), 
44
                                                            (3, u'c')], []))
45
46
        puller.pull(original)
47
        self.assertEqual(find_unmerged(original, puller), ([], []))
48
        self.assertEqual(find_unmerged(original, merger), ([(2, u'b'), 
49
                                                            (3, u'c')], []))
50
        merge(['original', -1], [None, None], this_dir='merger')
51
        self.assertEqual(find_unmerged(original, merger), ([(2, u'b'), 
52
                                                            (3, u'c')], []))
1534.4.26 by Robert Collins
Move working tree initialisation out from Branch.initialize, deprecated Branch.initialize to Branch.create.
53
        merger_tree.commit('d', rev_id='d')
1185.54.23 by Aaron Bentley
Added unit tests for find_unmerged
54
        self.assertEqual(find_unmerged(original, merger), ([], [(2, 'd')]))