github.com/daidehu6831/wails/v2@v2.2.0/pkg/menu/keys/parser_test.go (about) 1 package keys 2 3 import ( 4 "testing" 5 6 "github.com/matryer/is" 7 ) 8 9 func TestParse(t *testing.T) { 10 11 i := is.New(t) 12 13 type args struct { 14 Input string 15 Expected *Accelerator 16 } 17 18 gooddata := []args{ 19 {"CmdOrCtrl+A", CmdOrCtrl("A")}, 20 {"SHIFT+.", Shift(".")}, 21 {"CTRL+plus", Control("+")}, 22 {"CTRL+SHIFT+escApe", Combo("escape", ControlKey, ShiftKey)}, 23 {";", Key(";")}, 24 {"OptionOrAlt+Page Down", OptionOrAlt("Page Down")}, 25 } 26 for _, tt := range gooddata { 27 result, err := Parse(tt.Input) 28 i.NoErr(err) 29 i.Equal(result, tt.Expected) 30 } 31 baddata := []string{"CmdOrCrl+A", "SHIT+.", "CTL+plus", "CTRL+SHIF+esApe", "escap", "Sper+Tab", "OptionOrAlt"} 32 for _, d := range baddata { 33 result, err := Parse(d) 34 i.True(err != nil) 35 i.Equal(result, nil) 36 } 37 }