MCPcopy
hub / github.com/encode/starlette / test_multidict

Function test_multidict

tests/test_datastructures.py:463–549  ·  tests/test_datastructures.py::test_multidict
()

Source from the content-addressed store, hash-verified

461
462
463def test_multidict() -> None:
464 q = MultiDict([(class="st">"a", class="st">"123"), (class="st">"a", class="st">"456"), (class="st">"b", class="st">"789")])
465 assert class="st">"a" in q
466 assert class="st">"A" not in q
467 assert class="st">"c" not in q
468 assert q[class="st">"a"] == class="st">"456"
469 assert q.get(class="st">"a") == class="st">"456"
470 assert q.get(class="st">"nope", None) is None
471 assert q.getlist(class="st">"a") == [class="st">"123", class="st">"456"]
472 assert list(q.keys()) == [class="st">"a", class="st">"b"]
473 assert list(q.values()) == [class="st">"456", class="st">"789"]
474 assert list(q.items()) == [(class="st">"a", class="st">"456"), (class="st">"b", class="st">"789")]
475 assert len(q) == 2
476 assert list(q) == [class="st">"a", class="st">"b"]
477 assert dict(q) == {class="st">"a": class="st">"456", class="st">"b": class="st">"789"}
478 assert str(q) == class="st">"MultiDict([(&class="cm">#x27;a', '123'), ('a', '456'), ('b', '789')])"
479 assert repr(q) == class="st">"MultiDict([(&class="cm">#x27;a', '123'), ('a', '456'), ('b', '789')])"
480 assert MultiDict({class="st">"a": class="st">"123", class="st">"b": class="st">"456"}) == MultiDict([(class="st">"a", class="st">"123"), (class="st">"b", class="st">"456")])
481 assert MultiDict({class="st">"a": class="st">"123", class="st">"b": class="st">"456"}) == MultiDict({class="st">"b": class="st">"456", class="st">"a": class="st">"123"})
482 assert MultiDict() == MultiDict({})
483 assert MultiDict({class="st">"a": class="st">"123", class="st">"b": class="st">"456"}) != class="st">"invalid"
484
485 q = MultiDict([(class="st">"a", class="st">"123"), (class="st">"a", class="st">"456")])
486 assert MultiDict(q) == q
487
488 q = MultiDict([(class="st">"a", class="st">"123"), (class="st">"a", class="st">"456")])
489 q[class="st">"a"] = class="st">"789"
490 assert q[class="st">"a"] == class="st">"789"
491 assert q.get(class="st">"a") == class="st">"789"
492 assert q.getlist(class="st">"a") == [class="st">"789"]
493
494 q = MultiDict([(class="st">"a", class="st">"123"), (class="st">"a", class="st">"456")])
495 del q[class="st">"a"]
496 assert q.get(class="st">"a") is None
497 assert repr(q) == class="st">"MultiDict([])"
498
499 q = MultiDict([(class="st">"a", class="st">"123"), (class="st">"a", class="st">"456"), (class="st">"b", class="st">"789")])
500 assert q.pop(class="st">"a") == class="st">"456"
501 assert q.get(class="st">"a", None) is None
502 assert repr(q) == class="st">"MultiDict([(&class="cm">#x27;b', '789')])"
503
504 q = MultiDict([(class="st">"a", class="st">"123"), (class="st">"a", class="st">"456"), (class="st">"b", class="st">"789")])
505 item = q.popitem()
506 assert q.get(item[0]) is None
507
508 q = MultiDict([(class="st">"a", class="st">"123"), (class="st">"a", class="st">"456"), (class="st">"b", class="st">"789")])
509 assert q.poplist(class="st">"a") == [class="st">"123", class="st">"456"]
510 assert q.get(class="st">"a") is None
511 assert repr(q) == class="st">"MultiDict([(&class="cm">#x27;b', '789')])"
512
513 q = MultiDict([(class="st">"a", class="st">"123"), (class="st">"a", class="st">"456"), (class="st">"b", class="st">"789")])
514 q.clear()
515 assert q.get(class="st">"a") is None
516 assert repr(q) == class="st">"MultiDict([])"
517
518 q = MultiDict([(class="st">"a", class="st">"123")])
519 q.setlist(class="st">"a", [class="st">"456", class="st">"789"])
520 assert q.getlist(class="st">"a") == [class="st">"456", class="st">"789"]

Callers

nothing calls this directly

Calls 14

popMethod · 0.95
popitemMethod · 0.95
poplistMethod · 0.95
clearMethod · 0.95
setlistMethod · 0.95
setdefaultMethod · 0.95
appendMethod · 0.95
updateMethod · 0.95
MultiDictClass · 0.90
getMethod · 0.45
getlistMethod · 0.45
keysMethod · 0.45

Tested by

no test coverage detected