Browse Source

Added failing test for #3328.

pull/3342/head
Steven Kirk 7 years ago
parent
commit
14ed1fd571
  1. 34
      tests/Avalonia.Controls.UnitTests/TreeViewTests.cs

34
tests/Avalonia.Controls.UnitTests/TreeViewTests.cs

@ -971,6 +971,40 @@ namespace Avalonia.Controls.UnitTests
}
}
[Fact]
public void Removing_TreeView_From_Root_Should_Preserve_TreeViewItems()
{
// Issue #3328
var tree = CreateTestTreeData();
var target = new TreeView
{
Template = CreateTreeViewTemplate(),
Items = tree,
};
var root = new TestRoot();
root.Child = target;
CreateNodeDataTemplate(target);
ApplyTemplates(target);
ExpandAll(target);
Assert.Equal(5, target.ItemContainerGenerator.Index.Containers.Count());
root.Child = null;
Assert.Equal(5, target.ItemContainerGenerator.Index.Containers.Count());
Assert.Equal(1, target.Presenter.Panel.Children.Count);
var rootNode = Assert.IsType<TreeViewItem>(target.Presenter.Panel.Children[0]);
Assert.Equal(3, rootNode.ItemContainerGenerator.Containers.Count());
Assert.Equal(3, rootNode.Presenter.Panel.Children.Count);
var child2Node = Assert.IsType<TreeViewItem>(rootNode.Presenter.Panel.Children[1]);
Assert.Equal(1, child2Node.ItemContainerGenerator.Containers.Count());
Assert.Equal(1, child2Node.Presenter.Panel.Children.Count);
}
private void ApplyTemplates(TreeView tree)
{
tree.ApplyTemplate();

Loading…
Cancel
Save