@@ -412,12 +412,18 @@ def assertLess(a, b):
412
412
with self .assertRaises (TypeError ):
413
413
P () < {}
414
414
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
+
415
421
def test_as_uri_common (self ):
416
422
P = self .cls
417
423
with self .assertRaises (ValueError ):
418
- P ('a' ). as_uri ( )
424
+ self . make_uri ( P ('a' ))
419
425
with self .assertRaises (ValueError ):
420
- P (). as_uri ( )
426
+ self . make_uri ( P ())
421
427
422
428
def test_repr_roundtrips (self ):
423
429
for pathstr in ('a' , 'a/b' , 'a/b/c' , '/' , '/a/b' , '/a/b/c' ):
@@ -645,9 +651,9 @@ def test_eq_posix(self):
645
651
@needs_posix
646
652
def test_as_uri_posix (self ):
647
653
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' )
651
657
652
658
@needs_posix
653
659
def test_as_uri_non_ascii (self ):
@@ -657,7 +663,7 @@ def test_as_uri_non_ascii(self):
657
663
os .fsencode ('\xe9 ' )
658
664
except UnicodeEncodeError :
659
665
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 ' )),
661
667
'file:///a/b' + quote_from_bytes (os .fsencode ('\xe9 ' )))
662
668
663
669
@needs_posix
@@ -751,17 +757,17 @@ def test_eq_windows(self):
751
757
def test_as_uri_windows (self ):
752
758
P = self .cls
753
759
with self .assertRaises (ValueError ):
754
- P ('/a/b' ). as_uri ( )
760
+ self . make_uri ( P ('/a/b' ))
755
761
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' )),
763
769
'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 ' )),
765
771
'file://some/share/a/b%25%23c%C3%A9' )
766
772
767
773
@needs_windows
0 commit comments