23 lines
725 B
Go
23 lines
725 B
Go
// Copyright (c) 2026 Storm Dragon
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
package config
|
|
|
|
import "testing"
|
|
|
|
func TestModifierFileValidation(t *testing.T) {
|
|
for _, data := range []string{
|
|
"[keyboard]\nfenrir_keys=[]",
|
|
"[keyboard]\nfenrir_keys=['KEY_CTRL']",
|
|
"[keyboard]\nfenrir_keys=['KEY_META']\n[general]\nscript_keys=['KEY_RIGHTMETA']",
|
|
"[keyboard]\nfenrir_keys=['KEY_CAPSLOCK']\n[general]\nscript_keys=['KEY_CAPSLOCK']",
|
|
} {
|
|
if _, err := Decode([]byte("version=3\n" + data)); err == nil {
|
|
t.Fatal("invalid modifiers accepted", data)
|
|
}
|
|
}
|
|
if _, err := Decode([]byte("version=3\n[keyboard]\nfenrir_keys=['KEY_RIGHTMETA']\n[general]\nscript_keys=['KEY_LEFTMETA']")); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
}
|