diff options
author | Junegunn Choi <junegunn.c@gmail.com> | 2015-05-20 21:25:15 +0900 |
---|---|---|
committer | Junegunn Choi <junegunn.c@gmail.com> | 2015-05-21 00:32:03 +0900 |
commit | 1592bedbe82e2c58dcc9b990655c65a1116d1ff7 (patch) | |
tree | 65b60ec00a2e8038325f73910babfb80b137cf82 /src/options_test.go | |
parent | 15099eb13b075891df9cb20e65bdf9ebd3acbb92 (diff) |
Custom key binding support (#238)
Diffstat (limited to 'src/options_test.go')
-rw-r--r-- | src/options_test.go | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/options_test.go b/src/options_test.go index 36959da4..ad9a6fb5 100644 --- a/src/options_test.go +++ b/src/options_test.go @@ -129,3 +129,29 @@ func TestParseKeysWithComma(t *testing.T) { check(len(keys), 1) check(keys[0], curses.AltZ+',') } + +func TestBind(t *testing.T) { + check := func(action actionType, expected actionType) { + if action != expected { + t.Errorf("%d != %d", action, expected) + } + } + keymap := defaultKeymap() + check(actBeginningOfLine, keymap[curses.CtrlA]) + keymap, toggleSort := + parseKeymap(keymap, false, + "ctrl-a:kill-line,ctrl-b:toggle-sort,c:page-up,alt-z:page-down") + if !toggleSort { + t.Errorf("toggleSort not set") + } + check(actKillLine, keymap[curses.CtrlA]) + check(actToggleSort, keymap[curses.CtrlB]) + check(actPageUp, keymap[curses.AltZ+'c']) + check(actPageDown, keymap[curses.AltZ]) + + keymap, toggleSort = parseKeymap(keymap, false, "f1:abort") + if toggleSort { + t.Errorf("toggleSort set") + } + check(actAbort, keymap[curses.F1]) +} |