48 lines
1.7 KiB
Python
48 lines
1.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
from rfc3986.uri import URIReference
|
|
from rfc3986.misc import merge_paths
|
|
|
|
|
|
def test_merge_paths_with_base_path_without_base_authority():
|
|
"""Demonstrate merging with a base URI without an authority."""
|
|
base = URIReference(scheme=None,
|
|
authority=None,
|
|
path='/foo/bar/bogus',
|
|
query=None,
|
|
fragment=None)
|
|
expected = '/foo/bar/relative'
|
|
assert merge_paths(base, 'relative') == expected
|
|
|
|
|
|
def test_merge_paths_with_base_authority_and_path():
|
|
"""Demonstrate merging with a base URI with an authority and path."""
|
|
base = URIReference(scheme=None,
|
|
authority='authority',
|
|
path='/foo/bar/bogus',
|
|
query=None,
|
|
fragment=None)
|
|
expected = '/foo/bar/relative'
|
|
assert merge_paths(base, 'relative') == expected
|
|
|
|
|
|
def test_merge_paths_without_base_authority_or_path():
|
|
"""Demonstrate merging with a base URI without an authority or path."""
|
|
base = URIReference(scheme=None,
|
|
authority=None,
|
|
path=None,
|
|
query=None,
|
|
fragment=None)
|
|
expected = '/relative'
|
|
assert merge_paths(base, 'relative') == expected
|
|
|
|
|
|
def test_merge_paths_with_base_authority_without_path():
|
|
"""Demonstrate merging with a base URI without an authority or path."""
|
|
base = URIReference(scheme=None,
|
|
authority='authority',
|
|
path=None,
|
|
query=None,
|
|
fragment=None)
|
|
expected = '/relative'
|
|
assert merge_paths(base, 'relative') == expected
|