summaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test_sftp.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/test_sftp.py b/tests/test_sftp.py
index a98a46c6..84c5252b 100644
--- a/tests/test_sftp.py
+++ b/tests/test_sftp.py
@@ -34,6 +34,11 @@ import pytest
from paramiko.py3compat import PY2, b, u, StringIO
from paramiko.common import o777, o600, o666, o644
+from tests import requireNonAsciiLocale, skipUnlessBuiltin
+from tests.stub_sftp import StubServer, StubSFTPServer
+from tests.loop import LoopSocket
+from tests.util import test_path
+import paramiko.util
from paramiko.sftp_attr import SFTPAttributes
from .util import needs_builtin
@@ -270,6 +275,16 @@ class TestSFTP(object):
sftp.remove(sftp.FOLDER + "/fish.txt")
sftp.remove(sftp.FOLDER + "/tertiary.py")
+ @requireNonAsciiLocale()
+ def test_listdir_in_locale(self):
+ """Test listdir under a locale that uses non-ascii text."""
+ sftp.open(FOLDER + '/canard.txt', 'w').close()
+ try:
+ folder_contents = sftp.listdir(FOLDER)
+ self.assertEqual(['canard.txt'], folder_contents)
+ finally:
+ sftp.remove(FOLDER + '/canard.txt')
+
def test_setstat(self, sftp):
"""
verify that the setstat functions (chown, chmod, utime, truncate) work.
@@ -781,6 +796,13 @@ class TestSFTP(object):
finally:
sftp.remove("%s/nonutf8data" % sftp.FOLDER)
+ @requireNonAsciiLocale('LC_TIME')
+ def test_sftp_attributes_locale_time(self):
+ """Test SFTPAttributes under a locale with non-ascii time strings."""
+ some_stat = os.stat(sftp.FOLDER)
+ sftp_attributes = SFTPAttributes.from_stat(some_stat, u('a_directory'))
+ self.assertTrue(b'a_directory' in sftp_attributes.asbytes())
+
def test_sftp_attributes_empty_str(self, sftp):
sftp_attributes = SFTPAttributes()
assert (