/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/tests/per_tree/test_walkdirs.py

  • Committer: Andrew Bennetts
  • Date: 2010-01-12 03:53:21 UTC
  • mfrom: (4948 +trunk)
  • mto: This revision was merged to the branch mainline in revision 4964.
  • Revision ID: andrew.bennetts@canonical.com-20100112035321-hofpz5p10224ryj3
Merge lp:bzr, resolving conflicts.

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
#
13
13
# You should have received a copy of the GNU General Public License
14
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
 
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
17
"""Tests for the generic Tree.walkdirs interface."""
18
18
 
20
20
 
21
21
from bzrlib import tests
22
22
from bzrlib.osutils import has_symlinks
23
 
from bzrlib.tests.tree_implementations import TestCaseWithTree
 
23
from bzrlib.tests.per_tree import TestCaseWithTree
24
24
 
25
25
 
26
26
class TestWalkdirs(TestCaseWithTree):
27
27
 
28
28
    def get_all_subdirs_expected(self, tree, symlinks):
 
29
        dirblocks = [
 
30
            (('', tree.path2id('')),
 
31
             [('0file', '0file', 'file', None, '2file', 'file'),
 
32
              ('1top-dir', '1top-dir', 'directory', None,
 
33
               '1top-dir', 'directory'),
 
34
              (u'2utf\u1234file', u'2utf\u1234file', 'file', None,
 
35
               u'0utf\u1234file'.encode('utf8'), 'file'),
 
36
              ]),
 
37
            (('1top-dir', '1top-dir'),
 
38
             [('1top-dir/0file-in-1topdir', '0file-in-1topdir',
 
39
               'file', None, '1file-in-1topdir', 'file'),
 
40
              ('1top-dir/1dir-in-1topdir', '1dir-in-1topdir',
 
41
               'directory', None, '0dir-in-1topdir', 'directory'),
 
42
              ]),
 
43
            (('1top-dir/1dir-in-1topdir', '0dir-in-1topdir'),
 
44
             []),
 
45
            ]
29
46
        if symlinks:
30
 
            return [
31
 
                (('', tree.path2id('')),
32
 
                [
33
 
                 ('0file', '0file', 'file', None, '2file', 'file'),
34
 
                 ('1top-dir', '1top-dir', 'directory', None, '1top-dir', 'directory'),
35
 
                 (u'2utf\u1234file', u'2utf\u1234file', 'file', None,
36
 
                                         u'0utf\u1234file'.encode('utf8'), 'file'),
37
 
                 ('symlink', 'symlink', 'symlink', None, 'symlink', 'symlink')
38
 
                ]),
39
 
                (('1top-dir', '1top-dir'),
40
 
                [('1top-dir/0file-in-1topdir', '0file-in-1topdir', 'file', None, '1file-in-1topdir', 'file'),
41
 
                 ('1top-dir/1dir-in-1topdir', '1dir-in-1topdir', 'directory', None, '0dir-in-1topdir', 'directory'),
42
 
                ]),
43
 
                (('1top-dir/1dir-in-1topdir', '0dir-in-1topdir'),
44
 
                [
45
 
                ]),
46
 
                ]
47
 
        else:
48
 
            return [
49
 
                (('', tree.path2id('')),
50
 
                [
51
 
                 ('0file', '0file', 'file', None, '2file', 'file'),
52
 
                 ('1top-dir', '1top-dir', 'directory', None, '1top-dir', 'directory'),
53
 
                 (u'2utf\u1234file', u'2utf\u1234file', 'file', None,
54
 
                                         u'0utf\u1234file'.encode('utf8'), 'file'),
55
 
                ]),
56
 
                (('1top-dir', '1top-dir'),
57
 
                [('1top-dir/0file-in-1topdir', '0file-in-1topdir', 'file', None, '1file-in-1topdir', 'file'),
58
 
                 ('1top-dir/1dir-in-1topdir', '1dir-in-1topdir', 'directory', None, '0dir-in-1topdir', 'directory'),
59
 
                ]),
60
 
                (('1top-dir/1dir-in-1topdir', '0dir-in-1topdir'),
61
 
                [
62
 
                ]),
63
 
                ]
 
47
            dirblocks[0][1].append(('symlink', 'symlink', 'symlink', None,
 
48
                                    'symlink', 'symlink'))
 
49
        return dirblocks
64
50
 
65
51
    def test_walkdir_root(self):
66
 
        tree = self.get_tree_with_subdirs_and_all_supported_content_types(has_symlinks())
 
52
        tree = self.get_tree_with_subdirs_and_all_supported_content_types(
 
53
            has_symlinks())
67
54
        tree.lock_read()
68
55
        expected_dirblocks = self.get_all_subdirs_expected(tree, has_symlinks())
69
56
        # test that its iterable by iterating
81
68
        for pos, item in enumerate(expected_dirblocks):
82
69
            self.assertEqual(item, result[pos])
83
70
        self.assertEqual(len(expected_dirblocks), len(result))
84
 
            
 
71
 
85
72
    def test_walkdir_subtree(self):
86
73
        tree = self.get_tree_with_subdirs_and_all_supported_content_types(has_symlinks())
87
74
        # test that its iterable by iterating