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

Method test_relative_to

Lib/test/test_pathlib/test_join.py:379–412  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

377 self.assertRaises(TypeError, P('a/b').with_suffix, None)
378
379 def test_relative_to(self):
380 P = self.cls
381 p = P('a/b')
382 self.assertEqual(p.relative_to(P('')), P('a', 'b'))
383 self.assertEqual(p.relative_to(P('a')), P('b'))
384 self.assertEqual(p.relative_to(P('a/b')), P(''))
385 self.assertEqual(p.relative_to(P(''), walk_up=True), P('a', 'b'))
386 self.assertEqual(p.relative_to(P('a'), walk_up=True), P('b'))
387 self.assertEqual(p.relative_to(P('a/b'), walk_up=True), P(''))
388 self.assertEqual(p.relative_to(P('a/c'), walk_up=True), P('..', 'b'))
389 self.assertEqual(p.relative_to(P('a/b/c'), walk_up=True), P('..'))
390 self.assertEqual(p.relative_to(P('c'), walk_up=True), P('..', 'a', 'b'))
391 self.assertRaises(ValueError, p.relative_to, P('c'))
392 self.assertRaises(ValueError, p.relative_to, P('a/b/c'))
393 self.assertRaises(ValueError, p.relative_to, P('a/c'))
394 self.assertRaises(ValueError, p.relative_to, P('/a'))
395 self.assertRaises(ValueError, p.relative_to, P('../a'))
396 self.assertRaises(ValueError, p.relative_to, P('a/..'))
397 self.assertRaises(ValueError, p.relative_to, P('/a/..'))
398 self.assertRaises(ValueError, p.relative_to, P('/'), walk_up=True)
399 self.assertRaises(ValueError, p.relative_to, P('/a'), walk_up=True)
400 self.assertRaises(ValueError, p.relative_to, P('../a'), walk_up=True)
401 self.assertRaises(ValueError, p.relative_to, P('a/..'), walk_up=True)
402 self.assertRaises(ValueError, p.relative_to, P('/a/..'), walk_up=True)
403 class Q(self.cls):
404 __eq__ = object.__eq__
405 __hash__ = object.__hash__
406 q = Q('a/b')
407 self.assertTrue(q.relative_to(q))
408 self.assertRaises(ValueError, q.relative_to, Q(''))
409 self.assertRaises(ValueError, q.relative_to, Q('a'))
410 self.assertRaises(ValueError, q.relative_to, Q('a'), walk_up=True)
411 self.assertRaises(ValueError, q.relative_to, Q('a/b'))
412 self.assertRaises(ValueError, q.relative_to, Q('c'))
413
414 def test_is_relative_to(self):
415 P = self.cls

Callers

nothing calls this directly

Calls 6

assertTrueMethod · 0.80
PClass · 0.70
QClass · 0.70
assertEqualMethod · 0.45
relative_toMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected