30
30
from bzrlib.tests import TestSkipped
31
31
from bzrlib.tests.workingtree_implementations import TestCaseWithWorkingTree
32
32
from bzrlib.trace import mutter
33
import bzrlib.urlutils as urlutils
33
34
import bzrlib.workingtree as workingtree
34
35
from bzrlib.workingtree import (TreeEntry, TreeDirectory, TreeFile, TreeLink,
38
39
class TestWorkingTree(TestCaseWithWorkingTree):
40
def test_listfiles(self):
41
def test_list_files(self):
41
42
tree = self.make_branch_and_tree('.')
43
print >> open('file', 'w'), "content"
43
self.build_tree(['dir/', 'file'])
45
45
os.symlink('target', 'symlink')
46
46
files = list(tree.list_files())
50
50
self.assertEqual(files[2], ('symlink', '?', 'symlink', None, TreeLink()))
52
def test_list_files_sorted(self):
53
tree = self.make_branch_and_tree('.')
54
self.build_tree(['dir/', 'file', 'dir/file', 'dir/b', 'dir/subdir/', 'a', 'dir/subfile',
55
'zz_dir/', 'zz_dir/subfile'])
56
files = [(path, kind) for (path, versioned, kind, file_id, entry) in tree.list_files()]
61
('zz_dir', 'directory'),
64
tree.add(['dir', 'zz_dir'])
65
files = [(path, kind) for (path, versioned, kind, file_id, entry) in tree.list_files()]
71
('dir/subdir', 'directory'),
72
('dir/subfile', 'file'),
74
('zz_dir', 'directory'),
75
('zz_dir/subfile', 'file'),
52
78
def test_open_containing(self):
53
79
branch = self.make_branch_and_tree('.').branch
54
80
wt, relpath = WorkingTree.open_containing()
55
81
self.assertEqual('', relpath)
56
self.assertEqual(wt.basedir + '/', branch.base)
82
self.assertEqual(wt.basedir + '/', urlutils.local_path_from_url(branch.base))
57
83
wt, relpath = WorkingTree.open_containing(u'.')
58
84
self.assertEqual('', relpath)
59
self.assertEqual(wt.basedir + '/', branch.base)
85
self.assertEqual(wt.basedir + '/', urlutils.local_path_from_url(branch.base))
60
86
wt, relpath = WorkingTree.open_containing('./foo')
61
87
self.assertEqual('foo', relpath)
62
self.assertEqual(wt.basedir + '/', branch.base)
88
self.assertEqual(wt.basedir + '/', urlutils.local_path_from_url(branch.base))
63
89
wt, relpath = WorkingTree.open_containing('file://' + getcwd() + '/foo')
64
90
self.assertEqual('foo', relpath)
65
self.assertEqual(wt.basedir + '/', branch.base)
91
self.assertEqual(wt.basedir + '/', urlutils.local_path_from_url(branch.base))
67
93
def test_basic_relpath(self):
68
94
# for comprehensive relpath tests, see whitebox.py.