@@ -1557,13 +1557,13 @@ def test_pathname2url_posix(self):
15571557 self .assertEqual (fn ('/' ), '/' )
15581558 self .assertEqual (fn ('/a/b.c' ), '/a/b.c' )
15591559 self .assertEqual (fn ('/a/b%#c' ), '/a/b%25%23c' )
1560- try :
1561- expect = os . fsencode ( ' \xe9 ' )
1562- except UnicodeEncodeError :
1563- pass
1564- else :
1565- expect = urllib .parse .quote_from_bytes ( expect )
1566- self .assertEqual (fn ( ' \xe9 ' ), expect )
1560+
1561+ @ unittest . skipUnless ( os_helper . FS_NONASCII , 'need os_helper.FS_NONASCII ' )
1562+ def test_pathname2url_nonascii ( self ) :
1563+ encoding = sys . getfilesystemencoding ()
1564+ errors = sys . getfilesystemencodeerrors ()
1565+ url = urllib .parse .quote ( os_helper . FS_NONASCII , encoding = encoding , errors = errors )
1566+ self .assertEqual (urllib . request . pathname2url ( os_helper . FS_NONASCII ), url )
15671567
15681568 @unittest .skipUnless (sys .platform == 'win32' ,
15691569 'test specific to Windows pathnames.' )
@@ -1614,12 +1614,13 @@ def test_url2pathname_posix(self):
16141614 self .assertEqual (fn ('///foo/bar' ), '/foo/bar' )
16151615 self .assertEqual (fn ('////foo/bar' ), '//foo/bar' )
16161616 self .assertEqual (fn ('//localhost/foo/bar' ), '//localhost/foo/bar' )
1617- try :
1618- expect = os .fsdecode (b'\xe9 ' )
1619- except UnicodeDecodeError :
1620- pass
1621- else :
1622- self .assertEqual (fn ('%e9' ), expect )
1617+
1618+ @unittest .skipUnless (os_helper .FS_NONASCII , 'need os_helper.FS_NONASCII' )
1619+ def test_url2pathname_nonascii (self ):
1620+ encoding = sys .getfilesystemencoding ()
1621+ errors = sys .getfilesystemencodeerrors ()
1622+ url = urllib .parse .quote (os_helper .FS_NONASCII , encoding = encoding , errors = errors )
1623+ self .assertEqual (urllib .request .url2pathname (url ), os_helper .FS_NONASCII )
16231624
16241625class Utility_Tests (unittest .TestCase ):
16251626 """Testcase to test the various utility functions in the urllib."""
0 commit comments