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.
 
 
 

49 lines
2.0 KiB

// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using System.Collections.Generic;
using Avalonia.Controls;
using Avalonia.Input;
using Xunit;
namespace Avalonia.Interactivity.UnitTests
{
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);
}
}
}