feat: add drawer and dialog headless test.
This commit is contained in:
@@ -9,12 +9,45 @@ namespace HeadlessTest.Ursa.Controls.OverlayShared.Dialog_Primary_Focus;
|
|||||||
public class Test
|
public class Test
|
||||||
{
|
{
|
||||||
[AvaloniaFact]
|
[AvaloniaFact]
|
||||||
public void Normal_Dialog_Focus_On_Border()
|
public async Task Normal_Drawer_Focus_On_Border()
|
||||||
|
{
|
||||||
|
var ursaWindow = new TestWindow();
|
||||||
|
ursaWindow.Show();
|
||||||
|
ursaWindow.InvokeNormalDrawer();
|
||||||
|
Dispatcher.UIThread.RunJobs();
|
||||||
|
await Task.Delay(500);
|
||||||
|
var dialog = ursaWindow.GetVisualDescendants().OfType<DefaultDrawerControl>().FirstOrDefault();
|
||||||
|
Assert.NotNull(dialog);
|
||||||
|
var border = dialog.GetVisualDescendants().OfType<Border>().FirstOrDefault(a=>a.Name == "PART_Root");
|
||||||
|
var text = dialog.GetVisualDescendants().OfType<TextBox>().FirstOrDefault();
|
||||||
|
Assert.True(border?.IsFocused);
|
||||||
|
Assert.False(text?.IsFocused);
|
||||||
|
}
|
||||||
|
|
||||||
|
[AvaloniaFact]
|
||||||
|
public async Task Focus_Drawer_Focus_On_Primary()
|
||||||
|
{
|
||||||
|
var ursaWindow = new TestWindow();
|
||||||
|
ursaWindow.Show();
|
||||||
|
ursaWindow.InvokeFocusDrawer();
|
||||||
|
Dispatcher.UIThread.RunJobs();
|
||||||
|
await Task.Delay(500);
|
||||||
|
var dialog = ursaWindow.GetVisualDescendants().OfType<DefaultDrawerControl>().FirstOrDefault();
|
||||||
|
Assert.NotNull(dialog);
|
||||||
|
var border = dialog.GetVisualDescendants().OfType<Border>().FirstOrDefault(a=>a.Name == "PART_Root");
|
||||||
|
var text = dialog.GetVisualDescendants().OfType<TextBox>().FirstOrDefault();
|
||||||
|
Assert.False(border?.IsFocused);
|
||||||
|
Assert.True(text?.IsFocused);
|
||||||
|
}
|
||||||
|
|
||||||
|
[AvaloniaFact]
|
||||||
|
public async Task Normal_Dialog_Focus_On_Border()
|
||||||
{
|
{
|
||||||
var ursaWindow = new TestWindow();
|
var ursaWindow = new TestWindow();
|
||||||
ursaWindow.Show();
|
ursaWindow.Show();
|
||||||
ursaWindow.InvokeNormalDialog();
|
ursaWindow.InvokeNormalDialog();
|
||||||
Dispatcher.UIThread.RunJobs();
|
Dispatcher.UIThread.RunJobs();
|
||||||
|
await Task.Delay(100);
|
||||||
var dialog = ursaWindow.GetVisualDescendants().OfType<DefaultDialogControl>().FirstOrDefault();
|
var dialog = ursaWindow.GetVisualDescendants().OfType<DefaultDialogControl>().FirstOrDefault();
|
||||||
Assert.NotNull(dialog);
|
Assert.NotNull(dialog);
|
||||||
var border = dialog.GetVisualDescendants().OfType<Border>().FirstOrDefault(a=>a.Name == "PART_Border");
|
var border = dialog.GetVisualDescendants().OfType<Border>().FirstOrDefault(a=>a.Name == "PART_Border");
|
||||||
@@ -24,12 +57,13 @@ public class Test
|
|||||||
}
|
}
|
||||||
|
|
||||||
[AvaloniaFact]
|
[AvaloniaFact]
|
||||||
public void Focus_Dialog_Focus_On_Primary()
|
public async Task Focus_Dialog_Focus_On_Primary()
|
||||||
{
|
{
|
||||||
var ursaWindow = new TestWindow();
|
var ursaWindow = new TestWindow();
|
||||||
ursaWindow.Show();
|
ursaWindow.Show();
|
||||||
ursaWindow.InvokeFocusDialog();
|
ursaWindow.InvokeFocusDialog();
|
||||||
Dispatcher.UIThread.RunJobs();
|
Dispatcher.UIThread.RunJobs();
|
||||||
|
await Task.Delay(100);
|
||||||
var dialog = ursaWindow.GetVisualDescendants().OfType<DefaultDialogControl>().FirstOrDefault();
|
var dialog = ursaWindow.GetVisualDescendants().OfType<DefaultDialogControl>().FirstOrDefault();
|
||||||
Assert.NotNull(dialog);
|
Assert.NotNull(dialog);
|
||||||
var border = dialog.GetVisualDescendants().OfType<Border>().FirstOrDefault(a=>a.Name == "PART_Border");
|
var border = dialog.GetVisualDescendants().OfType<Border>().FirstOrDefault(a=>a.Name == "PART_Border");
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using Ursa.Controls;
|
using Ursa.Controls;
|
||||||
|
using Ursa.Controls.Options;
|
||||||
|
|
||||||
namespace HeadlessTest.Ursa.Controls.OverlayShared.Dialog_Primary_Focus;
|
namespace HeadlessTest.Ursa.Controls.OverlayShared.Dialog_Primary_Focus;
|
||||||
|
|
||||||
@@ -9,15 +10,27 @@ public partial class TestWindow : UrsaWindow
|
|||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void InvokeNormalDrawer()
|
||||||
|
{
|
||||||
|
Drawer.ShowModal<NormalDialog, object>("Hello World",
|
||||||
|
options: new DrawerOptions() { TopLevelHashCode = GetHashCode() });
|
||||||
|
}
|
||||||
|
|
||||||
|
public void InvokeFocusDrawer()
|
||||||
|
{
|
||||||
|
Drawer.ShowModal<FocusDialog, object>("Hello World",
|
||||||
|
options: new DrawerOptions() { TopLevelHashCode = GetHashCode() });
|
||||||
|
}
|
||||||
|
|
||||||
public void InvokeNormalDialog()
|
public void InvokeNormalDialog()
|
||||||
{
|
{
|
||||||
OverlayDialog.ShowModal<NormalDialog, object>("Hello World",
|
OverlayDialog.ShowModal<NormalDialog, object>("Hello World",
|
||||||
options: new OverlayDialogOptions { TopLevelHashCode = GetHashCode() });
|
options: new OverlayDialogOptions() { TopLevelHashCode = GetHashCode() });
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InvokeFocusDialog()
|
public void InvokeFocusDialog()
|
||||||
{
|
{
|
||||||
OverlayDialog.ShowModal<FocusDialog, object>("Hello World",
|
OverlayDialog.ShowModal<FocusDialog, object>("Hello World",
|
||||||
options: new OverlayDialogOptions { TopLevelHashCode = GetHashCode() });
|
options: new OverlayDialogOptions() { TopLevelHashCode = GetHashCode() });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user