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

Method test_urljoins

Lib/test/test_urlparse.py:557–653  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

555 self.checkJoin('http://a/b/c/de', ';x','http://a/b/c/;x')
556
557 def test_urljoins(self):
558 self.checkJoin(SIMPLE_BASE, 'g:h','g:h')
559 self.checkJoin(SIMPLE_BASE, 'g','http://a/b/c/g')
560 self.checkJoin(SIMPLE_BASE, './g','http://a/b/c/g')
561 self.checkJoin(SIMPLE_BASE, 'g/','http://a/b/c/g/')
562 self.checkJoin(SIMPLE_BASE, '/g','http://a/g')
563 self.checkJoin(SIMPLE_BASE, '//g','http://g')
564 self.checkJoin(SIMPLE_BASE, '?y','http://a/b/c/d?y')
565 self.checkJoin(SIMPLE_BASE, 'g?y','http://a/b/c/g?y')
566 self.checkJoin(SIMPLE_BASE, 'g?y/./x','http://a/b/c/g?y/./x')
567 self.checkJoin(SIMPLE_BASE, '.','http://a/b/c/')
568 self.checkJoin(SIMPLE_BASE, './','http://a/b/c/')
569 self.checkJoin(SIMPLE_BASE, '..','http://a/b/')
570 self.checkJoin(SIMPLE_BASE, '../','http://a/b/')
571 self.checkJoin(SIMPLE_BASE, '../g','http://a/b/g')
572 self.checkJoin(SIMPLE_BASE, '../..','http://a/')
573 self.checkJoin(SIMPLE_BASE, '../../g','http://a/g')
574 self.checkJoin(SIMPLE_BASE, './../g','http://a/b/g')
575 self.checkJoin(SIMPLE_BASE, './g/.','http://a/b/c/g/')
576 self.checkJoin(SIMPLE_BASE, 'g/./h','http://a/b/c/g/h')
577 self.checkJoin(SIMPLE_BASE, 'g/../h','http://a/b/c/h')
578 self.checkJoin(SIMPLE_BASE, 'http:g','http://a/b/c/g')
579 self.checkJoin(SIMPLE_BASE, 'http:g?y','http://a/b/c/g?y')
580 self.checkJoin(SIMPLE_BASE, 'http:g?y/./x','http://a/b/c/g?y/./x')
581 self.checkJoin('http:///', '..','http:///')
582 self.checkJoin('', 'http://a/b/c/g?y/./x','http://a/b/c/g?y/./x')
583 self.checkJoin('', 'http://a/./g', 'http://a/./g')
584 self.checkJoin('svn://pathtorepo/dir1', 'dir2', 'svn://pathtorepo/dir2')
585 self.checkJoin('svn+ssh://pathtorepo/dir1', 'dir2', 'svn+ssh://pathtorepo/dir2')
586 self.checkJoin('ws://a/b','g','ws://a/g')
587 self.checkJoin('wss://a/b','g','wss://a/g')
588
589 # XXX: The following tests are no longer compatible with RFC3986
590 # self.checkJoin(SIMPLE_BASE, '../../../g','http://a/../g')
591 # self.checkJoin(SIMPLE_BASE, '/./g','http://a/./g')
592
593 # test for issue22118 duplicate slashes
594 self.checkJoin(SIMPLE_BASE + '/', 'foo', SIMPLE_BASE + '/foo')
595
596 # Non-RFC-defined tests, covering variations of base and trailing
597 # slashes
598 self.checkJoin('http://a/b/c/d/e/', '../../f/g/', 'http://a/b/c/f/g/')
599 self.checkJoin('http://a/b/c/d/e', '../../f/g/', 'http://a/b/f/g/')
600 self.checkJoin('http://a/b/c/d/e/', '/../../f/g/', 'http://a/f/g/')
601 self.checkJoin('http://a/b/c/d/e', '/../../f/g/', 'http://a/f/g/')
602 self.checkJoin('http://a/b/c/d/e/', '../../f/g', 'http://a/b/c/f/g')
603 self.checkJoin('http://a/b/', '../../f/g/', 'http://a/f/g/')
604
605 # issue 23703: don't duplicate filename
606 self.checkJoin('a', 'b', 'b')
607
608 # Test with empty (but defined) components.
609 self.checkJoin(RFC1808_BASE, '', 'http://a/b/c/d;p?q#f')
610 self.checkJoin(RFC1808_BASE, '#', 'http://a/b/c/d;p?q#', relroundtrip=False)
611 self.checkJoin(RFC1808_BASE, '#z', 'http://a/b/c/d;p?q#z')
612 self.checkJoin(RFC1808_BASE, '?', 'http://a/b/c/d;p?', relroundtrip=False)
613 self.checkJoin(RFC1808_BASE, '?#z', 'http://a/b/c/d;p?#z', relroundtrip=False)
614 self.checkJoin(RFC1808_BASE, '?y', 'http://a/b/c/d;p?y')

Callers

nothing calls this directly

Calls 1

checkJoinMethod · 0.95

Tested by

no test coverage detected