コード例 #1
0
ファイル: test_generic.py プロジェクト: eevee/lurid
def test_buildup():
    foo = URI()
    # DEVIATION: lurid refuses to magically change relative paths to absolute
    foo.path_string = "/path"
    foo.parse_authority(b"auth")
    assert str(foo) == b"//auth/path"

    # TODO: $foo = URI->new("", "http:");
    foo = URI()
    foo.query = "query"
    foo.parse_authority(b"auth")
    assert str(foo) == b"//auth?query"

    foo.path_string = "/path"
    assert str(foo) == b"//auth/path?query"

    foo = URI.parse(b"")
    assert foo.path_string == ""
    foo.parse_path(b"foo")
    assert foo.path_string == "foo"
    assert str(foo) == b"foo"

    foo.parse_path(b"bar")
    assert foo.path_string == "bar"
    assert foo.opaque == "bar"
    assert str(foo) == b"bar"

    foo.parse_opaque(b"foo")
    assert foo.path_string == "foo"
    assert foo.opaque == "foo"
    assert str(foo) == b"foo"

    foo.parse_path(b"")
    assert str(foo) == b""

    assert foo.query == None
    foo.query = "q"
    assert str(foo) == b"?q"