fix(key): Unbound keys should be disabled

* fix condition for #188
This is a fix of https://github.com/charmbracelet/bubbles/pull/188
Unbound keys has nil keys and they are not Enabled
This commit is contained in:
Hironao OTSUBO
2022-07-11 10:45:18 -04:00
committed by GitHub
parent 746ec595c3
commit e49b5573bc
2 changed files with 27 additions and 1 deletions
+1 -1
View File
@@ -106,7 +106,7 @@ func (b Binding) Help() Help {
// keybindings won't be activated and won't show up in help. Keybindings are
// enabled by default.
func (b Binding) Enabled() bool {
return !b.disabled || b.keys == nil
return !b.disabled && b.keys != nil
}
// SetEnabled enables or disables the keybinding.
+26
View File
@@ -0,0 +1,26 @@
package key
import (
"testing"
)
func TestBinding_Enabled(t *testing.T) {
binding := NewBinding(
WithKeys("k", "up"),
WithHelp("↑/k", "move up"),
)
if !binding.Enabled() {
t.Errorf("expected key to be Enabled")
}
binding.SetEnabled(false)
if binding.Enabled() {
t.Errorf("expected key not to be Enabled")
}
binding.SetEnabled(true)
binding.Unbind()
if binding.Enabled() {
t.Errorf("expected key not to be Enabled")
}
}