RoutedEventRegistryTests.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using System.Collections.Generic;
  2. using Avalonia.Controls;
  3. using Avalonia.Input;
  4. using Avalonia.Interactivity;
  5. using Xunit;
  6. namespace Avalonia.Base.UnitTests.Interactivity
  7. {
  8. public class RoutedEventRegistryTests
  9. {
  10. [Fact]
  11. public void Pointer_Events_Should_Be_Registered()
  12. {
  13. var expectedEvents = new List<RoutedEvent> { InputElement.PointerPressedEvent, InputElement.PointerReleasedEvent };
  14. var registeredEvents = RoutedEventRegistry.Instance.GetRegistered<InputElement>();
  15. Assert.Contains(registeredEvents, expectedEvents.Contains);
  16. }
  17. [Fact]
  18. public void ClickEvent_Should_Be_Registered_On_Button()
  19. {
  20. var expectedEvents = new List<RoutedEvent> { Button.ClickEvent };
  21. var registeredEvents = RoutedEventRegistry.Instance.GetRegistered<Button>();
  22. Assert.Contains(registeredEvents, expectedEvents.Contains);
  23. }
  24. [Fact]
  25. public void ClickEvent_Should_Not_Be_Registered_On_ContentControl()
  26. {
  27. // force ContentControl type to be loaded
  28. new ContentControl();
  29. var expectedEvents = new List<RoutedEvent> { Button.ClickEvent };
  30. var registeredEvents = RoutedEventRegistry.Instance.GetRegistered<ContentControl>();
  31. Assert.DoesNotContain(registeredEvents, expectedEvents.Contains);
  32. }
  33. [Fact]
  34. public void InputElement_Events_Should_Not_Be_Registered_On_Button()
  35. {
  36. // force Button type to be loaded
  37. new Button();
  38. var expectedEvents = new List<RoutedEvent> { InputElement.PointerPressedEvent, InputElement.PointerReleasedEvent };
  39. var registeredEvents = RoutedEventRegistry.Instance.GetRegistered<Button>();
  40. Assert.DoesNotContain(registeredEvents, expectedEvents.Contains);
  41. }
  42. }
  43. }