~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/ftp_server/pyftpdlib_based.py

Support Unicode paths for ftp transport (encoded as utf8).

* bzrlib/transport/ftp/__init__.py:
(FtpTransport._remote_path): Remove the work around, we send and
receive utf8 paths.

* bzrlib/tests/per_transport.py:
(TransportTests.test_unicode_paths): Check that the *server* can
support Unicode paths).

* bzrlib/tests/ftp_server/pyftpdlib_based.py:
(BzrConformingFS.ftp2fs): Added to decode utf8 received paths.

* bzrlib/tests/ftp_server/medusa_based.py:
(FTPTestServer): Declare that medusa can't support Unicode paths
in an had-hoc way.

* bzrlib/osutils.py:
(fancy_rename): Ensure all paths are unicode.

Show diffs side-by-side

added added

removed removed

Lines of Context:
50
50
 
51
51
    def listdir(self, path):
52
52
        """List the content of a directory."""
53
 
        # FIXME: need tests with unicode paths
54
53
        return [osutils.safe_utf8(s) for s in os.listdir(path)]
55
54
 
56
55
    def fs2ftp(self, fspath):
57
56
        p = ftpserver.AbstractedFS.fs2ftp(self, fspath)
58
 
        # FIXME: need tests with unicode paths
59
57
        return osutils.safe_utf8(p)
60
58
 
 
59
    def ftp2fs(self, ftppath):
 
60
        p = osutils.safe_unicode(ftppath)
 
61
        return ftpserver.AbstractedFS.ftp2fs(self, p)
61
62
 
62
63
class BzrConformingFTPHandler(ftpserver.FTPHandler):
63
64