From 981f47f05035b700a3b723653d887f338dfbcc1b Mon Sep 17 00:00:00 2001 From: Valery Varaksa <119746866+loyvsc@users.noreply.github.com> Date: Sat, 28 Sep 2024 07:44:33 +0300 Subject: [PATCH] Fix HeadlessWindowImpl.Position does not persist new value (#17103) * Fix HeadlessWindowImpl.Position does not persist new value * Create unit-test for 17071 fix * Fix CI errors --------- Co-authored-by: Max Katz --- .../Avalonia.Headless/HeadlessWindowImpl.cs | 3 ++- tests/Avalonia.Headless.UnitTests/InputTests.cs | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs b/src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs index 11d62d11c6..5ff9b8d1ae 100644 --- a/src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs +++ b/src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs @@ -362,7 +362,8 @@ namespace Avalonia.Headless void IWindowImpl.Move(PixelPoint point) { - + Position = point; + PositionChanged?.Invoke(point); } public IPopupImpl? CreatePopup() diff --git a/tests/Avalonia.Headless.UnitTests/InputTests.cs b/tests/Avalonia.Headless.UnitTests/InputTests.cs index e751e14df3..f96606b5bb 100644 --- a/tests/Avalonia.Headless.UnitTests/InputTests.cs +++ b/tests/Avalonia.Headless.UnitTests/InputTests.cs @@ -58,6 +58,19 @@ public class InputTests Assert.True(buttonClicked); } + +#if NUNIT + [AvaloniaTest, Timeout(10000)] +#elif XUNIT + [AvaloniaFact(Timeout = 10000)] +#endif + public void Change_Window_Position() + { + var newWindowPosition = new PixelPoint(100, 150); + _window.Position = newWindowPosition; + _window.Show(); + Assert.True(_window.Position == newWindowPosition); + } #if NUNIT [TearDown]