Fixes #3106: Combo Box selection fixes (#3117)

* Search selected item on filtered set

* Fix unit test - don't return first item when combobox is not focused or showed

* Improve method readability

* Clean selection from previous search

* Update unit test - after changing search text unselect previously selected item
This commit is contained in:
Maciej
2024-01-04 01:07:33 +01:00
committed by GitHub
parent 8954fa5ecf
commit 3d829d71db
2 changed files with 12 additions and 9 deletions

View File

@@ -215,17 +215,17 @@ Three
Assert.True (cb.NewKeyDownEvent (new (KeyCode.CursorDown))); // losing focus
Assert.False (cb.HasFocus);
Assert.False (cb.IsShow);
Assert.Equal (0, cb.SelectedItem);
Assert.Equal (-1, cb.SelectedItem);
Assert.Equal ("One", cb.Text);
Application.Top.FocusFirst (); // Gets focus again
Assert.True (cb.HasFocus);
Assert.False (cb.IsShow);
Assert.Equal (0, cb.SelectedItem);
Assert.Equal (-1, cb.SelectedItem);
Assert.Equal ("One", cb.Text);
Assert.True (cb.NewKeyDownEvent (new (KeyCode.U | KeyCode.CtrlMask)));
Assert.True (cb.HasFocus);
Assert.True (cb.IsShow);
Assert.Equal (0, cb.SelectedItem);
Assert.Equal (-1, cb.SelectedItem);
Assert.Equal ("", cb.Text);
Assert.Equal (3, cb.Source.Count);
}
@@ -256,7 +256,7 @@ Three
Assert.Equal ("One", cb.Text);
cb.Text = "T";
Assert.True (cb.IsShow);
Assert.Equal (0, cb.SelectedItem);
Assert.Equal (-1, cb.SelectedItem);
Assert.Equal ("T", cb.Text);
Assert.True (cb.NewKeyDownEvent (new (KeyCode.Enter)));
Assert.False (cb.IsShow);