MCPcopy Index your code
hub / github.com/python/cpython / test_relative_to_windows

Method test_relative_to_windows

Lib/test/test_pathlib/test_pathlib.py:913–1016  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

911
912 @needs_windows
913 def test_relative_to_windows(self):
914 P = self.cls
915 p = P('C:Foo/Bar')
916 self.assertEqual(p.relative_to(P('c:')), P('Foo/Bar'))
917 self.assertEqual(p.relative_to('c:'), P('Foo/Bar'))
918 self.assertEqual(p.relative_to(P('c:foO')), P('Bar'))
919 self.assertEqual(p.relative_to('c:foO'), P('Bar'))
920 self.assertEqual(p.relative_to('c:foO/'), P('Bar'))
921 self.assertEqual(p.relative_to(P('c:foO/baR')), P())
922 self.assertEqual(p.relative_to('c:foO/baR'), P())
923 self.assertEqual(p.relative_to(P('c:'), walk_up=True), P('Foo/Bar'))
924 self.assertEqual(p.relative_to('c:', walk_up=True), P('Foo/Bar'))
925 self.assertEqual(p.relative_to(P('c:foO'), walk_up=True), P('Bar'))
926 self.assertEqual(p.relative_to('c:foO', walk_up=True), P('Bar'))
927 self.assertEqual(p.relative_to('c:foO/', walk_up=True), P('Bar'))
928 self.assertEqual(p.relative_to(P('c:foO/baR'), walk_up=True), P())
929 self.assertEqual(p.relative_to('c:foO/baR', walk_up=True), P())
930 self.assertEqual(p.relative_to(P('C:Foo/Bar/Baz'), walk_up=True), P('..'))
931 self.assertEqual(p.relative_to(P('C:Foo/Baz'), walk_up=True), P('../Bar'))
932 self.assertEqual(p.relative_to(P('C:Baz/Bar'), walk_up=True), P('../../Foo/Bar'))
933 # Unrelated paths.
934 self.assertRaises(ValueError, p.relative_to, P())
935 self.assertRaises(ValueError, p.relative_to, '')
936 self.assertRaises(ValueError, p.relative_to, P('d:'))
937 self.assertRaises(ValueError, p.relative_to, P('/'))
938 self.assertRaises(ValueError, p.relative_to, P('Foo'))
939 self.assertRaises(ValueError, p.relative_to, P('/Foo'))
940 self.assertRaises(ValueError, p.relative_to, P('C:/Foo'))
941 self.assertRaises(ValueError, p.relative_to, P('C:Foo/Bar/Baz'))
942 self.assertRaises(ValueError, p.relative_to, P('C:Foo/Baz'))
943 self.assertRaises(ValueError, p.relative_to, P(), walk_up=True)
944 self.assertRaises(ValueError, p.relative_to, '', walk_up=True)
945 self.assertRaises(ValueError, p.relative_to, P('d:'), walk_up=True)
946 self.assertRaises(ValueError, p.relative_to, P('/'), walk_up=True)
947 self.assertRaises(ValueError, p.relative_to, P('Foo'), walk_up=True)
948 self.assertRaises(ValueError, p.relative_to, P('/Foo'), walk_up=True)
949 self.assertRaises(ValueError, p.relative_to, P('C:/Foo'), walk_up=True)
950 p = P('C:/Foo/Bar')
951 self.assertEqual(p.relative_to(P('c:/')), P('Foo/Bar'))
952 self.assertEqual(p.relative_to('c:/'), P('Foo/Bar'))
953 self.assertEqual(p.relative_to(P('c:/foO')), P('Bar'))
954 self.assertEqual(p.relative_to('c:/foO'), P('Bar'))
955 self.assertEqual(p.relative_to('c:/foO/'), P('Bar'))
956 self.assertEqual(p.relative_to(P('c:/foO/baR')), P())
957 self.assertEqual(p.relative_to('c:/foO/baR'), P())
958 self.assertEqual(p.relative_to(P('c:/'), walk_up=True), P('Foo/Bar'))
959 self.assertEqual(p.relative_to('c:/', walk_up=True), P('Foo/Bar'))
960 self.assertEqual(p.relative_to(P('c:/foO'), walk_up=True), P('Bar'))
961 self.assertEqual(p.relative_to('c:/foO', walk_up=True), P('Bar'))
962 self.assertEqual(p.relative_to('c:/foO/', walk_up=True), P('Bar'))
963 self.assertEqual(p.relative_to(P('c:/foO/baR'), walk_up=True), P())
964 self.assertEqual(p.relative_to('c:/foO/baR', walk_up=True), P())
965 self.assertEqual(p.relative_to('C:/Baz', walk_up=True), P('../Foo/Bar'))
966 self.assertEqual(p.relative_to('C:/Foo/Bar/Baz', walk_up=True), P('..'))
967 self.assertEqual(p.relative_to('C:/Foo/Baz', walk_up=True), P('../Bar'))
968 # Unrelated paths.
969 self.assertRaises(ValueError, p.relative_to, 'c:')
970 self.assertRaises(ValueError, p.relative_to, P('c:'))

Callers

nothing calls this directly

Calls 4

PClass · 0.70
assertEqualMethod · 0.45
relative_toMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected