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
18
18
from cStringIO import StringIO
81
81
workingtree.WorkingTreeFormat.set_default_format(old_format)
82
82
self.assertEqual(old_format, workingtree.WorkingTreeFormat.get_default_format())
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)
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)
85
104
class SampleTreeFormat(workingtree.WorkingTreeFormat):
86
105
"""A sample format
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.
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")
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',
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.
189
208
def test_uses_lockdir(self):
190
209
"""WorkingTreeFormat3 uses its own LockDir:
192
211
- lock is a directory
193
212
- when the WorkingTree is locked, LockDir can see that