diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs
index f20faa2287..16685c5d2d 100644
--- a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs
+++ b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs
@@ -281,70 +281,6 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
Assert.Equal(expected4, grid.RowDefinitions[3].Height);
}
- [Fact]
- public void ControlTemplate_With_Nested_Child_Is_Operational()
- {
- var xaml = @"
-
-
-
-
-
-";
- var template = AvaloniaRuntimeXamlLoader.Parse(xaml);
-
- var parent = (ContentControl)template.Build(new ContentControl()).Control;
-
- Assert.Equal("parent", parent.Name);
-
- var child = parent.Content as ContentControl;
-
- Assert.NotNull(child);
-
- Assert.Equal("child", child.Name);
- }
-
- [Fact]
- public void ControlTemplate_With_TargetType_Is_Operational()
- {
- var xaml = @"
-
-
-
-";
- var template = AvaloniaRuntimeXamlLoader.Parse(xaml);
-
- Assert.Equal(typeof(ContentControl), template.TargetType);
-
- Assert.IsType(typeof(ContentPresenter), template.Build(new ContentControl()).Control);
- }
-
- [Fact]
- public void ControlTemplate_With_Panel_Children_Are_Added()
- {
- var xaml = @"
-
-
-
-
-
-
-";
- var template = AvaloniaRuntimeXamlLoader.Parse(xaml);
-
- var panel = (Panel)template.Build(new ContentControl()).Control;
-
- 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()
{
@@ -361,7 +297,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
}
[Fact]
- public void Standart_TypeConverter_Is_Used()
+ public void Standard_TypeConverter_Is_Used()
{
var xaml = @"";
diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/ControlTemplateTests.cs b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/ControlTemplateTests.cs
new file mode 100644
index 0000000000..fbb16d9f2e
--- /dev/null
+++ b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/ControlTemplateTests.cs
@@ -0,0 +1,143 @@
+using Avalonia.Controls;
+using Avalonia.Controls.Presenters;
+using Avalonia.Data;
+using Avalonia.Diagnostics;
+using Avalonia.Markup.Xaml.Templates;
+using Avalonia.Media;
+using Avalonia.UnitTests;
+using Xunit;
+
+namespace Avalonia.Markup.Xaml.UnitTests.Xaml
+{
+ public class ControlTemplateTests : XamlTestBase
+ {
+ [Fact]
+ public void Inline_ControlTemplate_Values_Are_Set_With_Style_Priority()
+ {
+ using (UnitTestApplication.Start(TestServices.StyledWindow))
+ {
+ var xaml = @"
+
+
+";
+ var window = (Window)AvaloniaRuntimeXamlLoader.Load(xaml);
+ var button = (Button)window.Content;
+
+ window.ApplyTemplate();
+ button.ApplyTemplate();
+
+ var presenter = (ContentPresenter)button.Presenter;
+ Assert.Equal(Brushes.Red, presenter.Background);
+
+ var diagnostic = presenter.GetDiagnostic(Button.BackgroundProperty);
+ Assert.Equal(BindingPriority.Style, diagnostic.Priority);
+ }
+ }
+
+ [Fact]
+ public void Style_ControlTemplate_Values_Are_Set_With_Style_Priority()
+ {
+ using (UnitTestApplication.Start(TestServices.StyledWindow))
+ {
+ var xaml = @"
+
+
+
+
+
+";
+ var window = (Window)AvaloniaRuntimeXamlLoader.Load(xaml);
+ var button = (Button)window.Content;
+
+ window.ApplyTemplate();
+ button.ApplyTemplate();
+
+ var presenter = (ContentPresenter)button.Presenter;
+ Assert.Equal(Brushes.Red, presenter.Background);
+
+ var diagnostic = presenter.GetDiagnostic(Button.BackgroundProperty);
+ Assert.Equal(BindingPriority.Style, diagnostic.Priority);
+ }
+ }
+
+ [Fact]
+ public void ControlTemplate_With_Nested_Child_Is_Operational()
+ {
+ var xaml = @"
+
+
+
+
+
+";
+ var template = AvaloniaRuntimeXamlLoader.Parse(xaml);
+
+ var parent = (ContentControl)template.Build(new ContentControl()).Control;
+
+ Assert.Equal("parent", parent.Name);
+
+ var child = parent.Content as ContentControl;
+
+ Assert.NotNull(child);
+
+ Assert.Equal("child", child.Name);
+ }
+
+ [Fact]
+ public void ControlTemplate_With_TargetType_Is_Operational()
+ {
+ var xaml = @"
+
+
+
+";
+ var template = AvaloniaRuntimeXamlLoader.Parse(xaml);
+
+ Assert.Equal(typeof(ContentControl), template.TargetType);
+
+ Assert.IsType(typeof(ContentPresenter), template.Build(new ContentControl()).Control);
+ }
+
+ [Fact]
+ public void ControlTemplate_With_Panel_Children_Are_Added()
+ {
+ var xaml = @"
+
+
+
+
+
+
+";
+ var template = AvaloniaRuntimeXamlLoader.Parse(xaml);
+
+ var panel = (Panel)template.Build(new ContentControl()).Control;
+
+ 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);
+ }
+ }
+}