~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_workingtree.py

  • Committer: Martin von Gagern
  • Date: 2010-04-20 08:47:38 UTC
  • mfrom: (5167 +trunk)
  • mto: This revision was merged to the branch mainline in revision 5195.
  • Revision ID: martin.vgagern@gmx.net-20100420084738-ygymnqmdllzrhpfn
merge trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
13
13
#
14
14
# You should have received a copy of the GNU General Public License
15
15
# along with this program; if not, write to the Free Software
16
 
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
16
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
17
 
18
18
from cStringIO import StringIO
19
19
import os
81
81
            workingtree.WorkingTreeFormat.set_default_format(old_format)
82
82
        self.assertEqual(old_format, workingtree.WorkingTreeFormat.get_default_format())
83
83
 
 
84
    def test_open(self):
 
85
        tree = self.make_branch_and_tree('.')
 
86
        open_direct = workingtree.WorkingTree.open('.')
 
87
        self.assertEqual(tree.basedir, open_direct.basedir)
 
88
        open_no_args = workingtree.WorkingTree.open()
 
89
        self.assertEqual(tree.basedir, open_no_args.basedir)
 
90
 
 
91
    def test_open_containing(self):
 
92
        tree = self.make_branch_and_tree('.')
 
93
        open_direct, relpath = workingtree.WorkingTree.open_containing('.')
 
94
        self.assertEqual(tree.basedir, open_direct.basedir)
 
95
        self.assertEqual('', relpath)
 
96
        open_no_args, relpath = workingtree.WorkingTree.open_containing()
 
97
        self.assertEqual(tree.basedir, open_no_args.basedir)
 
98
        self.assertEqual('', relpath)
 
99
        open_subdir, relpath = workingtree.WorkingTree.open_containing('subdir')
 
100
        self.assertEqual(tree.basedir, open_subdir.basedir)
 
101
        self.assertEqual('subdir', relpath)
 
102
 
84
103
 
85
104
class SampleTreeFormat(workingtree.WorkingTreeFormat):
86
105
    """A sample format
87
106
 
88
 
    this format is initializable, unsupported to aid in testing the 
 
107
    this format is initializable, unsupported to aid in testing the
89
108
    open and open_downlevel routines.
90
109
    """
91
110
 
123
142
            found_format = workingtree.WorkingTreeFormat.find_format(dir)
124
143
            self.failUnless(isinstance(found_format, format.__class__))
125
144
        check_format(workingtree.WorkingTreeFormat3(), "bar")
126
 
        
 
145
 
127
146
    def test_find_format_no_tree(self):
128
147
        dir = bzrdir.BzrDirMetaFormat1().initialize('.')
129
148
        self.assertRaises(errors.NoWorkingTree,
174
193
        t = control.get_workingtree_transport(None)
175
194
        self.assertEqualDiff('Bazaar-NG Working Tree format 3',
176
195
                             t.get('format').read())
177
 
        self.assertEqualDiff(t.get('inventory').read(), 
 
196
        self.assertEqualDiff(t.get('inventory').read(),
178
197
                              '<inventory format="5">\n'
179
198
                              '</inventory>\n',
180
199
                             )
183
202
        self.assertFalse(t.has('inventory.basis'))
184
203
        # no last-revision file means 'None' or 'NULLREVISION'
185
204
        self.assertFalse(t.has('last-revision'))
186
 
        # TODO RBC 20060210 do a commit, check the inventory.basis is created 
 
205
        # TODO RBC 20060210 do a commit, check the inventory.basis is created
187
206
        # correctly and last-revision file becomes present.
188
207
 
189
208
    def test_uses_lockdir(self):
190
209
        """WorkingTreeFormat3 uses its own LockDir:
191
 
            
 
210
 
192
211
            - lock is a directory
193
212
            - when the WorkingTree is locked, LockDir can see that
194
213
        """
267
286
    @needs_tree_write_lock
268
287
    def method_that_raises(self):
269
288
        """This method causes an exception when called with parameters.
270
 
        
 
289
 
271
290
        This allows the decorator code to be checked - it should still call
272
291
        unlock.
273
292
        """