github.com/daidehu6831/wails/v2@v2.2.0/pkg/menu/keys/stringify_test.go (about) 1 package keys 2 3 import ( 4 "strconv" 5 "testing" 6 ) 7 8 func TestStringify(t *testing.T) { 9 10 const Windows = "windows" 11 const Mac = "darwin" 12 const Linux = "linux" 13 tests := []struct { 14 arg *Accelerator 15 want string 16 platform string 17 }{ 18 // Single Keys 19 {Key("a"), "A", Windows}, 20 {Key(""), "", Windows}, 21 {Key("?"), "?", Windows}, 22 {Key("a"), "A", Mac}, 23 {Key(""), "", Mac}, 24 {Key("?"), "?", Mac}, 25 {Key("a"), "A", Linux}, 26 {Key(""), "", Linux}, 27 {Key("?"), "?", Linux}, 28 29 // Single modifier 30 {Control("a"), "Ctrl+A", Windows}, 31 {Control("a"), "Ctrl+A", Mac}, 32 {Control("a"), "Ctrl+A", Linux}, 33 {CmdOrCtrl("a"), "Ctrl+A", Windows}, 34 {CmdOrCtrl("a"), "Cmd+A", Mac}, 35 {CmdOrCtrl("a"), "Ctrl+A", Linux}, 36 {Shift("a"), "Shift+A", Windows}, 37 {Shift("a"), "Shift+A", Mac}, 38 {Shift("a"), "Shift+A", Linux}, 39 {OptionOrAlt("a"), "Alt+A", Windows}, 40 {OptionOrAlt("a"), "Option+A", Mac}, 41 {OptionOrAlt("a"), "Alt+A", Linux}, 42 //{Super("a"), "Win+A", Windows}, 43 //{Super("a"), "Cmd+A", Mac}, 44 //{Super("a"), "Super+A", Linux}, 45 46 // Dual Combo non duplicate 47 {Combo("a", ControlKey, OptionOrAltKey), "Ctrl+Alt+A", Windows}, 48 {Combo("a", ControlKey, OptionOrAltKey), "Ctrl+Option+A", Mac}, 49 {Combo("a", ControlKey, OptionOrAltKey), "Ctrl+Alt+A", Linux}, 50 {Combo("a", CmdOrCtrlKey, OptionOrAltKey), "Ctrl+Alt+A", Windows}, 51 {Combo("a", CmdOrCtrlKey, OptionOrAltKey), "Cmd+Option+A", Mac}, 52 {Combo("a", CmdOrCtrlKey, OptionOrAltKey), "Ctrl+Alt+A", Linux}, 53 {Combo("a", ShiftKey, OptionOrAltKey), "Shift+Alt+A", Windows}, 54 {Combo("a", ShiftKey, OptionOrAltKey), "Shift+Option+A", Mac}, 55 {Combo("a", ShiftKey, OptionOrAltKey), "Shift+Alt+A", Linux}, 56 //{Combo("a", SuperKey, OptionOrAltKey), "Win+Alt+A", Windows}, 57 //{Combo("a", SuperKey, OptionOrAltKey), "Cmd+Option+A", Mac}, 58 //{Combo("a", SuperKey, OptionOrAltKey), "Super+Alt+A", Linux}, 59 60 // Combo duplicate 61 {Combo("a", OptionOrAltKey, OptionOrAltKey), "Alt+A", Windows}, 62 {Combo("a", OptionOrAltKey, OptionOrAltKey), "Option+A", Mac}, 63 {Combo("a", OptionOrAltKey, OptionOrAltKey), "Alt+A", Linux}, 64 //{Combo("a", OptionOrAltKey, SuperKey, OptionOrAltKey), "Alt+Win+A", Windows}, 65 //{Combo("a", OptionOrAltKey, SuperKey, OptionOrAltKey), "Option+Cmd+A", Mac}, 66 //{Combo("a", OptionOrAltKey, SuperKey, OptionOrAltKey), "Alt+Super+A", Linux}, 67 } 68 for index, tt := range tests { 69 t.Run(strconv.Itoa(index), func(t *testing.T) { 70 if got := Stringify(tt.arg, tt.platform); got != tt.want { 71 t.Errorf("Stringify() = %v, want %v", got, tt.want) 72 } 73 }) 74 } 75 }