gui/pkg/menu/mock_platform_test.go
Snider e83d2559bb
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
Add missing GUI unit coverage
2026-04-15 23:17:52 +01:00

47 lines
1 KiB
Go

package menu
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestMockPlatform_NewMenu_Good(t *testing.T) {
p := NewMockPlatform()
menu := p.NewMenu()
require.NotNil(t, menu)
root, ok := menu.(*exportedMockPlatformMenu)
require.True(t, ok)
item := root.Add("Open")
require.NotNil(t, item)
item.SetAccelerator("Cmd+O").SetTooltip("open").SetChecked(true).SetEnabled(false).OnClick(func() {})
root.AddSeparator()
sub := root.AddSubmenu("More")
sub.AddRole(RoleHelpMenu)
assert.NotNil(t, root)
assert.NotNil(t, sub)
}
func TestMockPlatform_SetApplicationMenu_Bad(t *testing.T) {
p := NewMockPlatform()
menu := p.NewMenu()
p.SetApplicationMenu(menu)
assert.NotNil(t, menu)
}
func TestMockPlatform_NewMenu_Ugly(t *testing.T) {
p := NewMockPlatform()
root := p.NewMenu().(*exportedMockPlatformMenu)
root.AddRole(RoleAppMenu)
root.AddRole(RoleFileMenu)
root.AddRole(RoleEditMenu)
root.AddRole(RoleViewMenu)
root.AddRole(RoleWindowMenu)
root.AddRole(RoleHelpMenu)
assert.NotNil(t, root)
}