From d7572721a4221f7b5a71b009edf9e8abc02a3543 Mon Sep 17 00:00:00 2001 From: Dong Bin Date: Fri, 10 Jan 2025 21:13:37 +0800 Subject: [PATCH] test: add static a11y test. --- .../FormAccessibilityTests.cs | 27 +++++++++++++++++++ .../AccessibilityTests/StaticForm.axaml | 13 +++++++++ .../AccessibilityTests/StaticForm.axaml.cs | 13 +++++++++ .../HeadlessTest.Ursa.csproj | 1 - 4 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 tests/HeadlessTest.Ursa/Controls/FormTests/AccessibilityTests/FormAccessibilityTests.cs create mode 100644 tests/HeadlessTest.Ursa/Controls/FormTests/AccessibilityTests/StaticForm.axaml create mode 100644 tests/HeadlessTest.Ursa/Controls/FormTests/AccessibilityTests/StaticForm.axaml.cs diff --git a/tests/HeadlessTest.Ursa/Controls/FormTests/AccessibilityTests/FormAccessibilityTests.cs b/tests/HeadlessTest.Ursa/Controls/FormTests/AccessibilityTests/FormAccessibilityTests.cs new file mode 100644 index 0000000..e73e96e --- /dev/null +++ b/tests/HeadlessTest.Ursa/Controls/FormTests/AccessibilityTests/FormAccessibilityTests.cs @@ -0,0 +1,27 @@ +using Avalonia.Controls; +using Avalonia.Headless; +using Avalonia.Headless.XUnit; +using Avalonia.Input; + +namespace HeadlessTest.Ursa.Controls.FormTests.AccessibilityTests; + +public class FormAccessibilityTests +{ + [AvaloniaFact] + public void Form_Inner_Control_Accessible() + { + var window = new Window(); + var form = new StaticForm(); + window.Content = form; + window.Show(); + + Assert.False(form.NameBox.IsFocused); + Assert.False(form.EmailBox.IsFocused); + window.KeyPressQwerty(PhysicalKey.N, RawInputModifiers.Alt); + Assert.True(form.NameBox.IsFocused); + Assert.False(form.EmailBox.IsFocused); + window.KeyPressQwerty(PhysicalKey.E, RawInputModifiers.Alt); + Assert.False(form.NameBox.IsFocused); + Assert.True(form.EmailBox.IsFocused); + } +} \ No newline at end of file diff --git a/tests/HeadlessTest.Ursa/Controls/FormTests/AccessibilityTests/StaticForm.axaml b/tests/HeadlessTest.Ursa/Controls/FormTests/AccessibilityTests/StaticForm.axaml new file mode 100644 index 0000000..d20690b --- /dev/null +++ b/tests/HeadlessTest.Ursa/Controls/FormTests/AccessibilityTests/StaticForm.axaml @@ -0,0 +1,13 @@ + + + + + + diff --git a/tests/HeadlessTest.Ursa/Controls/FormTests/AccessibilityTests/StaticForm.axaml.cs b/tests/HeadlessTest.Ursa/Controls/FormTests/AccessibilityTests/StaticForm.axaml.cs new file mode 100644 index 0000000..d3729d0 --- /dev/null +++ b/tests/HeadlessTest.Ursa/Controls/FormTests/AccessibilityTests/StaticForm.axaml.cs @@ -0,0 +1,13 @@ +using Avalonia; +using Avalonia.Controls; +using Avalonia.Markup.Xaml; + +namespace HeadlessTest.Ursa.Controls.FormTests.AccessibilityTests; + +public partial class StaticForm : UserControl +{ + public StaticForm() + { + InitializeComponent(); + } +} \ No newline at end of file diff --git a/tests/HeadlessTest.Ursa/HeadlessTest.Ursa.csproj b/tests/HeadlessTest.Ursa/HeadlessTest.Ursa.csproj index 977c521..63bbc71 100644 --- a/tests/HeadlessTest.Ursa/HeadlessTest.Ursa.csproj +++ b/tests/HeadlessTest.Ursa/HeadlessTest.Ursa.csproj @@ -4,7 +4,6 @@ net8.0 enable enable - false true