diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2017-05-01 16:28:00 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2017-05-01 16:52:58 +1200 |
commit | 1ea4a5a48ef096f314ac81af8426a8e911336729 (patch) | |
tree | afda2e5ccefbcda0164827d4cebbf1cff1482292 /test | |
parent | 670d1e408b565f673ebb2c5d498ad5ddf4558d8b (diff) | |
download | mitmproxy-1ea4a5a48ef096f314ac81af8426a8e911336729.tar.gz mitmproxy-1ea4a5a48ef096f314ac81af8426a8e911336729.tar.bz2 mitmproxy-1ea4a5a48ef096f314ac81af8426a8e911336729.zip |
keymap: keys can now bind to multiple contexts
Use this to map the majority of the keys in flowview.
Diffstat (limited to 'test')
-rw-r--r-- | test/mitmproxy/addons/test_view.py | 7 | ||||
-rw-r--r-- | test/mitmproxy/tools/console/test_keymap.py | 29 |
2 files changed, 35 insertions, 1 deletions
diff --git a/test/mitmproxy/addons/test_view.py b/test/mitmproxy/addons/test_view.py index 1724da49..eca4b546 100644 --- a/test/mitmproxy/addons/test_view.py +++ b/test/mitmproxy/addons/test_view.py @@ -218,7 +218,7 @@ def test_resolve(): tctx.command(v.resolve, "~") -def test_go(): +def test_movement(): v = view.View() with taddons.context(): v.add([ @@ -240,6 +240,11 @@ def test_go(): v.go(-999) assert v.focus.index == 0 + v.focus_next() + assert v.focus.index == 1 + v.focus_prev() + assert v.focus.index == 0 + def test_duplicate(): v = view.View() diff --git a/test/mitmproxy/tools/console/test_keymap.py b/test/mitmproxy/tools/console/test_keymap.py new file mode 100644 index 00000000..6a75800e --- /dev/null +++ b/test/mitmproxy/tools/console/test_keymap.py @@ -0,0 +1,29 @@ +from mitmproxy.tools.console import keymap +from mitmproxy.test import taddons +from unittest import mock +import pytest + + +def test_bind(): + with taddons.context() as tctx: + km = keymap.Keymap(tctx.master) + km.executor = mock.Mock() + + with pytest.raises(ValueError): + km.add("foo", "bar", ["unsupported"]) + + km.add("key", "str", ["options", "commands"]) + assert km.get("options", "key") + assert km.get("commands", "key") + assert not km.get("flowlist", "key") + + km.handle("unknown", "unknown") + assert not km.executor.called + + km.handle("options", "key") + assert km.executor.called + + km.add("glob", "str", ["global"]) + km.executor = mock.Mock() + km.handle("options", "glob") + assert km.executor.called |