36
('0file', '0file', 'file', None,
37
tree.path2id('0file'), 'file'),
38
('1top-dir', '1top-dir', 'directory', None,
39
tree.path2id('1top-dir'), 'directory'),
40
(u'2utf\u1234file', u'2utf\u1234file', 'file', None,
41
tree.path2id(u'2utf\u1234file'), 'file')]
36
('0file', '0file', 'file', None, 'file'),
37
('1top-dir', '1top-dir', 'directory', None, 'directory'),
38
(u'2utf\u1234file', u'2utf\u1234file', 'file', None, 'file')]
43
40
dirblocks['1top-dir'] = [
44
41
('1top-dir/0file-in-1topdir', '0file-in-1topdir',
45
'file', None, tree.path2id('1top-dir/0file-in-1topdir'), 'file')]
42
'file', None, 'file')]
46
43
if empty_dirs_present:
47
44
dirblocks['1top-dir'].append(
48
45
('1top-dir/1dir-in-1topdir', '1dir-in-1topdir', 'directory',
49
46
None if empty_dirs_are_versioned else os.stat(
50
47
tree.abspath('1top-dir/1dir-in-1topdir')),
51
tree.path2id('1top-dir/1dir-in-1topdir'),
52
48
'directory' if empty_dirs_are_versioned else None))
53
49
dirblocks['1top-dir/1dir-in-1topdir'] = []
55
51
dirblocks[''].append(
56
('symlink', 'symlink', 'symlink', None,
57
tree.path2id('symlink'), 'symlink'))
58
return [((path, tree.path2id(path)), list(sorted(entries)))
52
('symlink', 'symlink', 'symlink', None, 'symlink'))
53
return [(path, list(sorted(entries)))
59
54
for (path, entries) in sorted(dirblocks.items())]
61
56
def test_walkdir_root(self):
62
57
tree = self.get_tree_with_subdirs_and_all_supported_content_types(
65
expected_dirblocks = self.get_all_subdirs_expected(
67
# test that its iterable by iterating
69
for dirinfo, block in tree.walkdirs():
72
if row[4] is not None:
73
newblock.append(row[0:3] + (None,) + row[4:])
76
result.append((dirinfo, newblock))
59
with tree.lock_read():
60
expected_dirblocks = self.get_all_subdirs_expected(
62
# test that its iterable by iterating
64
for dirinfo, block in tree.walkdirs():
67
if row[4] is not None:
68
newblock.append(row[0:3] + (None,) + row[4:])
71
result.append((dirinfo, newblock))
78
72
# check each return value for debugging ease.
79
73
for pos, item in enumerate(expected_dirblocks):
80
74
self.assertEqual(item, result[pos])
86
80
# test that its iterable by iterating
89
expected_dirblocks = self.get_all_subdirs_expected(
90
tree, has_symlinks())[1:]
91
for dirinfo, block in tree.walkdirs('1top-dir'):
94
if row[4] is not None:
95
newblock.append(row[0:3] + (None,) + row[4:])
98
result.append((dirinfo, newblock))
82
with tree.lock_read():
83
expected_dirblocks = self.get_all_subdirs_expected(
84
tree, has_symlinks())[1:]
85
for dirinfo, block in tree.walkdirs('1top-dir'):
88
if row[4] is not None:
89
newblock.append(row[0:3] + (None,) + row[4:])
92
result.append((dirinfo, newblock))
100
93
# check each return value for debugging ease.
101
94
for pos, item in enumerate(expected_dirblocks):
102
95
self.assertEqual(item, result[pos])
116
107
if tree.path2id('file') is None:
117
108
raise tests.TestNotApplicable(
118
109
'Tree type cannot represent dangling ids.')
119
expected = [(('', work_tree.path2id('')), ([
120
('dir', 'dir', 'unknown', None, dir_id, 'directory')]
111
('dir', 'dir', 'unknown', None, 'directory')]
121
112
if tree.has_versioned_directories() else []) +
122
[('file', 'file', 'unknown', None, file_id, 'file')])]
113
[('file', 'file', 'unknown', None, 'file')])]
123
114
if tree.has_versioned_directories():
124
expected.append((('dir', dir_id), []))
115
expected.append(('dir', []))
125
116
self.assertEqual(expected, list(tree.walkdirs()))