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.
 
 
 

47 lines
1.8 KiB

using System.Collections.Generic;
using Avalonia.Controls;
using Avalonia.Input;
using Avalonia.Interactivity;
using Xunit;
namespace Avalonia.Base.UnitTests.Interactivity
{
public class RoutedEventRegistryTests
{
[Fact]
public void Pointer_Events_Should_Be_Registered()
{
var expectedEvents = new List<RoutedEvent> { InputElement.PointerPressedEvent, InputElement.PointerReleasedEvent };
var registeredEvents = RoutedEventRegistry.Instance.GetRegistered<InputElement>();
Assert.Contains(registeredEvents, expectedEvents.Contains);
}
[Fact]
public void ClickEvent_Should_Be_Registered_On_Button()
{
var expectedEvents = new List<RoutedEvent> { Button.ClickEvent };
var registeredEvents = RoutedEventRegistry.Instance.GetRegistered<Button>();
Assert.Contains(registeredEvents, expectedEvents.Contains);
}
[Fact]
public void ClickEvent_Should_Not_Be_Registered_On_ContentControl()
{
// force ContentControl type to be loaded
new ContentControl();
var expectedEvents = new List<RoutedEvent> { Button.ClickEvent };
var registeredEvents = RoutedEventRegistry.Instance.GetRegistered<ContentControl>();
Assert.DoesNotContain(registeredEvents, expectedEvents.Contains);
}
[Fact]
public void InputElement_Events_Should_Not_Be_Registered_On_Button()
{
// force Button type to be loaded
new Button();
var expectedEvents = new List<RoutedEvent> { InputElement.PointerPressedEvent, InputElement.PointerReleasedEvent };
var registeredEvents = RoutedEventRegistry.Instance.GetRegistered<Button>();
Assert.DoesNotContain(registeredEvents, expectedEvents.Contains);
}
}
}