34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
from httpx import QueryParams
|
|
|
|
|
|
def test_queryparams():
|
|
q = QueryParams("a=123&a=456&b=789")
|
|
assert "a" in q
|
|
assert "A" not in q
|
|
assert "c" not in q
|
|
assert q["a"] == "456"
|
|
assert q.get("a") == "456"
|
|
assert q.get("nope", default=None) is None
|
|
assert q.getlist("a") == ["123", "456"]
|
|
assert list(q.keys()) == ["a", "b"]
|
|
assert list(q.values()) == ["456", "789"]
|
|
assert list(q.items()) == [("a", "456"), ("b", "789")]
|
|
assert len(q) == 2
|
|
assert list(q) == ["a", "b"]
|
|
assert dict(q) == {"a": "456", "b": "789"}
|
|
assert str(q) == "a=123&a=456&b=789"
|
|
assert repr(q) == "QueryParams('a=123&a=456&b=789')"
|
|
assert QueryParams({"a": "123", "b": "456"}) == QueryParams(
|
|
[("a", "123"), ("b", "456")]
|
|
)
|
|
assert QueryParams({"a": "123", "b": "456"}) == QueryParams("a=123&b=456")
|
|
assert QueryParams({"a": "123", "b": "456"}) == QueryParams(
|
|
{"b": "456", "a": "123"}
|
|
)
|
|
assert QueryParams() == QueryParams({})
|
|
assert QueryParams([("a", "123"), ("a", "456")]) == QueryParams("a=123&a=456")
|
|
assert QueryParams({"a": "123", "b": "456"}) != "invalid"
|
|
|
|
q = QueryParams([("a", "123"), ("a", "456")])
|
|
assert QueryParams(q) == q
|