A cross-platform UI framework for .NET
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

46 lines
1.4 KiB

using Avalonia.Automation;
using Avalonia.Automation.Peers;
using Avalonia.Controls;
using Avalonia.Controls.Templates;
using Avalonia.UnitTests;
using Xunit;
namespace Avalonia.Controls.UnitTests.Automation;
public class NativeMenuBarAutomationPeerTests
{
public class PeerCreation : ScopedTestBase
{
[Fact]
public void Creates_NativeMenuBarAutomationPeer()
{
var control = new NativeMenuBar { Template = CreateTemplate() };
var peer = ControlAutomationPeer.CreatePeerForElement(control);
Assert.IsType<NativeMenuBarAutomationPeer>(peer);
}
[Fact]
public void ControlType_Is_MenuBar()
{
var control = new NativeMenuBar { Template = CreateTemplate() };
var peer = (NativeMenuBarAutomationPeer)ControlAutomationPeer.CreatePeerForElement(control);
Assert.Equal(AutomationControlType.MenuBar, peer.GetAutomationControlType());
}
}
private static FuncControlTemplate CreateTemplate()
{
return new FuncControlTemplate((_, ns) =>
new Menu
{
Name = "PART_NativeMenuPresenter",
Items =
{
new MenuItem { Header = "File" },
new MenuItem { Header = "Edit" },
},
}.RegisterInNameScope(ns));
}
}