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

Method test_RFC3986

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

Source from the content-addressed store, hash-verified

498 # self.checkJoin(RFC2396_BASE, '/../g', 'http://a/../g')
499
500 def test_RFC3986(self):
501 self.checkJoin(RFC3986_BASE, '?y','http://a/b/c/d;p?y')
502 self.checkJoin(RFC3986_BASE, ';x', 'http://a/b/c/;x')
503 self.checkJoin(RFC3986_BASE, 'g:h','g:h')
504 self.checkJoin(RFC3986_BASE, 'g','http://a/b/c/g')
505 self.checkJoin(RFC3986_BASE, './g','http://a/b/c/g')
506 self.checkJoin(RFC3986_BASE, 'g/','http://a/b/c/g/')
507 self.checkJoin(RFC3986_BASE, '/g','http://a/g')
508 self.checkJoin(RFC3986_BASE, '//g','http://g')
509 self.checkJoin(RFC3986_BASE, '?y','http://a/b/c/d;p?y')
510 self.checkJoin(RFC3986_BASE, 'g?y','http://a/b/c/g?y')
511 self.checkJoin(RFC3986_BASE, '#s','http://a/b/c/d;p?q#s')
512 self.checkJoin(RFC3986_BASE, 'g#s','http://a/b/c/g#s')
513 self.checkJoin(RFC3986_BASE, 'g?y#s','http://a/b/c/g?y#s')
514 self.checkJoin(RFC3986_BASE, ';x','http://a/b/c/;x')
515 self.checkJoin(RFC3986_BASE, 'g;x','http://a/b/c/g;x')
516 self.checkJoin(RFC3986_BASE, 'g;x?y#s','http://a/b/c/g;x?y#s')
517 self.checkJoin(RFC3986_BASE, '','http://a/b/c/d;p?q')
518 self.checkJoin(RFC3986_BASE, '.','http://a/b/c/')
519 self.checkJoin(RFC3986_BASE, './','http://a/b/c/')
520 self.checkJoin(RFC3986_BASE, '..','http://a/b/')
521 self.checkJoin(RFC3986_BASE, '../','http://a/b/')
522 self.checkJoin(RFC3986_BASE, '../g','http://a/b/g')
523 self.checkJoin(RFC3986_BASE, '../..','http://a/')
524 self.checkJoin(RFC3986_BASE, '../../','http://a/')
525 self.checkJoin(RFC3986_BASE, '../../g','http://a/g')
526 self.checkJoin(RFC3986_BASE, '../../../g', 'http://a/g')
527
528 # Abnormal Examples
529
530 # The 'abnormal scenarios' are incompatible with RFC2986 parsing
531 # Tests are here for reference.
532
533 self.checkJoin(RFC3986_BASE, '../../../g','http://a/g')
534 self.checkJoin(RFC3986_BASE, '../../../../g','http://a/g')
535 self.checkJoin(RFC3986_BASE, '/./g','http://a/g')
536 self.checkJoin(RFC3986_BASE, '/../g','http://a/g')
537 self.checkJoin(RFC3986_BASE, 'g.','http://a/b/c/g.')
538 self.checkJoin(RFC3986_BASE, '.g','http://a/b/c/.g')
539 self.checkJoin(RFC3986_BASE, 'g..','http://a/b/c/g..')
540 self.checkJoin(RFC3986_BASE, '..g','http://a/b/c/..g')
541 self.checkJoin(RFC3986_BASE, './../g','http://a/b/g')
542 self.checkJoin(RFC3986_BASE, './g/.','http://a/b/c/g/')
543 self.checkJoin(RFC3986_BASE, 'g/./h','http://a/b/c/g/h')
544 self.checkJoin(RFC3986_BASE, 'g/../h','http://a/b/c/h')
545 self.checkJoin(RFC3986_BASE, 'g;x=1/./y','http://a/b/c/g;x=1/y')
546 self.checkJoin(RFC3986_BASE, 'g;x=1/../y','http://a/b/c/y')
547 self.checkJoin(RFC3986_BASE, 'g?y/./x','http://a/b/c/g?y/./x')
548 self.checkJoin(RFC3986_BASE, 'g?y/../x','http://a/b/c/g?y/../x')
549 self.checkJoin(RFC3986_BASE, 'g#s/./x','http://a/b/c/g#s/./x')
550 self.checkJoin(RFC3986_BASE, 'g#s/../x','http://a/b/c/g#s/../x')
551 #self.checkJoin(RFC3986_BASE, 'http:g','http:g') # strict parser
552 self.checkJoin(RFC3986_BASE, 'http:g','http://a/b/c/g') #relaxed parser
553
554 # Test for issue9721
555 self.checkJoin('http://a/b/c/de', ';x','http://a/b/c/;x')
556
557 def test_urljoins(self):

Callers

nothing calls this directly

Calls 1

checkJoinMethod · 0.95

Tested by

no test coverage detected