diff options
Diffstat (limited to 'Lib/test')
| -rw-r--r-- | Lib/test/test_genericpath.py | 2 | ||||
| -rw-r--r-- | Lib/test/test_macpath.py | 1 | ||||
| -rw-r--r-- | Lib/test/test_ntpath.py | 5 | ||||
| -rw-r--r-- | Lib/test/test_posixpath.py | 19 |
4 files changed, 24 insertions, 3 deletions
diff --git a/Lib/test/test_genericpath.py b/Lib/test/test_genericpath.py index 94380b1..741b755 100644 --- a/Lib/test/test_genericpath.py +++ b/Lib/test/test_genericpath.py @@ -243,11 +243,13 @@ class CommonTest(GenericTest): def test_realpath(self): self.assertIn("foo", self.pathmodule.realpath("foo")) + @test_support.requires_unicode def test_normpath_issue5827(self): # Make sure normpath preserves unicode for path in (u'', u'.', u'/', u'\\', u'///foo/.//bar//'): self.assertIsInstance(self.pathmodule.normpath(path), unicode) + @test_support.requires_unicode def test_abspath_issue3426(self): # Check that abspath returns unicode when the arg is unicode # with both ASCII and non-ASCII cwds. diff --git a/Lib/test/test_macpath.py b/Lib/test/test_macpath.py index 96ad61f..be936de 100644 --- a/Lib/test/test_macpath.py +++ b/Lib/test/test_macpath.py @@ -59,6 +59,7 @@ class MacPathTestCase(unittest.TestCase): self.assertEqual(splitext(""), ('', '')) self.assertEqual(splitext("foo.bar.ext"), ('foo.bar', '.ext')) + @test_support.requires_unicode def test_normpath(self): # Issue 5827: Make sure normpath preserves unicode for path in (u'', u'.', u'/', u'\\', u':', u'///foo/.//bar//'): diff --git a/Lib/test/test_ntpath.py b/Lib/test/test_ntpath.py index 0fbe6a1..55da7e1 100644 --- a/Lib/test/test_ntpath.py +++ b/Lib/test/test_ntpath.py @@ -69,8 +69,9 @@ class TestNtpath(unittest.TestCase): ('', '\\\\conky\\\\mountpoint\\foo\\bar')) tester('ntpath.splitunc("//conky//mountpoint/foo/bar")', ('', '//conky//mountpoint/foo/bar')) - self.assertEqual(ntpath.splitunc(u'//conky/MOUNTPO\u0130NT/foo/bar'), - (u'//conky/MOUNTPO\u0130NT', u'/foo/bar')) + if test_support.have_unicode: + self.assertEqual(ntpath.splitunc(u'//conky/MOUNTPO%cNT/foo/bar' % 0x0130), + (u'//conky/MOUNTPO%cNT' % 0x0130, u'/foo/bar')) def test_split(self): tester('ntpath.split("c:\\foo\\bar")', ('c:\\foo', 'bar')) diff --git a/Lib/test/test_posixpath.py b/Lib/test/test_posixpath.py index f74dc14..295bf49 100644 --- a/Lib/test/test_posixpath.py +++ b/Lib/test/test_posixpath.py @@ -1,7 +1,9 @@ import unittest from test import test_support, test_genericpath -import posixpath, os +import posixpath +import os +import sys from posixpath import realpath, abspath, dirname, basename # An absolute path to a temporary filename for testing. We can't rely on TESTFN @@ -409,6 +411,21 @@ class PosixPathTest(unittest.TestCase): finally: os.getcwd = real_getcwd + @test_support.requires_unicode + def test_expandvars_nonascii_word(self): + encoding = sys.getfilesystemencoding() + # Non-ASCII word characters + letters = test_support.u(r'\xe6\u0130\u0141\u03c6\u041a\u05d0\u062a\u0e01') + uwnonascii = letters.encode(encoding, 'ignore').decode(encoding)[:3] + swnonascii = uwnonascii.encode(encoding) + if not swnonascii: + self.skip('Needs non-ASCII word characters') + with test_support.EnvironmentVarGuard() as env: + env.clear() + env[swnonascii] = 'baz' + swnonascii + self.assertEqual(posixpath.expandvars(u'$%s bar' % uwnonascii), + u'baz%s bar' % uwnonascii) + class PosixCommonTest(test_genericpath.CommonTest): pathmodule = posixpath |
