test: WIP, fix an issue when passing year event.
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Headless;
|
||||
using Avalonia.Headless.XUnit;
|
||||
using Avalonia.Input;
|
||||
using Avalonia.Threading;
|
||||
using Ursa.Controls;
|
||||
|
||||
namespace HeadlessTest.Ursa.Controls.DateTimePicker;
|
||||
|
||||
public class CalendarDayButtonTests
|
||||
{
|
||||
[AvaloniaFact]
|
||||
public void OnPointerReleased_RaisesDateSelectedEvent()
|
||||
{
|
||||
Window window = new Window();
|
||||
var button = new CalendarDayButton();
|
||||
var date = new DateTime(2023, 5, 15);
|
||||
button.DataContext = date;
|
||||
window.Content = button;
|
||||
window.Show();
|
||||
Dispatcher.UIThread.RunJobs();
|
||||
int eventRaised = 0;
|
||||
DateTime? eventContext = null;
|
||||
|
||||
void OnMouseClick(object? sender, CalendarDayButtonEventArgs args)
|
||||
{
|
||||
eventRaised++;
|
||||
eventContext = args.Date;
|
||||
}
|
||||
|
||||
button.DateSelected += OnMouseClick;
|
||||
window.MouseUp(new Point(10, 10), MouseButton.Left);
|
||||
Assert.Equal(1, eventRaised);
|
||||
Assert.Equal(date, eventContext);
|
||||
button.DateSelected -= OnMouseClick;
|
||||
eventContext = null;
|
||||
window.MouseUp(new Point(10, 10), MouseButton.Left);
|
||||
Assert.Null(eventContext);
|
||||
Assert.Equal(1, eventRaised);
|
||||
}
|
||||
|
||||
[AvaloniaFact]
|
||||
public void OnPointerEntered_RaisesDatePreviewedEvent()
|
||||
{
|
||||
Window window = new Window();
|
||||
var button = new CalendarDayButton();
|
||||
var date = new DateTime(2023, 5, 15);
|
||||
button.DataContext = date;
|
||||
window.Content = button;
|
||||
window.Show();
|
||||
Dispatcher.UIThread.RunJobs();
|
||||
int eventRaised = 0;
|
||||
DateTime? eventContext = null;
|
||||
|
||||
void OnMouseEnter(object? sender, CalendarDayButtonEventArgs args)
|
||||
{
|
||||
eventRaised++;
|
||||
eventContext = args.Date;
|
||||
}
|
||||
|
||||
button.DatePreviewed += OnMouseEnter;
|
||||
window.MouseMove(new Point(10, 10));
|
||||
Assert.Equal(1, eventRaised);
|
||||
Assert.Equal(date, eventContext);
|
||||
window.MouseMove(new Point(100, 100));
|
||||
button.DatePreviewed -= OnMouseEnter;
|
||||
eventContext = null;
|
||||
window.MouseMove(new Point(10, 10));
|
||||
Assert.Null(eventContext);
|
||||
Assert.Equal(1, eventRaised);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user