diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs
index 0982730741..7e7d5fb917 100644
--- a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs
+++ b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs
@@ -110,6 +110,53 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
Assert.Contains(bar, panel.Children);
}
+ [Fact]
+ public void ControlTemplate_With_Nested_Child_Is_Operational()
+ {
+ var xaml = @"
+
+
+
+
+
+";
+ var template = AvaloniaXamlLoader.Parse(xaml);
+
+ var parent = (ContentControl)template.Build(new ContentControl());
+
+ Assert.Equal("parent", parent.Name);
+
+ var child = parent.Content as ContentControl;
+
+ Assert.NotNull(child);
+
+ Assert.Equal("child", child.Name);
+ }
+
+ [Fact]
+ public void ControlTemplate_With_Panel_Children_Are_Added()
+ {
+ var xaml = @"
+
+
+
+
+
+
+";
+ var template = AvaloniaXamlLoader.Parse(xaml);
+
+ var panel = (Panel)template.Build(new ContentControl());
+
+ Assert.Equal(2, panel.Children.Count);
+
+ var foo = panel.Children[0];
+ var bar = panel.Children[1];
+
+ Assert.Equal("Foo", foo.Name);
+ Assert.Equal("Bar", bar.Name);
+ }
+
[Fact]
public void Named_x_Control_Is_Added_To_NameScope_Simple()
{
@@ -174,6 +221,66 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
Assert.Equal(100.0, setters[1].Value);
}
+ [Fact]
+ public void Complex_Style_Is_Parsed()
+ {
+ using (UnitTestApplication.Start(TestServices.StyledWindow))
+ {
+ var xaml = @"
+
+
+
+";
+ var styles = AvaloniaXamlLoader.Parse(xaml);
+
+ Assert.Equal(1, styles.Count);
+
+ var style = (Style)styles[0];
+
+ var setters = style.Setters.Cast().ToArray();
+
+ Assert.Equal(3, setters.Length);
+
+ Assert.Equal(CheckBox.BorderBrushProperty, setters[0].Property);
+ Assert.Equal(CheckBox.BorderThicknessProperty, setters[1].Property);
+ Assert.Equal(CheckBox.TemplateProperty, setters[2].Property);
+
+ Assert.IsType(setters[0].Value);
+ Assert.IsType(setters[1].Value);
+ Assert.IsType(setters[2].Value);
+ }
+ }
+
[Fact]
public void Style_Resources_Are_Build()
{