(self, base, relurl, expected, *, relroundtrip=True)
| 371 | self.checkRoundtrips(url, parsed, split) |
| 372 | |
| 373 | def checkJoin(self, base, relurl, expected, *, relroundtrip=True): |
| 374 | with self.subTest(base=base, relurl=relurl): |
| 375 | self.assertEqual(urllib.parse.urljoin(base, relurl), expected) |
| 376 | baseb = str_encode(base) |
| 377 | relurlb = str_encode(relurl) |
| 378 | expectedb = str_encode(expected) |
| 379 | self.assertEqual(urllib.parse.urljoin(baseb, relurlb), expectedb) |
| 380 | |
| 381 | if relroundtrip: |
| 382 | relurl2 = urlunsplit(urlsplit(relurl)) |
| 383 | self.assertEqual(urllib.parse.urljoin(base, relurl2), expected) |
| 384 | relurlb2 = urlunsplit(urlsplit(relurlb)) |
| 385 | self.assertEqual(urllib.parse.urljoin(baseb, relurlb2), expectedb) |
| 386 | |
| 387 | relurl3 = urlunsplit(urlsplit(relurl, missing_as_none=True)) |
| 388 | self.assertEqual(urllib.parse.urljoin(base, relurl3), expected) |
| 389 | relurlb3 = urlunsplit(urlsplit(relurlb, missing_as_none=True)) |
| 390 | self.assertEqual(urllib.parse.urljoin(baseb, relurlb3), expectedb) |
| 391 | |
| 392 | @support.subTests('bytes', (False, True)) |
| 393 | @support.subTests('u', ['Python', './Python','x-newscheme://foo.com/stuff','x://y','x:/y','x:/','/',]) |
no test coverage detected