47 lines
1 KiB
Go
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)
|
|
}
|