@@ -412,12 +412,18 @@ def assertLess(a, b):
412412 with self .assertRaises (TypeError ):
413413 P () < {}
414414
415+ def make_uri (self , path ):
416+ if isinstance (path , pathlib .Path ):
417+ return path .as_uri ()
418+ with self .assertWarns (DeprecationWarning ):
419+ return path .as_uri ()
420+
415421 def test_as_uri_common (self ):
416422 P = self .cls
417423 with self .assertRaises (ValueError ):
418- P ('a' ). as_uri ( )
424+ self . make_uri ( P ('a' ))
419425 with self .assertRaises (ValueError ):
420- P (). as_uri ( )
426+ self . make_uri ( P ())
421427
422428 def test_repr_roundtrips (self ):
423429 for pathstr in ('a' , 'a/b' , 'a/b/c' , '/' , '/a/b' , '/a/b/c' ):
@@ -645,9 +651,9 @@ def test_eq_posix(self):
645651 @needs_posix
646652 def test_as_uri_posix (self ):
647653 P = self .cls
648- self .assertEqual (P ('/' ). as_uri ( ), 'file:///' )
649- self .assertEqual (P ('/a/b.c' ). as_uri ( ), 'file:///a/b.c' )
650- self .assertEqual (P ('/a/b%#c' ). as_uri ( ), 'file:///a/b%25%23c' )
654+ self .assertEqual (self . make_uri ( P ('/' )), 'file:///' )
655+ self .assertEqual (self . make_uri ( P ('/a/b.c' )), 'file:///a/b.c' )
656+ self .assertEqual (self . make_uri ( P ('/a/b%#c' )), 'file:///a/b%25%23c' )
651657
652658 @needs_posix
653659 def test_as_uri_non_ascii (self ):
@@ -657,7 +663,7 @@ def test_as_uri_non_ascii(self):
657663 os .fsencode ('\xe9 ' )
658664 except UnicodeEncodeError :
659665 self .skipTest ("\\ xe9 cannot be encoded to the filesystem encoding" )
660- self .assertEqual (P ('/a/b\xe9 ' ). as_uri ( ),
666+ self .assertEqual (self . make_uri ( P ('/a/b\xe9 ' )),
661667 'file:///a/b' + quote_from_bytes (os .fsencode ('\xe9 ' )))
662668
663669 @needs_posix
@@ -751,17 +757,17 @@ def test_eq_windows(self):
751757 def test_as_uri_windows (self ):
752758 P = self .cls
753759 with self .assertRaises (ValueError ):
754- P ('/a/b' ). as_uri ( )
760+ self . make_uri ( P ('/a/b' ))
755761 with self .assertRaises (ValueError ):
756- P ('c:a/b' ). as_uri ( )
757- self .assertEqual (P ('c:/' ). as_uri ( ), 'file:///c:/' )
758- self .assertEqual (P ('c:/a/b.c' ). as_uri ( ), 'file:///c:/a/b.c' )
759- self .assertEqual (P ('c:/a/b%#c' ). as_uri ( ), 'file:///c:/a/b%25%23c' )
760- self .assertEqual (P ('c:/a/b\xe9 ' ). as_uri ( ), 'file:///c:/a/b%C3%A9' )
761- self .assertEqual (P ('//some/share/' ). as_uri ( ), 'file://some/share/' )
762- self .assertEqual (P ('//some/share/a/b.c' ). as_uri ( ),
762+ self . make_uri ( P ('c:a/b' ))
763+ self .assertEqual (self . make_uri ( P ('c:/' )), 'file:///c:/' )
764+ self .assertEqual (self . make_uri ( P ('c:/a/b.c' )), 'file:///c:/a/b.c' )
765+ self .assertEqual (self . make_uri ( P ('c:/a/b%#c' )), 'file:///c:/a/b%25%23c' )
766+ self .assertEqual (self . make_uri ( P ('c:/a/b\xe9 ' )), 'file:///c:/a/b%C3%A9' )
767+ self .assertEqual (self . make_uri ( P ('//some/share/' )), 'file://some/share/' )
768+ self .assertEqual (self . make_uri ( P ('//some/share/a/b.c' )),
763769 'file://some/share/a/b.c' )
764- self .assertEqual (P ('//some/share/a/b%#c\xe9 ' ). as_uri ( ),
770+ self .assertEqual (self . make_uri ( P ('//some/share/a/b%#c\xe9 ' )),
765771 'file://some/share/a/b%25%23c%C3%A9' )
766772
767773 @needs_windows
0 commit comments