From 035f4f0e55ba6115d6d064c5cbcb6eed91983ada Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Thu, 9 Feb 2023 12:02:18 +0100 Subject: [PATCH] Added failing integration tests for #10232. --- samples/IntegrationTestApp/MainWindow.axaml | 1 + .../ComboBoxTests.cs | 61 ++++++++++++++++++- 2 files changed, 60 insertions(+), 2 deletions(-) diff --git a/samples/IntegrationTestApp/MainWindow.axaml b/samples/IntegrationTestApp/MainWindow.axaml index b116e4c789..4e5a8463df 100644 --- a/samples/IntegrationTestApp/MainWindow.axaml +++ b/samples/IntegrationTestApp/MainWindow.axaml @@ -70,6 +70,7 @@ Item 0 Item 1 + Wrap Selection diff --git a/tests/Avalonia.IntegrationTests.Appium/ComboBoxTests.cs b/tests/Avalonia.IntegrationTests.Appium/ComboBoxTests.cs index abdb4e2dd8..8df7873582 100644 --- a/tests/Avalonia.IntegrationTests.Appium/ComboBoxTests.cs +++ b/tests/Avalonia.IntegrationTests.Appium/ComboBoxTests.cs @@ -47,7 +47,64 @@ namespace Avalonia.IntegrationTests.Appium } [PlatformFact(TestPlatforms.Windows)] - public void Can_Change_Selection_With_Keyboard() + public void Can_Change_Selection_With_Keyboard_When_Closed() + { + var comboBox = _session.FindElementByAccessibilityId("BasicComboBox"); + var wrap = _session.FindElementByAccessibilityId("ComboBoxWrapSelection"); + + if (wrap.GetIsChecked() != false) + wrap.Click(); + + _session.FindElementByAccessibilityId("ComboBoxSelectionClear").Click(); + + comboBox.SendKeys(Keys.ArrowDown); + Assert.Equal("Item 0", comboBox.GetComboBoxValue()); + + comboBox.SendKeys(Keys.ArrowDown); + Assert.Equal("Item 1", comboBox.GetComboBoxValue()); + + comboBox.SendKeys(Keys.ArrowDown); + Assert.Equal("Item 1", comboBox.GetComboBoxValue()); + + comboBox.SendKeys(Keys.ArrowUp); + Assert.Equal("Item 0", comboBox.GetComboBoxValue()); + + comboBox.SendKeys(Keys.ArrowUp); + Assert.Equal("Item 0", comboBox.GetComboBoxValue()); + } + + [PlatformFact(TestPlatforms.Windows)] + public void Can_Change_Wrapping_Selection_With_Keyboard_When_Closed() + { + var comboBox = _session.FindElementByAccessibilityId("BasicComboBox"); + var wrap = _session.FindElementByAccessibilityId("ComboBoxWrapSelection"); + + if (wrap.GetIsChecked() != true) + wrap.Click(); + + _session.FindElementByAccessibilityId("ComboBoxSelectionClear").Click(); + + comboBox.SendKeys(Keys.ArrowDown); + Assert.Equal("Item 0", comboBox.GetComboBoxValue()); + + comboBox.SendKeys(Keys.ArrowDown); + Assert.Equal("Item 1", comboBox.GetComboBoxValue()); + + comboBox.SendKeys(Keys.ArrowDown); + Assert.Equal("Item 0", comboBox.GetComboBoxValue()); + + comboBox.SendKeys(Keys.ArrowDown); + Assert.Equal("Item 1", comboBox.GetComboBoxValue()); + + comboBox.SendKeys(Keys.ArrowUp); + Assert.Equal("Item 0", comboBox.GetComboBoxValue()); + + comboBox.SendKeys(Keys.ArrowUp); + Assert.Equal("Item 1", comboBox.GetComboBoxValue()); + } + + [PlatformFact(TestPlatforms.Windows)] + public void Can_Change_Selection_When_Open_With_Keyboard() { var comboBox = _session.FindElementByAccessibilityId("BasicComboBox"); @@ -64,7 +121,7 @@ namespace Avalonia.IntegrationTests.Appium } [PlatformFact(TestPlatforms.Windows)] - public void Can_Change_Selection_With_Keyboard_From_Unselected() + public void Can_Change_Selection_When_Open_With_Keyboard_From_Unselected() { var comboBox = _session.FindElementByAccessibilityId("BasicComboBox");