(self)
| 445 | storage_class = _OrderedMultiDict |
| 446 | |
| 447 | def test_ordered_interface(self): |
| 448 | cls = self.storage_class |
| 449 | |
| 450 | d = cls() |
| 451 | assert not d |
| 452 | d.add("foo", "bar") |
| 453 | assert len(d) == 1 |
| 454 | d.add("foo", "baz") |
| 455 | assert len(d) == 1 |
| 456 | assert list(d.items()) == [("foo", "bar")] |
| 457 | assert list(d) == ["foo"] |
| 458 | assert list(d.items(multi=True)) == [("foo", "bar"), ("foo", "baz")] |
| 459 | del d["foo"] |
| 460 | assert not d |
| 461 | assert len(d) == 0 |
| 462 | assert list(d) == [] |
| 463 | |
| 464 | d.update([("foo", 1), ("foo", 2), ("bar", 42)]) |
| 465 | d.add("foo", 3) |
| 466 | assert d.getlist("foo") == [1, 2, 3] |
| 467 | assert d.getlist("bar") == [42] |
| 468 | assert list(d.items()) == [("foo", 1), ("bar", 42)] |
| 469 | |
| 470 | expected = ["foo", "bar"] |
| 471 | |
| 472 | assert list(d.keys()) == expected |
| 473 | assert list(d) == expected |
| 474 | assert list(d.keys()) == expected |
| 475 | |
| 476 | assert list(d.items(multi=True)) == [ |
| 477 | ("foo", 1), |
| 478 | ("foo", 2), |
| 479 | ("bar", 42), |
| 480 | ("foo", 3), |
| 481 | ] |
| 482 | assert len(d) == 2 |
| 483 | |
| 484 | assert d.pop("foo") == 1 |
| 485 | assert d.pop("blafasel", None) is None |
| 486 | assert d.pop("blafasel", 42) == 42 |
| 487 | assert len(d) == 1 |
| 488 | assert d.poplist("bar") == [42] |
| 489 | assert not d |
| 490 | |
| 491 | assert d.get("missingkey") is None |
| 492 | |
| 493 | d.add("foo", 42) |
| 494 | d.add("foo", 23) |
| 495 | d.add("bar", 2) |
| 496 | d.add("foo", 42) |
| 497 | assert d == ds.MultiDict(d) |
| 498 | id = self.storage_class(d) |
| 499 | assert d == id |
| 500 | d.add("foo", 2) |
| 501 | assert d != id |
| 502 | |
| 503 | d.update({"blah": [1, 2, 3]}) |
| 504 | assert d["blah"] == 1 |
nothing calls this directly
no test coverage detected