4 changed files with 54 additions and 0 deletions
@ -0,0 +1,45 @@ |
|||||
|
// -----------------------------------------------------------------------
|
||||
|
// <copyright file="TemplateExtensionsTests.cs" company="Steven Kirk">
|
||||
|
// Copyright 2014 MIT Licence. See licence.md for more information.
|
||||
|
// </copyright>
|
||||
|
// -----------------------------------------------------------------------
|
||||
|
|
||||
|
namespace Perspex.Controls.Templates.UnitTests |
||||
|
{ |
||||
|
using System.Linq; |
||||
|
using Perspex.Controls; |
||||
|
using Perspex.Controls.Templates; |
||||
|
using Perspex.Controls.UnitTests; |
||||
|
using Xunit; |
||||
|
|
||||
|
public class TemplateExtensionsTests |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// Control templates can themselves contain templated controls. Make sure that
|
||||
|
/// GetTemplateChildren returns only controls that have a TemplatedParent of the
|
||||
|
/// control that is being searched.
|
||||
|
/// </summary>
|
||||
|
[Fact] |
||||
|
public void GetTemplateChildren_Should_Not_Return_Nested_Template_Controls() |
||||
|
{ |
||||
|
var target = new TestTemplatedControl(); |
||||
|
var border1 = new Border { Id = "border1", TemplatedParent = target }; |
||||
|
var inner = new TestTemplatedControl { Id = "inner", TemplatedParent = target }; |
||||
|
var border2 = new Border { Id = "border2", TemplatedParent = inner }; |
||||
|
var border3 = new Border { Id = "border3", TemplatedParent = inner }; |
||||
|
var border4 = new Border { Id = "border4", TemplatedParent = target }; |
||||
|
var border5 = new Border { Id = "border5", TemplatedParent = null }; |
||||
|
|
||||
|
target.AddVisualChild(border1); |
||||
|
border1.Content = inner; |
||||
|
inner.AddVisualChild(border2); |
||||
|
inner.AddVisualChild(border3); |
||||
|
border3.Content = border4; |
||||
|
border4.Content = border5; |
||||
|
|
||||
|
var result = target.GetTemplateChildren().Select(x => x.Id).ToArray(); |
||||
|
|
||||
|
Assert.Equal(new[] { "border1", "inner", "border4" }, result); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue