From b2a473d2861706eff7c33c96cf3ea3a4d67876ec Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Thu, 20 Aug 2020 23:06:26 +0200 Subject: [PATCH] More integration of new SelectionModel. --- .../Primitives/SelectingItemsControl.cs | 3 +-- .../Primitives/SelectingItemsControlTests.cs | 17 +++++++++++------ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/Avalonia.Controls/Primitives/SelectingItemsControl.cs b/src/Avalonia.Controls/Primitives/SelectingItemsControl.cs index df31708c17..43ae4cefe7 100644 --- a/src/Avalonia.Controls/Primitives/SelectingItemsControl.cs +++ b/src/Avalonia.Controls/Primitives/SelectingItemsControl.cs @@ -2,7 +2,6 @@ using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; -using System.Diagnostics; using System.Linq; using Avalonia.Controls.Generators; using Avalonia.Controls.Selection; @@ -183,7 +182,7 @@ namespace Avalonia.Controls.Primitives _selection = CreateDefaultSelectionModel(); InitializeSelectionModel(_selection); } - + return _selection; } set diff --git a/tests/Avalonia.Controls.UnitTests/Primitives/SelectingItemsControlTests.cs b/tests/Avalonia.Controls.UnitTests/Primitives/SelectingItemsControlTests.cs index 3a0a915558..ac2e3f7874 100644 --- a/tests/Avalonia.Controls.UnitTests/Primitives/SelectingItemsControlTests.cs +++ b/tests/Avalonia.Controls.UnitTests/Primitives/SelectingItemsControlTests.cs @@ -781,6 +781,8 @@ namespace Avalonia.Controls.UnitTests.Primitives target.Items = items; ((ISupportInitialize)target).EndInit(); + Prepare(target); + Assert.Equal(1, target.SelectedIndex); Assert.Equal("Bar", target.SelectedItem); } @@ -796,6 +798,8 @@ namespace Avalonia.Controls.UnitTests.Primitives target.Items = items; ((ISupportInitialize)target).EndInit(); + Prepare(target); + Assert.Equal(1, target.SelectedIndex); Assert.Equal("Bar", target.SelectedItem); } @@ -1079,7 +1083,7 @@ namespace Avalonia.Controls.UnitTests.Primitives Assert.Equal("Bar", target.SelectedItem); } - [Fact(Skip = "We don't handle this properly yet")] + [Fact] public void Binding_SelectedIndex_Selects_Correct_Item() { // Issue #4496 (part 2) @@ -1099,9 +1103,8 @@ namespace Avalonia.Controls.UnitTests.Primitives [!ListBox.SelectedIndexProperty] = other[!ListBox.SelectedIndexProperty], }; + Prepare(other); Prepare(target); - other.ApplyTemplate(); - other.Presenter.ApplyTemplate(); items.Add("Foo"); @@ -1109,7 +1112,7 @@ namespace Avalonia.Controls.UnitTests.Primitives Assert.Equal(0, target.SelectedIndex); } - [Fact(Skip = "We don't handle this properly yet")] + [Fact] public void Binding_SelectedItem_Selects_Correct_Item() { // Issue #4496 (part 2) @@ -1160,8 +1163,8 @@ namespace Avalonia.Controls.UnitTests.Primitives items[1] = "Qux"; - Assert.Equal(1, target.SelectedIndex); - Assert.Equal("Qux", target.SelectedItem); + Assert.Equal(-1, target.SelectedIndex); + Assert.Null(target.SelectedItem); } [Fact] @@ -1243,6 +1246,8 @@ namespace Avalonia.Controls.UnitTests.Primitives target.SelectedItem = "Bar"; target.EndInit(); + Prepare(target); + Assert.Equal("Bar", target.SelectedItem); Assert.Equal(1, target.SelectedIndex); Assert.Same(selectedItems, target.SelectedItems);