From 080638e079a96862822650effed34d8382e6340e Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Thu, 3 Mar 2016 20:29:00 +0100 Subject: [PATCH] Ensure DataTemplate contents can be named. --- .../Perspex.Markup.Xaml.UnitTests.csproj | 1 + .../Xaml/DataTemplateTests.cs | 40 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 tests/Perspex.Markup.Xaml.UnitTests/Xaml/DataTemplateTests.cs diff --git a/tests/Perspex.Markup.Xaml.UnitTests/Perspex.Markup.Xaml.UnitTests.csproj b/tests/Perspex.Markup.Xaml.UnitTests/Perspex.Markup.Xaml.UnitTests.csproj index 870b2d1561..f9b43771f1 100644 --- a/tests/Perspex.Markup.Xaml.UnitTests/Perspex.Markup.Xaml.UnitTests.csproj +++ b/tests/Perspex.Markup.Xaml.UnitTests/Perspex.Markup.Xaml.UnitTests.csproj @@ -105,6 +105,7 @@ + diff --git a/tests/Perspex.Markup.Xaml.UnitTests/Xaml/DataTemplateTests.cs b/tests/Perspex.Markup.Xaml.UnitTests/Xaml/DataTemplateTests.cs new file mode 100644 index 0000000000..bf754914dc --- /dev/null +++ b/tests/Perspex.Markup.Xaml.UnitTests/Xaml/DataTemplateTests.cs @@ -0,0 +1,40 @@ +// Copyright (c) The Perspex Project. All rights reserved. +// Licensed under the MIT license. See licence.md file in the project root for full license information. + +using Perspex.Controls; +using Perspex.Controls.Presenters; +using Perspex.UnitTests; +using Xunit; + +namespace Perspex.Markup.Xaml.UnitTests.Xaml +{ + public class DataTemplateTests + { + [Fact] + public void DataTemplate_Can_Contain_Name() + { + using (UnitTestApplication.Start(TestServices.StyledWindow)) + { + var xaml = @" + + + + + + + +"; + var loader = new PerspexXamlLoader(); + var window = (Window)loader.Load(xaml); + var target = window.FindControl("target"); + + window.ApplyTemplate(); + target.ApplyTemplate(); + ((ContentPresenter)target.Presenter).UpdateChild(); + + Assert.IsType(target.Presenter.Child); + } + } + } +}