|
|
|
@ -724,6 +724,86 @@ namespace Avalonia.Controls.UnitTests |
|
|
|
Assert.True(called); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Removing_Selected_Root_Item_Should_Clear_Selection() |
|
|
|
{ |
|
|
|
using var app = Start(); |
|
|
|
var data = CreateTestTreeData(); |
|
|
|
var target = CreateTarget(data: data); |
|
|
|
var item = data[0]; |
|
|
|
|
|
|
|
target.SelectedItem = item; |
|
|
|
|
|
|
|
data.RemoveAt(0); |
|
|
|
|
|
|
|
Assert.Null(target.SelectedItem); |
|
|
|
Assert.Empty(target.SelectedItems); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Resetting_Root_Items_Should_Clear_Selection() |
|
|
|
{ |
|
|
|
using var app = Start(); |
|
|
|
var data = CreateTestTreeData(); |
|
|
|
var target = CreateTarget(data: data); |
|
|
|
var item = data[0]; |
|
|
|
|
|
|
|
target.SelectedItem = item; |
|
|
|
|
|
|
|
data.Clear(); |
|
|
|
|
|
|
|
Assert.Null(target.SelectedItem); |
|
|
|
Assert.Empty(target.SelectedItems); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Removing_Selected_Child_Item_Should_Clear_Selection() |
|
|
|
{ |
|
|
|
using var app = Start(); |
|
|
|
var data = CreateTestTreeData(); |
|
|
|
var target = CreateTarget(data: data); |
|
|
|
var item = data[0].Children[1]; |
|
|
|
|
|
|
|
target.SelectedItem = item; |
|
|
|
|
|
|
|
data[0].Children.RemoveAt(1); |
|
|
|
|
|
|
|
Assert.Null(target.SelectedItem); |
|
|
|
Assert.Empty(target.SelectedItems); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Replacing_Selected_Child_Item_Should_Clear_Selection() |
|
|
|
{ |
|
|
|
using var app = Start(); |
|
|
|
var data = CreateTestTreeData(); |
|
|
|
var target = CreateTarget(data: data); |
|
|
|
var item = data[0].Children[1]; |
|
|
|
|
|
|
|
target.SelectedItem = item; |
|
|
|
|
|
|
|
data[0].Children[1] = new Node(); |
|
|
|
|
|
|
|
Assert.Null(target.SelectedItem); |
|
|
|
Assert.Empty(target.SelectedItems); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Clearing_Child_Items_Should_Clear_Selection() |
|
|
|
{ |
|
|
|
using var app = Start(); |
|
|
|
var data = CreateTestTreeData(); |
|
|
|
var target = CreateTarget(data: data); |
|
|
|
var item = data[0].Children[1]; |
|
|
|
|
|
|
|
target.SelectedItem = item; |
|
|
|
|
|
|
|
data[0].Children.Clear(); |
|
|
|
|
|
|
|
Assert.Null(target.SelectedItem); |
|
|
|
Assert.Empty(target.SelectedItems); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void SelectedItem_Should_Be_Valid_When_SelectedItemChanged_Event_Raised() |
|
|
|
{ |
|
|
|
|