diff options
author | Maximilian Hils <git@maximilianhils.com> | 2017-03-14 02:18:02 +0100 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2017-03-14 02:18:02 +0100 |
commit | de1de3f626c142df759cd14aac5c46fd878d2d3c (patch) | |
tree | 74b83a6bc281f27fbe9b85ce73b2204436edcf92 | |
parent | 124a6c9e5af44121208c3362215cc3ea895ffad7 (diff) | |
download | mitmproxy-de1de3f626c142df759cd14aac5c46fd878d2d3c.tar.gz mitmproxy-de1de3f626c142df759cd14aac5c46fd878d2d3c.tar.bz2 mitmproxy-de1de3f626c142df759cd14aac5c46fd878d2d3c.zip |
add MultiDictView.copy
-rw-r--r-- | mitmproxy/types/multidict.py | 3 | ||||
-rw-r--r-- | test/mitmproxy/types/test_multidict.py | 9 |
2 files changed, 12 insertions, 0 deletions
diff --git a/mitmproxy/types/multidict.py b/mitmproxy/types/multidict.py index 31a1f22b..ac49200b 100644 --- a/mitmproxy/types/multidict.py +++ b/mitmproxy/types/multidict.py @@ -230,3 +230,6 @@ class MultiDictView(_MultiDict): @fields.setter def fields(self, value): self._setter(value) + + def copy(self): + return MultiDict(self.fields) diff --git a/test/mitmproxy/types/test_multidict.py b/test/mitmproxy/types/test_multidict.py index 9b13c5cd..7d38f6ba 100644 --- a/test/mitmproxy/types/test_multidict.py +++ b/test/mitmproxy/types/test_multidict.py @@ -205,3 +205,12 @@ class TestMultiDictView: tv["c"] = "b" assert p.vals == (("a", "b"), ("c", "b")) assert tv["a"] == "b" + + def test_copy(self): + p = TParent() + tv = multidict.MultiDictView(p.getter, p.setter) + c = tv.copy() + assert isinstance(c, multidict.MultiDict) + assert tv.items() == c.items() + c["foo"] = "bar" + assert tv.items() != c.items() |