|
|
|
@ -1091,6 +1091,46 @@ namespace Avalonia.Controls.UnitTests |
|
|
|
Assert.True(called); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void SelectedItem_Should_Be_Valid_When_SelectedItemChanged_Event_Raised() |
|
|
|
{ |
|
|
|
using (Application()) |
|
|
|
{ |
|
|
|
var tree = CreateTestTreeData(); |
|
|
|
var target = new TreeView |
|
|
|
{ |
|
|
|
Template = CreateTreeViewTemplate(), |
|
|
|
ItemsSource = tree, |
|
|
|
}; |
|
|
|
|
|
|
|
var visualRoot = new TestRoot(); |
|
|
|
visualRoot.Child = target; |
|
|
|
|
|
|
|
CreateNodeDataTemplate(target); |
|
|
|
ApplyTemplates(target); |
|
|
|
ExpandAll(target); |
|
|
|
|
|
|
|
var item = tree[0].Children[1].Children[0]; |
|
|
|
var container = (TreeViewItem)target.TreeContainerFromItem(item); |
|
|
|
|
|
|
|
Assert.NotNull(container); |
|
|
|
|
|
|
|
var called = false; |
|
|
|
target.SelectionChanged += (s, e) => |
|
|
|
{ |
|
|
|
Assert.Same(item, e.AddedItems[0]); |
|
|
|
Assert.Same(item, target.SelectedItem); |
|
|
|
called = true; |
|
|
|
}; |
|
|
|
|
|
|
|
_mouse.Click(container); |
|
|
|
|
|
|
|
Assert.Equal(item, target.SelectedItem); |
|
|
|
Assert.True(container.IsSelected); |
|
|
|
Assert.True(called); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Bound_SelectedItem_Should_Not_Be_Cleared_when_Changing_Selection() |
|
|
|
|