aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2016-12-03 11:54:04 +1300
committerAldo Cortesi <aldo@nullcube.com>2016-12-08 10:21:06 +1300
commitc062e302e9281e4d8e216595b14fb089ed784b4e (patch)
tree7c36e63278d03cdf01aba3dcbcbfca95fbef0087 /test
parent0c091bd92b9f0f59c65cf392f334719294ef397e (diff)
downloadmitmproxy-c062e302e9281e4d8e216595b14fb089ed784b4e.tar.gz
mitmproxy-c062e302e9281e4d8e216595b14fb089ed784b4e.tar.bz2
mitmproxy-c062e302e9281e4d8e216595b14fb089ed784b4e.zip
Add OptManager.subscribe, use it to clean up palettes in console
.subscribe lets you subscribe a function to a specified set of options.
Diffstat (limited to 'test')
-rw-r--r--test/mitmproxy/test_optmanager.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/mitmproxy/test_optmanager.py b/test/mitmproxy/test_optmanager.py
index 345512fd..c7808391 100644
--- a/test/mitmproxy/test_optmanager.py
+++ b/test/mitmproxy/test_optmanager.py
@@ -104,6 +104,29 @@ def test_toggler():
o.toggler("nonexistent")
+class Rec():
+ def __init__(self):
+ self.called = None
+
+ def __call__(self, *args, **kwargs):
+ self.called = (args, kwargs)
+
+
+def test_subscribe():
+ o = TO()
+ r = Rec()
+ o.subscribe(r, ["two"])
+ o.one = "foo"
+ assert not r.called
+ o.two = "foo"
+ assert r.called
+
+ assert len(o.changed.receivers) == 1
+ del r
+ o.two = "bar"
+ assert len(o.changed.receivers) == 0
+
+
def test_rollback():
o = TO(one="two")