(self)
| 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 |
nothing calls this directly
no test coverage detected