diff --git a/tests/HeadlessTest.Ursa/Controls/DrawerTests/CloseEventTest/DrawerCloseTestPopupControl.axaml b/tests/HeadlessTest.Ursa/Controls/DrawerTests/CloseEventTest/DrawerCloseTestPopupControl.axaml
new file mode 100644
index 0000000..bcedc99
--- /dev/null
+++ b/tests/HeadlessTest.Ursa/Controls/DrawerTests/CloseEventTest/DrawerCloseTestPopupControl.axaml
@@ -0,0 +1,11 @@
+
+
+
\ No newline at end of file
diff --git a/tests/HeadlessTest.Ursa/Controls/DrawerTests/CloseEventTest/DrawerCloseTestPopupControl.axaml.cs b/tests/HeadlessTest.Ursa/Controls/DrawerTests/CloseEventTest/DrawerCloseTestPopupControl.axaml.cs
new file mode 100644
index 0000000..7f9bec4
--- /dev/null
+++ b/tests/HeadlessTest.Ursa/Controls/DrawerTests/CloseEventTest/DrawerCloseTestPopupControl.axaml.cs
@@ -0,0 +1,43 @@
+using System;
+using System.ComponentModel;
+using System.IO;
+using System.Runtime.CompilerServices;
+using Avalonia;
+using Avalonia.Controls;
+using Avalonia.Interactivity;
+using Avalonia.Markup.Xaml;
+using Ursa.Controls;
+
+namespace HeadlessTest.Ursa.Controls;
+
+public partial class DrawerCloseTestPopupControl : UserControl
+{
+ public DrawerCloseTestPopupControl()
+ {
+ InitializeComponent();
+ _overlayDialogHost.HostId = _hostid;
+ }
+
+ private readonly string _hostid = Path.GetRandomFileName();
+ public DrawerCloseTestPopupControl Popup { get; set; }
+ public int LResult { get; set; }
+ public int RResult { get; set; }
+
+ public async void OpenPopup()
+ {
+ var vm = new DrawerCloseTestPopupControlVM();
+ LResult = vm.Result;
+ RResult = await Drawer.ShowCustomModal(Popup = new(), vm, _hostid);
+ }
+
+ public void ClosePopup()
+ {
+ (Popup.DataContext as DrawerCloseTestPopupControlVM)?.Close();
+ }
+
+
+ public void Close()
+ {
+ (DataContext as DrawerCloseTestPopupControlVM)?.Close();
+ }
+}
\ No newline at end of file
diff --git a/tests/HeadlessTest.Ursa/Controls/DrawerTests/CloseEventTest/DrawerCloseTestPopupControlVM.cs b/tests/HeadlessTest.Ursa/Controls/DrawerTests/CloseEventTest/DrawerCloseTestPopupControlVM.cs
new file mode 100644
index 0000000..33e8eac
--- /dev/null
+++ b/tests/HeadlessTest.Ursa/Controls/DrawerTests/CloseEventTest/DrawerCloseTestPopupControlVM.cs
@@ -0,0 +1,15 @@
+using Irihi.Avalonia.Shared.Contracts;
+
+namespace HeadlessTest.Ursa.Controls;
+
+public class DrawerCloseTestPopupControlVM : IDialogContext
+{
+ public void Close()
+ {
+ RequestClose?.Invoke(this, Result);
+ }
+
+ public int Result { get; } = Random.Shared.Next();
+
+ public event EventHandler