diff --git a/tests/HeadlessTest.Ursa/Controls/OverlayShared/Case_Close_Dialog_Clear_Content_Parent/Test.cs b/tests/HeadlessTest.Ursa/Controls/OverlayShared/Case_Close_Dialog_Clear_Content_Parent/Test.cs new file mode 100644 index 0000000..548e400 --- /dev/null +++ b/tests/HeadlessTest.Ursa/Controls/OverlayShared/Case_Close_Dialog_Clear_Content_Parent/Test.cs @@ -0,0 +1,27 @@ +using Avalonia; +using Avalonia.Controls; +using Avalonia.Headless; +using Avalonia.Headless.XUnit; +using Avalonia.Input; +using Avalonia.Threading; + +namespace HeadlessTest.Ursa.Controls.OverlayShared.Case_Close_Dialog_Clear_Content_Parent; + +public class Test +{ + [AvaloniaFact] + public void Dialog_Parent_Is_Cleared_After_Close() + { + var ursaWindow = new TestWindow(); + ursaWindow.Show(); + var button = ursaWindow.FindControl + diff --git a/tests/HeadlessTest.Ursa/Controls/OverlayShared/Case_Close_Dialog_Clear_Content_Parent/TestWindow.axaml.cs b/tests/HeadlessTest.Ursa/Controls/OverlayShared/Case_Close_Dialog_Clear_Content_Parent/TestWindow.axaml.cs new file mode 100644 index 0000000..ee54018 --- /dev/null +++ b/tests/HeadlessTest.Ursa/Controls/OverlayShared/Case_Close_Dialog_Clear_Content_Parent/TestWindow.axaml.cs @@ -0,0 +1,32 @@ +using Avalonia.Controls; +using Avalonia.Interactivity; +using Irihi.Avalonia.Shared.Contracts; +using Ursa.Controls; + +namespace HeadlessTest.Ursa.Controls.OverlayShared.Case_Close_Dialog_Clear_Content_Parent; + +public partial class TestWindow : UrsaWindow +{ + public TestWindow() + { + InitializeComponent(); + } + + internal TextBox TextBox = new TextBox(); + internal DialogViewModel DialogViewModel = new DialogViewModel(); + + private void Button_OnClick(object? sender, RoutedEventArgs e) + { + OverlayDialog.Show(TextBox, DialogViewModel); + } +} + +class DialogViewModel : IDialogContext +{ + public void Close() + { + RequestClose?.Invoke(this, null); + } + + public event EventHandler? RequestClose; +} \ No newline at end of file