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");