|
|
@@ -100,6 +100,31 @@ namespace Avalonia.Controls.UnitTests
|
|
|
Assert.All(items, x => Assert.Same(theme, x.ItemContainerTheme));
|
|
|
}
|
|
|
|
|
|
+ [Fact]
|
|
|
+ public void Finds_Correct_DataTemplate_When_Application_DataTemplate_Is_Present()
|
|
|
+ {
|
|
|
+ // #10398
|
|
|
+ using var app = UnitTestApplication.Start();
|
|
|
+
|
|
|
+ Avalonia.Application.Current.DataTemplates.Add(new FuncDataTemplate<object>((x, _) => new Canvas()));
|
|
|
+ AvaloniaLocator.CurrentMutable.Bind<IGlobalDataTemplates>().ToConstant(Avalonia.Application.Current);
|
|
|
+
|
|
|
+ var target = new TreeView
|
|
|
+ {
|
|
|
+ Template = CreateTreeViewTemplate(),
|
|
|
+ Items = CreateTestTreeData(),
|
|
|
+ };
|
|
|
+
|
|
|
+ var root = new TestRoot(target);
|
|
|
+
|
|
|
+ CreateNodeDataTemplate(target);
|
|
|
+ ApplyTemplates(target);
|
|
|
+
|
|
|
+ Assert.Equal(new[] { "Root" }, ExtractItemHeader(target, 0));
|
|
|
+ Assert.Equal(new[] { "Child1", "Child2", "Child3" }, ExtractItemHeader(target, 1));
|
|
|
+ Assert.Equal(new[] { "Grandchild2a" }, ExtractItemHeader(target, 2));
|
|
|
+ }
|
|
|
+
|
|
|
[Fact]
|
|
|
public void Root_ItemContainerGenerator_Containers_Should_Be_Root_Containers()
|
|
|
{
|