Default laptop key set to capslock. Keys that can be set to fenrir key or script key selectable via checkbox.
This commit is contained in:
1 parent
47f18fdd28
commit
15e04aa8f8
47 files changed
+1560
-351
No files matched your search
@@ -38,7 +38,7 @@ func TestSettingsFormCoversSchemaAndReturnsIsolatedDraft(t *testing.T) {
|
||||
t.Fatal(got)
|
||||
}
|
||||
values := session.Values()
|
||||
if len(values) != 55 {
|
||||
if len(values) != 64 {
|
||||
t.Fatal("missing settings or buttons", len(values))
|
||||
}
|
||||
unchanged, err := Settings(session, base)
|
||||
@@ -147,24 +147,48 @@ func TestCapitalCheckboxesRoundTripIndependently(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestInvalidSettingsEntriesDoNotSubmit(t *testing.T) {
|
||||
for _, field := range []string{"devices", "layout"} {
|
||||
session, err := New_session(config.Defaults(), []string{"keyboard"})
|
||||
func TestInvalidDeviceEntryDoesNotSubmit(t *testing.T) {
|
||||
session, err := New_session(config.Defaults(), []string{"keyboard"})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
session.Handle(interaction.Key{Name: "tab"})
|
||||
session.Handle(interaction.Key{Ctrl: true, Text: "a"})
|
||||
session.Handle(interaction.Key{Text: "invalid value"})
|
||||
if _, err := Settings(session, config.Defaults()); err == nil {
|
||||
t.Fatal("invalid devices accepted")
|
||||
}
|
||||
}
|
||||
|
||||
func TestKeyboardLayoutComboBox(t *testing.T) {
|
||||
for _, saved := range []string{"desktop", "laptop", "/tmp/custom.toml"} {
|
||||
base := config.Defaults()
|
||||
base.Keyboard.Layout = saved
|
||||
session, err := New_session(base, []string{"keyboard"})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
control := session.Values()["keyboard.layout"]
|
||||
if control.Kind != interaction.ComboBox || control.Choices[0].ID != "desktop" || control.Choices[1].ID != "laptop" || control.Choices[control.Selected].ID != saved {
|
||||
t.Fatal(control)
|
||||
}
|
||||
session.Handle(interaction.Key{Name: "tab"})
|
||||
session.Handle(interaction.Key{Name: "tab"})
|
||||
if field == "layout" {
|
||||
session.Handle(interaction.Key{Name: "tab"})
|
||||
}
|
||||
session.Handle(interaction.Key{Ctrl: true, Text: "a"})
|
||||
value := "invalid value"
|
||||
if field == "layout" {
|
||||
value = "old.conf"
|
||||
session.Handle(interaction.Key{Text: "old.conf"})
|
||||
draft, err := Settings(session, base)
|
||||
if err != nil || draft.Keyboard.Layout != saved {
|
||||
t.Fatal(draft.Keyboard.Layout, err)
|
||||
}
|
||||
session.Handle(interaction.Key{Text: value})
|
||||
if _, err := Settings(session, config.Defaults()); err == nil {
|
||||
t.Fatal("invalid field accepted", field)
|
||||
if saved == "desktop" {
|
||||
session.Handle(interaction.Key{Name: "down"})
|
||||
draft, err = Settings(session, base)
|
||||
if err != nil || draft.Keyboard.Layout != "laptop" {
|
||||
t.Fatal(draft.Keyboard.Layout, err)
|
||||
}
|
||||
if base.Keyboard.Layout != "desktop" {
|
||||
t.Fatal("draft changed original settings")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user