/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
0.200.18 by John Arbash Meinel
Start splitting up the Git{Branch,Dir,Repository} into separate modules, etc.
1
# Copyright (C) 2007 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
16
17
"""Test the GitDir class"""
18
0.200.992 by Jelmer Vernooij
Avoid invoking git directly.
19
from dulwich.repo import Repo as GitRepo
0.200.1377 by Jelmer Vernooij
Fix get_branch_reference.
20
import os
0.200.992 by Jelmer Vernooij
Avoid invoking git directly.
21
0.200.254 by Jelmer Vernooij
Fix tests.
22
from bzrlib import (
23
    bzrdir,
24
    errors,
0.200.1377 by Jelmer Vernooij
Fix get_branch_reference.
25
    urlutils,
0.200.254 by Jelmer Vernooij
Fix tests.
26
    )
27
from bzrlib.tests import TestSkipped
0.200.18 by John Arbash Meinel
Start splitting up the Git{Branch,Dir,Repository} into separate modules, etc.
28
0.200.254 by Jelmer Vernooij
Fix tests.
29
from bzrlib.plugins.git import (
30
    dir,
31
    tests,
32
    workingtree,
33
    )
0.200.18 by John Arbash Meinel
Start splitting up the Git{Branch,Dir,Repository} into separate modules, etc.
34
35
36
class TestGitDir(tests.TestCaseInTempDir):
37
0.200.1377 by Jelmer Vernooij
Fix get_branch_reference.
38
    def test_get_head_branch_reference(self):
39
        GitRepo.init(".")
40
41
        gd = bzrdir.BzrDir.open('.')
42
        self.assertEquals(
0.200.1379 by Jelmer Vernooij
Escape slashes.
43
            "%s,ref=refs%%2Fheads%%2Fmaster" %
0.200.1377 by Jelmer Vernooij
Fix get_branch_reference.
44
                urlutils.local_path_to_url(os.path.abspath(".")),
45
            gd.get_branch_reference())
46
0.200.18 by John Arbash Meinel
Start splitting up the Git{Branch,Dir,Repository} into separate modules, etc.
47
    def test_open_existing(self):
0.200.992 by Jelmer Vernooij
Avoid invoking git directly.
48
        GitRepo.init(".")
0.200.18 by John Arbash Meinel
Start splitting up the Git{Branch,Dir,Repository} into separate modules, etc.
49
50
        gd = bzrdir.BzrDir.open('.')
0.200.148 by Jelmer Vernooij
Share more infrastructure between LocalGitDir and RemoteGitDir.
51
        self.assertIsInstance(gd, dir.LocalGitDir)
0.200.69 by Jelmer Vernooij
Implement GitBzrDirFormat.get_format_description.
52
0.200.90 by Jelmer Vernooij
Basic support for opening working trees.
53
    def test_open_workingtree(self):
0.200.992 by Jelmer Vernooij
Avoid invoking git directly.
54
        GitRepo.init(".")
0.200.90 by Jelmer Vernooij
Basic support for opening working trees.
55
56
        gd = bzrdir.BzrDir.open('.')
0.200.254 by Jelmer Vernooij
Fix tests.
57
        raise TestSkipped
0.200.90 by Jelmer Vernooij
Basic support for opening working trees.
58
        wt = gd.open_workingtree()
0.200.94 by Jelmer Vernooij
Eliminate (duplicate) git_ prefix.
59
        self.assertIsInstance(wt, workingtree.GitWorkingTree)
0.200.90 by Jelmer Vernooij
Basic support for opening working trees.
60
61
    def test_open_workingtree_bare(self):
0.200.992 by Jelmer Vernooij
Avoid invoking git directly.
62
        GitRepo.init_bare(".")
0.200.90 by Jelmer Vernooij
Basic support for opening working trees.
63
64
        gd = bzrdir.BzrDir.open('.')
65
        self.assertRaises(errors.NoWorkingTree, gd.open_workingtree)
66
0.200.69 by Jelmer Vernooij
Implement GitBzrDirFormat.get_format_description.
67
0.200.977 by Jelmer Vernooij
Implement GitBzrDirFormat.__eq__.
68
class TestGitDirFormat(tests.TestCase):
0.200.69 by Jelmer Vernooij
Implement GitBzrDirFormat.get_format_description.
69
70
    def setUp(self):
71
        super(TestGitDirFormat, self).setUp()
0.200.1012 by Jelmer Vernooij
Rename BzrDir to ControlDir.
72
        self.format = dir.LocalGitControlDirFormat()
0.200.69 by Jelmer Vernooij
Implement GitBzrDirFormat.get_format_description.
73
74
    def test_get_format_description(self):
75
        self.assertEquals("Local Git Repository",
76
                          self.format.get_format_description())
77
0.200.977 by Jelmer Vernooij
Implement GitBzrDirFormat.__eq__.
78
    def test_eq(self):
0.200.1012 by Jelmer Vernooij
Rename BzrDir to ControlDir.
79
        format2 = dir.LocalGitControlDirFormat()
0.200.977 by Jelmer Vernooij
Implement GitBzrDirFormat.__eq__.
80
        self.assertEquals(self.format, format2)
81
        self.assertEquals(self.format, self.format)
82
        bzr_format = bzrdir.format_registry.make_bzrdir("default")
83
        self.assertNotEquals(self.format, bzr_format)
84